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 ```nim import std/macros template p {.pragma.} type X {.p.} = object Y[T] = object t: T echo Y[X].T echo Y[X].T.hasCustomPragma(p) ``` ### Nim Version % nim -v Nim...
### Summary Hello, This is a followup of #23700. Today, union defined inside a struct cannot be expressed correctly in nim. ### Description Sometimes, C struct definition can have a...
### Description ```nim import std/os echo joinPath(".", "a") echo joinPath("b", "..", "a") echo joinPath(".", "..") echo joinPath("./", "a") echo joinPath("./", "..") echo joinPath(".", "a", "b") echo joinPath("./a", "b") echo joinPath("x/..",...
### Description Hello, I see the SigAction struct of posix miss the field `sa_sigaction*: proc (x: cint, y: ptr SigInfo, z: pointer) {.noconv.}` for amd64 https://github.com/nim-lang/Nim/blob/767a901267c782765e010d106fae277b27e04981/lib/posix/posix_linux_amd64.nim#L304-L313 However, I have tested...
fixes #23700: Also for: - openbsd, freebsd, netbsd, dragonfly - macos
### Description ```nim when nimvm: proc mytest(a: int) = echo a else: template mytest(a: int) = echo a + 42 proc xxx() = mytest(100) ``` the vm symbol shouldn't be...
### Description If a template with untyped params is overloaded, then when the variant with `untyped` param is called, such a argument (symbol) will be resolved there. ```Nim template t(n:...
fixes #23689 When an identifier expression expects an enum type, when looking up the identifier as a symbol, type symbols are ignored, i.e. ```nim type Foo = enum A, B...
### Description Until recently the compiler was able to correctly infer the code below, however, in the current devel the compiler reports an error ```nim type MyEnum {.pure.} = enum...
### Summary [`jobserver`](https://www.gnu.org/software/make/manual/html_node/Job-Slots) is a protocol for sharing parallel execution slots between parts of the compilation pipeline and nim should participate. ### Description When compiling 2 nim programs in parallel,...