SirOlaf
246267aa52
Exclude block from endsInNoReturn, fix regression ( #22632 )
...
Co-authored-by: SirOlaf <>
(cherry picked from commit d2f36c071b )
2023-09-15 19:49:57 +02:00
SirOlaf
ce8d9dd1cb
Fix #22604 : Make endsInNoReturn traverse the tree ( #22612 )
...
* Rewrite endsInNoReturn
* Handle `try` stmt again and add tests
* Fix unreachable code warning
* Remove unreachable code in semexprs again
* Check `it.len` before skip
* Move import of assertions
---------
Co-authored-by: SirOlaf <>
(cherry picked from commit 3b206ed988 )
2023-09-15 12:58:20 +02:00
ringabout
4fc535fbd6
fixes #17197 ; fixes #22560 ; fixes the dest of newSeqOfCap in refc ( #22594 )
...
(cherry picked from commit 5bd1afc3f9 )
2023-09-15 12:58:20 +02:00
metagn
d37901fe06
fix getNullValue for cstring in VM, make other VM code aware of nil cstring ( #22527 )
...
* fix getNullValue for cstring in VM
fixes #22524
* very ugly fixes, but fix #15730
* nil cstring len works, more test lines
* fix high
(cherry picked from commit 942f846f04 )
2023-09-15 09:10:56 +02:00
Andreas Rumpf
d80397c7d7
fixes #22138 ( #22221 )
...
(cherry picked from commit 86ff37fab8 )
2023-09-14 17:02:49 +02:00
Juan M Gómez
efa3479e4e
reset macrocache after each script evaluation ( #22195 )
...
(cherry picked from commit 2f109595e9 )
2023-09-14 16:59:13 +02:00
ringabout
e8ec3efd3d
allow addressing elements of openArray[char] in VM ( #22045 )
...
allow addressing elements of openArray[char]
(cherry picked from commit a8d0dda833 )
2023-09-14 14:07:08 +02:00
metagn
8f102f9e62
retain forced open undeclared ident information ( #22019 )
...
(cherry picked from commit ce72b564bc )
2023-09-14 14:04:43 +02:00
ringabout
876f6d69a8
fixes #21974 ; fixes sameConstant fieldDefect ( #21981 )
...
* fixes #21974 ; fixes sameConstant fieldDefect
* add a test case
(cherry picked from commit 8e35b3d577 )
2023-09-14 14:04:43 +02:00
heterodoxic
50173ec7ec
prevent spamming of thread local forward declarations in C/C++ output ( #21955 )
...
(cherry picked from commit f47b27d532 )
2023-09-14 14:03:47 +02:00
metagn
ecab260330
underscore as special word ( #21766 )
...
* underscore as special word
* fix really hard to notice error
(cherry picked from commit ca82b4ea16 )
2023-09-14 13:09:43 +02:00
ringabout
43ce0558b4
handle quoted routine symbols and non symbols expressions as before ( #21740 )
...
(cherry picked from commit 560fa9a1fe )
2023-09-14 12:00:47 +02:00
narimiran
19b3f8c0ea
Revert "fixes #16790 ; fixes #19075 ; put big arrays on the constant seqs; don't inline them in the VM; big performance boost ( #21318 )"
...
This reverts commit 7ad8c44e28 .
2023-09-14 06:03:34 +02:00
SirOlaf
5ad4b72ac7
Fix #17509 : Continue instead of return with unfinished generics ( #22563 )
...
Close #17509
Current knowledge:
- delaying cache fixes the issue
- changing return of `if inst.len < key.len:` in `searchInstTypes` to
`continue` fixes the issue. With return the broken types are also cached
over and over
Related issues are completely unaffected as of now, so there must be
something deeper.
I am also still trying to find the true cause, so feel free to ignore
for now
---------
Co-authored-by: SirOlaf <>
(cherry picked from commit ee4a219012 )
2023-09-12 09:24:33 +02:00
metagn
79a1990774
use dummy dest for void branches to fix noreturn in VM ( #22617 )
...
fixes #22216
(cherry picked from commit 2542dc09c8 )
2023-09-12 09:24:33 +02:00
metagn
106cde1ff8
unify explicit generic param semchecking in calls ( #22618 )
...
fixes #9040
(cherry picked from commit 6738f44af3 )
2023-09-12 09:24:33 +02:00
metagn
965eeb68e2
handle typedesc params in VM ( #22581 )
...
* handle typedesc params in VM
fixes #15760
* add test
* fix getType(typedesc) test
(cherry picked from commit 2e4e2f8f50 )
2023-09-11 21:33:48 +02:00
metagn
0dbac38d12
clearer error for different size int/float cast in VM ( #22582 )
...
refs #16547
(cherry picked from commit b6cea7b599 )
2023-09-11 21:33:42 +02:00
metagn
f16e4dd22a
correct logic for qualified symbol in templates ( #22577 )
...
* correct logic for qualified symbol in templates
fixes #19865
* add test
(cherry picked from commit 3de8d75513 )
2023-09-11 21:33:35 +02:00
Bung
69faab3cf6
fix #22548;environment misses for type reference in iterator access n… ( #22559 )
...
* fix #22548;environment misses for type reference in iterator access nested in closure
* fix #21737
* Update lambdalifting.nim
* remove containsCallKinds
* simplify
(cherry picked from commit 0b78b7f595 )
2023-09-11 21:32:58 +02:00
SirOlaf
b7a1210964
Fix #21532 : Check if template return is untyped ( #22517 )
...
* Don't ignore return in semTemplateDef
* Add test
---------
Co-authored-by: SirOlaf <>
(cherry picked from commit 3de75ffc02 )
2023-09-11 21:32:22 +02:00
Jason Beetham
60dc41a5e4
When in object handles procedure call again, fixes #22474 ( #22480 )
...
Ping @narimiran please backport to the 2.0 line.
(cherry picked from commit 6c4e7835bf )
2023-09-11 21:31:32 +02:00
Bung
f55f3d6ffd
Fix #5780 ( #22428 )
...
* fix #5780
(cherry picked from commit 46e94c83d4 )
2023-09-11 21:30:06 +02:00
Jake Leahy
118f83f965
Fix crash when using uninstantiated generic ( #22379 )
...
* Add test case
* Add in a bounds check when accessing generic types
Removes idnex out of bounds exception when comparing a generic that isn't fully instantiated
(cherry picked from commit 3efabd3ec6 )
2023-09-11 20:41:29 +02:00
SirOlaf
30921aaff5
Check try block for endsInNoReturn ( #22314 )
...
Co-authored-by: SirOlaf <>
(cherry picked from commit 62869a5c68 )
2023-09-11 20:41:28 +02:00
SirOlaf
a3b65da80f
Open scope for defer ( #22315 )
...
Co-authored-by: SirOlaf <>
(cherry picked from commit 3ebe24977c )
2023-09-11 20:41:28 +02:00
ringabout
ba2d8ba468
fixes #22297 ; return in the finally in the closure iterators ( #22300 )
...
ref #22297 ; return in the finally in the closure iterators
(cherry picked from commit b02c1dd6ca )
2023-09-11 20:41:28 +02:00
Anna
0ac3461c7d
Fix #22281 ( #22289 )
...
Respect `--gcc.exe` and similar options when `--genScript:on` is used.
(cherry picked from commit 14a9929464 )
2023-09-11 20:24:58 +02:00
ringabout
e7fc94e130
gendepends now supports pkgs2 ( #22277 )
...
(cherry picked from commit 3b377937de )
2023-09-11 20:24:21 +02:00
ringabout
44708f4b01
fixes #22237 ; fixes #21160 ; wrong cursor on unowned parameters in the for loop in ORC ( #22240 )
...
fixes #22237 ; fixes #21160 ; wrong cursor on unowned parameters
(cherry picked from commit ecc6ab7ee0 )
2023-09-11 20:24:11 +02:00
Jake Leahy
5ffd507014
Fix nimsuggest not showing suggestions for imported tuples ( #22241 )
...
* Add tests
Also test if exported all tuple fields works. This seems like a hacky solution so will try and dive further to find a better solution
* Always suggest tuple fields if it passes the filter
If the tuple we are accessing is in scope then all the fields will also be in scope
* Update tests so line numbers are correct
(cherry picked from commit 1b132ddaa2 )
2023-09-11 13:52:59 +02:00
Andreas Rumpf
322fc31041
fixes #22137 ( #22170 )
...
(cherry picked from commit ce0909f047 )
2023-09-11 13:52:59 +02:00
metagn
5e4648232b
make var object match better than object ( #22152 )
...
* fix `var object` not matching better than `object`
fixes #13302
* remove comment for brevity
* try note
* try minimize breaks
(cherry picked from commit 20037a4749 )
2023-09-11 13:52:59 +02:00
ringabout
3bd03d71a0
fixes #21110 ; duplicate proc definitions for inline iters ( #21136 )
...
fixes #21110 ; duplicate proc definitions for iters
(cherry picked from commit 88114948c4 )
2023-09-11 13:52:58 +02:00
ringabout
238efc025e
fixes #21231 ; template with module as parameter elides usage/checking of module name specifier ( #22109 )
...
* fixes #21231 ; template with module as parameter elides usage/checking of module name specifier
* add a test case
(cherry picked from commit ac7b8b678c )
2023-09-11 13:52:58 +02:00
Andreas Rumpf
9d573f4a1d
fixes #16331 ; aliasing of tuple construction within a single assignme… ( #22113 )
...
* fixes #16331 ; aliasing of tuple construction within a single assignment, great coding style
* added test case
(cherry picked from commit e8d0f1c3ae )
2023-09-11 13:52:58 +02:00
ringabout
070ecb036c
fixes #22049 ; fixes #22054 ; implicit conversion keeps varness ( #22097 )
...
* fixes #22054 ; codegen for var tuples conv
* rethink fixes
* add test cases
* templates only
* fixes var tuples
* keep varness no matter what
* fixes typ.isNil
* make it work for generics
* restore isSubrange
* add a test case as requested
(cherry picked from commit 77beb15214 )
2023-09-11 13:52:58 +02:00
metagn
107ec62baf
consider object types as declarative in templates ( #22106 )
...
* consider object types as declarative in templates
fixes #16005
* correct logic for nkRecList children, inject fields
* don't actually inject fields
(cherry picked from commit 3ac2d81601 )
2023-09-11 13:52:58 +02:00
ringabout
ffcccd5986
clean up isNilConversion for seqs, strings ( #22057 )
...
(cherry picked from commit 49e11d9dcc )
2023-09-11 12:02:29 +02:00
Juan Carlos
c001b11320
Improve compiler messages ( #22040 )
...
* Improve compiler messages
(cherry picked from commit ea91cfb305 )
2023-09-11 12:02:29 +02:00
Juan Carlos
e4c13c3fd4
Improve compiler messages ( #22028 )
...
* Improve compiler messages with simpler code
(cherry picked from commit 9f3d1b1290 )
2023-09-11 12:02:29 +02:00
heterodoxic
6b11a9ec28
fixes #15428 by updating deep open array copy codegen ( #21935 )
...
* fix #15428
* add test
(cherry picked from commit af3fd5a010 )
2023-09-11 12:02:28 +02:00
Bung
173a15b370
fix #21251 Compiler SIGSEGV when using SharedTable ( #21876 )
...
fix #21251
(cherry picked from commit 76a98fee65 )
2023-09-11 12:02:28 +02:00
Jason Beetham
c4380107d6
Fixed generic parameters failing to be used in inheritance ( #21866 )
...
(cherry picked from commit 28a116a477 )
2023-09-11 12:02:28 +02:00
ringabout
fcaacbf374
cursor fields cannot form reference cycles ( #21832 )
...
* cursor fields cannot form a reference cycle
* fixes typo
* fixes position
(cherry picked from commit ebbad9e960 )
2023-09-11 10:54:35 +02:00
metagn
547f205794
error on user pragma args ( #21776 )
...
closes #20978
(cherry picked from commit 44736d26cd )
2023-09-11 10:54:34 +02:00
metagn
cd0f805832
cheap fix for #10853 + better tuple subscript error message ( #21767 )
...
* cheap fix for #10853
* also better tuple subscript error message
* weird
(cherry picked from commit c2bcfd8cd9 )
2023-09-11 10:54:34 +02:00
ringabout
579efdabb0
fixes #21703 ; moveOrCopy should consider when vm ( #21721 )
...
(cherry picked from commit 0f226c0e48 )
2023-09-11 10:54:34 +02:00
metagn
7b99712bcf
fix iterator equality + add test for proc equality + fix sameType ( #21707 )
...
* fix iterator equality + add test also for procs
fixes #21706
* all targets
* and isNil and repr
* separate overloads, fix sameType
* more restricted sameType?
* merge overloads again??
* remove sametype change for now
* fix sameType anyway (CI failure was not related)
---------
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
(cherry picked from commit 380dafcc32 )
2023-09-11 10:54:34 +02:00
ringabout
01ef1e1500
fixes #22208 ; Ambiguous error when import modules with same names but… ( #22211 )
...
fixes #22208 ; Ambiguous error when import modules with same names but different aliases
(cherry picked from commit d9a24b9b81 )
2023-08-11 12:41:50 +02:00