| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
* fix #12558
* Update compiler/pragmas.nim
|
| |
|
|
|
|
|
| |
* fix #15706 Underflow not detected when using dec on distinct ranges
* fix #15846 first, jsgen even doesn't care of range in this op
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make `requiresInit` pragma to work for distinct types in addition to
objects. Tagging of distinct types with `requiresInit` pragma was
already supported, but its impact wasn't applied. Now its behavior when
applied on distinct types is as follows.
Given the following distinct type definitions:
```nim
type
DistinctObject {.requiresInit, borrow: `.`.} = distinct MyObject
DistinctString {.requiresInit.} = distinct string
```
The following code blocks will fail to compile:
```nim
var foo: DistinctFoo
foo.x = "test"
doAssert foo.x == "test"
```
```nim
var s: DistinctString
s = "test"
doAssert s == "test"
```
But these ones will compile successfully:
```nim
let foo = DistinctFoo(Foo(x: "test"))
doAssert foo.x == "test"
```
```nim
let s = "test"
doAssert s == "test"
```
|
|
|
|
|
|
|
|
|
| |
* close #9679
* close #7546
* close #9520
* close #6177
|
|
|
|
|
| |
* fix #15609
* fix test
|
|
|
|
|
|
|
|
|
| |
* close #11142
* fix #12636
* undo unwanted changes
* fix illegal recursion case
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* add parseEnumRange
* fix runnable example
* update changelog
* use parseEnumRange in compiler
* reorganise code
* add changelog, make single normalizer argument
|
| |
|
|
|
|
|
|
|
|
|
| |
* follow #15818 and close #7109
* Update compiler/jsgen.nim
Co-authored-by: Juan Carlos <juancarlospaco@gmail.com>
Co-authored-by: Juan Carlos <juancarlospaco@gmail.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* fix
* minor
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`--threads:off` mode ) pragmas supports for JS backend (#15772)
* add global pragma support for js backend
* globalThis
* add support for threadvar
* more tests
* Update compiler/jsgen.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
| |
* canAlias improvement
* fix comment
|
|
|
|
|
| |
* fix #7658
* more
|
| |
|
|
|
|
|
| |
* fix #15756
* simplify test
|
|
|
|
| |
(#15697)
|
| |
|
|
|
|
|
|
|
| |
show `kind` with --declaredLocs (#15673)
* honor --declaredLocs in more places, including type mismatch errors
* fix tests
* show declaration location also when type mismatch names clash
|
| |
|
| |
|
| |
|
|
|
|
| |
--experimental:views [backport:1.4] (#15737)
|
|
|
| |
When calling procs from Nim in Nimscript you could hit the VM iteration limit even though the code is functioning properly. This resolves that by making the iteration limit reset eachtime you call a proc.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix #15704 #15597 wrong VM register was freed
* same treatment for nkCheckedFieldExpr
* note concerning HighRegisterPressure
* bump NimPatch
* Update lib/system.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* refactoring: idents don't need inheritance
* refactoring: adding an IdGenerator (part 1)
* refactoring: adding an IdGenerator (part 2)
* refactoring: adding an IdGenerator (part 3)
* refactoring: adding an IdGenerator (part 4)
* refactoring: adding an IdGenerator (part 5)
* refactoring: adding an IdGenerator (part 5)
* IdGenerator must be a ref type; hello world works again
* make bootstrapping work again
* progress: add back the 'exactReplica' ideas
* added back the missing exactReplica hacks
* make tcompilerapi work again
* make important packages green
* attempt to fix the build for 32 bit machines (probably need a better solution here)
|
| |
|
|
|
| |
This reverts commit 3f00a738dbc8319b4dd2b86bf5529c096f2dd243.
|
|
|
|
|
|
|
| |
* fix #15662
* alternative fix
* fix spacing
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
* remove copyright Andreas Rumpf from cgen files
|
|
|
|
| |
[backport:1.4] (#15660)
|
| |
|
| |
|