nimskull
nimskull copied to clipboard
An in development statically typed systems programming language; with sustainability at its core. We, the community of users, maintain it.
Create PR to merge relevant bits of https://github.com/nim-works/nimskull/pull/135
### Example ```nim type Object = object has: bool var wasDestroyed: bool proc `=destroy`(x: var Object) = if x.has: wasDestroyed = true proc create(doRaise: bool): Object = result = Object(has:...
## Summary Implement the goto-based control-flow primitives for the MIR -- as a consequence, destructor injection has to happen in `mirgen` already. The MIR is now similar/versatile enough to the...
### Example ```nim type Object = object has: bool var wasDestroyed = false proc `=destroy`(x: var Object) = if x.has: wasDestroyed = true proc f_sink(x: sink Object) = discard proc...
## Summary * what changed and how? * why are we changing it? --- ## Notes for Reviewers Prior as https://github.com/nim-lang/Nim/pull/19674. I don't know what I am doing. I only...
### Example ```nim var a: set[int8] = {1} var b: set[uint8] = {1} ``` ### Actual Output ``` Error: type mismatch: got 'set[range 0..65535(int)]' for '{1}' but expected 'set[int8]' ```...
Example: for a in b: echo a Traceback: /home/user/nimskull/compiler/nim.nim(89) handleCmdLine /home/user/nimskull/compiler/front/main.nim(539) mainCommand /home/user/nimskull/compiler/front/main.nim(491) compileToBackend /home/user/nimskull/compiler/front/main.nim(214) commandCompileToC /home/user/nimskull/compiler/modules/modules.nim(216) compileProject /home/user/nimskull/compiler/modules/modules.nim(132) compileModule /home/user/nimskull/compiler/sem/passes.nim(275) processModule /home/user/nimskull/compiler/sem/passes.nim(102) processTopLevelStmt /home/user/nimskull/compiler/sem/sem.nim(951) myProcess /home/user/nimskull/compiler/sem/sem.nim(868) semStmtAndGenerateGenerics /home/user/nimskull/compiler/sem/semstmts.nim(3386) semStmt...
Traceback: /home/user/nimskull/compiler/nim.nim(154) nim /home/user/nimskull/compiler/nim.nim(89) handleCmdLine /home/user/nimskull/compiler/front/main.nim(539) mainCommand /home/user/nimskull/compiler/front/main.nim(491) compileToBackend /home/user/nimskull/compiler/front/main.nim(217) commandCompileToC /home/user/nimskull/compiler/backend/cbackend.nim(406) generateCode /home/user/nimskull/compiler/backend/cbackend.nim(478) generateCode /home/user/nimskull/compiler/backend/cbackend.nim(289) emit /home/user/nimskull/lib/system/assertions.nim(38) failedAssertImpl /home/user/nimskull/lib/system/assertions.nim(28) raiseAssert /home/user/nimskull/lib/system/fatal.nim(50) sysFatal Error: unhandled exception: /home/user/nimskull/compiler/backend/cbackend.nim(289, 10) `prc.body.code !=...
## Summary Documentation will now be built using a separated workflow that will be run whenever publisher finishes. This allows us to use the latest page deployment code regardless of...
## Summary * `asyncjs` no longer uses JavaScript's `async` * `result` in `.async` procedures now works like it does everywhere else * `method`s can no longer use `.async` ## Details...