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...
Originally encountered with an error [here](https://github.com/status-im/nimbus-eth1/pull/2684#issuecomment-2392895327). The routines named [`error`](https://nim-lang.org/docs/macros.html#error%2Cstring%2CNimNode), [`warning`](https://nim-lang.org/docs/macros.html#warning%2Cstring%2CNimNode) and [`hint`](https://nim-lang.org/docs/macros.html#hint%2Cstring%2CNimNode) in `macros` all take a single string argument and an optional NimNode argument for the line info,...
closes #13830, fixes #15334, fixes #18864 With the experimental switch `--experimental:typedTypeMacroPragma` (shortest name I could think of), macro pragmas in type definitions now receive a unary `nnkTypeSection` node as input...
### Description ```nim echo "hello world" ``` ```sh nim c --cc:tcc --threads:off main.nim ``` ### Nim Version 2.2.0 ### Current Output Nim generates 39,169 KB executable file. ### Expected Output...
refs https://github.com/nim-lang/RFCs/issues/475, refs #6676 Want to see how much this breaks, should have tried it sooner
I took an example from the Nim Manual's TRM section: https://nim-lang.org/docs/manual.html#term-rewriting-macros The example is almost as-is except that I added a `debugEcho` so that I know if/when the TRM is...
### Description # Test source ```nim # Very slow ... but very quick in nim-2.0.8(1.6.20 best)! #import std/lists import std/os #import std/strformat import strutils type ObjRef = ref object of...
### Example ```nim type A = concept proc test(x: Self, y: A) proc test(x: int, y: int) = discard discard (int is A) ``` ### Current Output The compiler crashes....
ARC generates bad C code for `Option` of a nested ref type. ### Example ```nim import options type Person = ref object parent: Option[Person] proc newPerson(parent: Option[Person]): Person = Person(parent:...
### Example ```nim import streams template testStream(arg: untyped): untyped = var ss = newStringStream() ss.write(arg) ss.flush() echo ss.data let ary = ['N', 'i', 'm', ' ', 'l', 'a', 'n', 'g',...
### Nim Version Nim Compiler Version 2.2.4 [Linux: amd64] Compiled at 2025-06-14 Copyright (c) 2006-2025 by Andreas Rumpf git hash: 7701b3c7e6f6c640a89cc445b40f466834ab4fcf active boot switches: ### Description This crashes the compiler:...