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
ringabout
2d529edf3e
fixes #22541 ; peg matchLen can raise an unlisted exception: Exception ( #22545 )
...
The `mopProc` is a recursive function.
(cherry picked from commit c56a712e7d )
2023-09-15 09:10:56 +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
ringabout
dc59e67a12
fixes bareExcept warnings; catch specific exceptions ( #21119 )
...
* fixes bareExcept warnings; catch specific exceptions
* Update lib/pure/coro.nim
(cherry picked from commit 9207d77848 )
2023-09-15 08:39:22 +02:00
ringabout
09f7be13b6
fixes #22262 ; fixes -d:useMalloc broken with --mm:none and --threads on ( #22355 )
...
* fixes #22262 ; -d:useMalloc broken with --mm:none and threads on
* fixes
(cherry picked from commit a23e53b490 )
2023-09-15 08:37:31 +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
Amjad Ben Hedhili
d7dfbf026b
Remove some unnecessary initialization in string operations ( #22579 )
...
* `prepareAdd`
* `toNimStr`
* `setLengthStrV2`
* `NimAsgnStrV2`
* `prepareMutation`
* Some cleanups
(cherry picked from commit a4df44d9fb )
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
metagn
ede6bc4d67
define toList procs after add for lists [backport] ( #22573 )
...
fixes #22543
(cherry picked from commit 94454addb2 )
2023-09-11 21:33:21 +02:00
ringabout
d2f91ab1b9
newStringOfCap now won't initialize all elements anymore ( #22568 )
...
newStringOfCap nows won't initialize all elements anymore
(cherry picked from commit 2e7c8a339f )
2023-09-11 21:33:13 +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
ringabout
0d5999e6a8
fixes #22481 ; fixes card undefined misalignment behavior ( #22484 )
...
* fixes `card` undefined misalignment behavior
* Update lib/system/sets.nim
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit ade75a1483 )
2023-09-11 21:31:40 +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
Emery Hemingway
ba5d873f63
Add Linux constant SO_BINDTODEVICE ( #22468 )
...
(cherry picked from commit 1927ae72d0 )
2023-09-11 21:31:20 +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
Eric N. Vander Weele
72afd29a9a
Remove declared and not used variable in packedsets.bitincl ( #22334 )
...
When compiling code that uses PackedSet with warnings enabled, `var ret`
in `bitincl` emits a "XDeclaredButNotUsed" warning.
(cherry picked from commit f1ac979184 )
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
narimiran
0e9250264b
fix wrong import
2023-09-11 16:10:50 +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
Jacek Sieka
5ab9945345
fix Sigaction struct definition ( #22160 )
...
SigInfo is still wrong (most of its fields are in a union)
(cherry picked from commit 47635d3031 )
2023-09-11 13:52:59 +02:00
Jacek Sieka
b0cee7c0c5
uint arithmetic for pointers ( #22159 )
...
pointers are not signed and arithmetic may correctly cross int.max
threshold
this PR only fixes 2 occurances - there are plenty however in the std
lib
(cherry picked from commit cb40f11e6c )
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
Bung
a66158dd3d
fix #20023 hash for generic tables ( #20346 )
...
* fix #20023 hash for generic tables
* use default computation
* Update lib/pure/collections/tables.nim
Co-authored-by: Dan Rose <dan@digilabs.io >
* Update lib/pure/collections/tables.nim
Co-authored-by: Dan Rose <dan@digilabs.io >
* Update lib/pure/collections/tables.nim
* Update lib/pure/collections/tables.nim
* Update t20023.nim
---------
Co-authored-by: Dan Rose <dan@digilabs.io >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit 3ad2e7df1c )
2023-09-11 13:52:58 +02:00
Zoom
6863b5d289
strutils.split/rsplit now return src on an empty sep (#22136 )
...
This is a rebase of an earlier rejected PR. Following the discussion
around it, this commit provides a valid output for and edge case
of an empty separator for `split` and `rsplit` routines. The empty
separator is interpreted as "split by no separators" and the initial
string is returned. This is consistent with the behaviour of the
`set[char]` version of `split`/`rsplit` routines and unifies them all.
Compared to a commit merged earlier, this one has a benefit of
not using assertions that will be removed in release builds
and thus still not preventing possible infinite loops (which was the
earlier behaviour for this edge case for separator of type `string`).
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit 5e529b3bfa )
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