Nim icon indicating copy to clipboard operation
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...

Results 713 Nim issues
Sort by recently updated
recently updated
newest added
trafficstars

### 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...

Generics

### 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...

Standard Library

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:...

Templates

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...

Type Sections
Regression

### 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,...