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 In generated c code, the field is of pointer type, while the assignment statement is trying to assign the value directly to the pointer ```nim {.experimental:"views".} type InnerVar2...
### Description I am familiarizing myself with the language by going through the manual. I am creating seperate nim files to test some of the stuff in the manual. [This...
### Description The following code should fail with an AssertionDefect error, but it does not. ```nim import std/asyncdispatch proc errval {.async.} = raise newException(ValueError, "err") proc err {.async.} = try:...
### Description The `and` function seems to only raise errors for the first async proc. ```nim import std/asyncdispatch proc ok {.async.} = discard proc err {.async.} = raise newException(ValueError, "err")...
### Description While working with some embedded code I noticed compilation errors from liberal use of templates. The minimal repro below shows the issue. The `double` template causes the `value`...
This code fails to compile with `Error: My template is invoked`: ```nim import algorithm template `
fixes #16376 Package PRs: - [combparser](https://github.com/PMunch/combparser/pull/6) (partial generic instantiation) - merged: [neo](https://github.com/andreaferretti/neo/pull/56) (trying to instantiate template with no generic param) - merged: [cligen](https://github.com/c-blake/cligen/pull/233) (partial generic instantiation but non-overloaded + template)...
### Description ``` /compiler/sem.nim(836) semStmtAndGenerateGenerics /compiler/semstmts.nim(2689) semStmt /compiler/semexprs.nim(1182) semExprNoType /compiler/semexprs.nim(3323) semExpr /compiler/semstmts.nim(2636) semStmtList /compiler/semexprs.nim(3356) semExpr /compiler/importer.nim(360) evalImport /compiler/importer.nim(328) impMod /compiler/importer.nim(293) myImportModule /compiler/passes.nim(201) importModule /compiler/passes.nim(172) compileModule /compiler/passes.nim(149) processModule /compiler/passes.nim(82) processTopLevelStmt /compiler/passes.nim(252)...
fixes #14623
ref https://github.com/andreaferretti/neo/pull/55