Nim
Nim copied to clipboard
Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, an...
### Description If a field in an object has an object variant type, the default value from that object variant type is ignored. ```nim type Enum = enum A, B...
### Description ```nim type X[T, E] = object m: T B = X[culonglong, cstring] S = ref object of RootObj proc j[T, E](m: X[T, E]): T = discard proc n(T:...
### Description The [murmurhash implemention](https://github.com/nim-lang/Nim/blob/77c04092e01c7f42b5697ec0ec9e71352f628023/lib/pure/hashes.nim#L306) uses 32-bit limbs (on 64-bit systems) and inserts range checking inside the loop causing it to perform extremely poorly due to branching and inability to...
### Description ```nim type U = object h: bool type K = object case h: bool of true, false: g: int let x = default(U) block: # This does build...
### Description The following snippet, of critical performance importance when working with [sum types](https://github.com/nim-lang/RFCs/issues/548), generates an inefficient copy, even though it can be seen that lifetimes are bounded in such...
### Summary In the std/logging module is a *addHandler* proc but a corresponding removeHandler seems to be missing ### Description I'd like to remove already added handlers :) ### Alternatives...
### Description ```nim var v: array[1, byte] echo v.toOpenArray(0'i8, -1'i8) ``` at runtime, this crashes with a Defect (!) ### Nim Version 2.0.6 ### Current Output ```text Error: conversion from...
### Summary When passing parameters to templates, subsitution may cause the parameter to be evaluated multiple times - warn when this happens ### Description ```nim proc f(): int = echo...
The following snippet works on Nim v2.0.6 but crashes on Nim-devel ```Nim import std/bitops # -------------------------------------------------------------- type SecretWord* = distinct uint64 const WordBitWidth* = sizeof(SecretWord) * 8 func wordsRequired*(bits: int):...