SirOlaf
d30565f810
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-18 12:13:00 +02:00
Amjad Ben Hedhili
5c916b645b
Remove some unnecessary initialization in string operations ( #22579 )
...
* `prepareAdd`
* `toNimStr`
* `setLengthStrV2`
* `NimAsgnStrV2`
* `prepareMutation`
* Some cleanups
(cherry picked from commit a4df44d9fb )
2023-09-18 12:13:00 +02:00
SirOlaf
9ad184841e
Exclude block from endsInNoReturn, fix regression ( #22632 )
...
Co-authored-by: SirOlaf <>
(cherry picked from commit d2f36c071b )
2023-09-18 12:13:00 +02:00
metagn
7536d7f94a
use dummy dest for void branches to fix noreturn in VM ( #22617 )
...
fixes #22216
(cherry picked from commit 2542dc09c8 )
2023-09-18 12:13:00 +02:00
metagn
ee0d3f9b34
unify explicit generic param semchecking in calls ( #22618 )
...
fixes #9040
(cherry picked from commit 6738f44af3 )
2023-09-18 12:13:00 +02:00
SirOlaf
d3cf815dbe
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-18 12:12:59 +02:00
ringabout
b477c2adcc
fixes #17197 ; fixes #22560 ; fixes the dest of newSeqOfCap in refc ( #22594 )
...
(cherry picked from commit 5bd1afc3f9 )
2023-09-18 12:12:59 +02:00
metagn
78d4aa3d01
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-18 12:12:59 +02:00
metagn
855f5c8b81
clearer error for different size int/float cast in VM ( #22582 )
...
refs #16547
(cherry picked from commit b6cea7b599 )
2023-09-18 12:12:59 +02:00
metagn
7ab0f3beec
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-18 12:12:59 +02:00
ringabout
ba8c9a9d1e
newStringOfCap now won't initialize all elements anymore ( #22568 )
...
newStringOfCap nows won't initialize all elements anymore
(cherry picked from commit 2e7c8a339f )
2023-09-18 12:12:59 +02:00
metagn
87c1200c93
test case haul for old generic/template/macro issues ( #22564 )
...
* test case haul for old generic/template/macro issues
closes #12582 , closes #19552 , closes #2465 , closes #4596 , closes #15246 ,
closes #12683 , closes #7889 , closes #4547 , closes #12415 , closes #2002 ,
closes #1771 , closes #5121
The test for #5648 is also moved into its own test
from `types/tissues_types` due to not being joinable.
* fix template gensym test
(cherry picked from commit c19fd69b69 )
2023-09-18 12:12:58 +02:00
ringabout
d46e71bea3
fixes #22541 ; peg matchLen can raise an unlisted exception: Exception ( #22545 )
...
The `mopProc` is a recursive function.
(cherry picked from commit c56a712e7d )
2023-09-18 12:12:58 +02:00
SirOlaf
4cf2658235
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-18 12:12:58 +02:00
metagn
5fa48e97b6
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-18 12:12:58 +02:00
ringabout
562fb0d14b
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-18 12:12:58 +02:00
Emery Hemingway
320ecc69a0
Add Linux constant SO_BINDTODEVICE ( #22468 )
...
(cherry picked from commit 1927ae72d0 )
2023-09-18 12:12:58 +02:00
Bung
106cf7a9f7
Fix #5780 ( #22428 )
...
* fix #5780
(cherry picked from commit 46e94c83d4 )
2023-09-18 10:13:38 +02:00
Jake Leahy
7221c6f156
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-18 10:13:27 +02:00
ringabout
4a7cdaecb4
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-18 10:13:09 +02:00
Amjad Ben Hedhili
81d58d2cc8
Make capacity work with refc [backport] ( #22697 )
...
followup of #19771 .
(cherry picked from commit 325341866f )
2023-09-14 06:02:46 +02:00
Andreas Rumpf
1080f5eba2
produce better code for object constructions and 'result' [backport] ( #22668 )
...
(cherry picked from commit 8f5b90f886 )
2023-09-14 06:02:30 +02:00
ringabout
18e62ad136
fixes #22619 ; don't lift cursor fields in the hook calls ( #22638 )
...
fixes https://github.com/nim-lang/Nim/issues/22619
It causes double free for closure iterators because cursor fields are
destroyed in the lifted destructors of `Env`.
Besides, according to the Nim manual
> In fact, cursor more generally prevents object
construction/destruction pairs and so can also be useful in other
contexts.
At least, destruction of cursor fields might cause troubles.
todo
- [x] tests
- [x] revert a certain old PR
---------
Co-authored-by: zerbina <100542850+zerbina@users.noreply.github.com >
(cherry picked from commit eb91cf991a )
2023-09-05 11:50:59 +02:00
metagn
f03aa1d0b5
define toList procs after add for lists [backport] ( #22573 )
...
fixes #22543
(cherry picked from commit 94454addb2 )
2023-09-05 11:50:41 +02:00
Daniel Belmes
ef63d47ecd
fix server caching issue causing Theme failures ( #22378 )
...
* fix server caching issue causing Theme failures
* Fix tester to ignore version cache param
* fix case of people using -d:nimTestsNimdocFixup
* rsttester needed the same fix
(cherry picked from commit 7bf7496557 )
2023-08-22 08:28:30 +02:00
ringabout
0a58af8cbf
fixes #22357 ; don't sink elements of var tuple cursors ( #22486 )
...
(cherry picked from commit 940b1607b8 )
2023-08-22 08:23:56 +02:00
Jason Beetham
8359f9683a
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-08-22 08:23:32 +02:00
ringabout
c3425c05e9
relax the parameter of ensureMove; allow let statements ( #22466 )
...
* relax the parameter of `ensureMove`; allow let statements
* fixes the test
(cherry picked from commit 4c89223171 )
2023-08-22 08:23:06 +02:00
Alberto Torres
3fa378533a
Fix #22366 by making nimlf_/nimln_ part of the same line (backport) ( #22508 )
2023-08-22 08:22:58 +02:00
Amjad Ben Hedhili
4850bb5a59
fix seq.capacity [backport] ( #22505 )
2023-08-22 08:22:42 +02:00
ringabout
037f536e7e
fixes #22419 ; async/closure environment does not align local variables ( #22425 )
...
* fixes #22419 ; async/closure environment does not align local variables
* Apply suggestions from code review
* Update tests/align/talign.nim
Co-authored-by: Jacek Sieka <arnetheduck@gmail.com >
* apply code review
* update tests
---------
Co-authored-by: Jacek Sieka <arnetheduck@gmail.com >
(cherry picked from commit 5334dc921f )
2023-08-11 10:49:49 +02:00
ringabout
287fbc5fb5
fixes #22387 ; Undefined behavior when with hash(...) ( #22404 )
...
* fixes #22387 ; Undefined behavior when with hash(...)
* fixes vm
* fixes nimscript
(cherry picked from commit 47d06d3d4c )
2023-08-11 10:49:30 +02:00
metagn
f553288db3
block ambiguous type conversion dotcalls in generics ( #22375 )
...
fixes #22373
(cherry picked from commit 3aaef9e4cf )
2023-08-11 10:49:11 +02:00
norrath-hero-cn
e0e386314f
fixes AddressSanitizer: global-buffer-overflow in getAppFilename on windows 10 ( #22380 )
...
fixes AddressSanitizer: global-buffer-overflow
(cherry picked from commit 73a29d72e3 )
2023-08-11 10:48:21 +02:00
Michal Maršálek
1de6a7a023
Fix the position of "Grey" in colors.nim ( #22358 )
...
Update the position of "Grey"
(cherry picked from commit da368885da )
2023-08-11 10:47:54 +02:00
narimiran
d1db4c29fa
bump NimVersion to 2.0.1
2023-08-11 10:47:05 +02:00
narimiran
a488067a41
bump NimVersion to 2.0.0
v2.0.0
2023-07-31 21:22:28 +02:00
Andreas Rumpf
35ff70f36c
Tomorrow is the release. I hope. ( #22353 )
2023-07-31 20:19:18 +02:00
ringabout
0b3ddd4e47
Revert "fixes #22246 ; generate __builtin_unreachable hints for case defaults" ( #22351 )
...
Revert "fixes #22246 ; generate `__builtin_unreachable` hints for case defaults (#22350 )"
This reverts commit b56df5c07f .
2023-07-31 22:14:15 +08:00
ringabout
b56df5c07f
fixes #22246 ; generate __builtin_unreachable hints for case defaults ( #22350 )
...
* fixes #22246 ; generate `__builtin_unreachable` hints
* use elif
* indentation
* fixes holy enums in sim
2023-07-31 16:02:52 +02:00
ringabout
569ccc50ff
fixes #22174 ; fixes destructor examples ( #22349 )
...
* fixes #22174 ; fixes destructor examples
* Update doc/destructors.md
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2023-07-31 15:37:24 +02:00
Bung
d51bc084fd
remove thread duplicated code ( #22348 )
2023-07-31 10:58:59 +02:00
ringabout
281016a802
add a changelog for ensureMove ( #22347 )
...
* add a changelog for `ensureMove`
* Update changelogs/changelog_2_0_0_details.md
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2023-07-30 20:43:52 +02:00
Juan Carlos
19d1fe7af3
Add Valgrind ( #22346 )
...
* .
* Add Valgrind for Bisect bot in GitHub Actions
2023-07-30 13:21:22 +08:00
Juan M Gómez
e70992d291
fixes an issue where byref wasnt properly handled when using it in a generic param ( #22337 )
...
* fixes an issue where byref wasnt properly handled when using it in a generic param
* removes unreachable check
2023-07-29 18:05:31 +02:00
ringabout
f0f3904ff0
implement ensureMove ( #22339 )
...
* implement `ensureMove`
* use an additional flag
* improve some logics
* progress: fixes discard ensureMove
* forbids nested expressions
* improve error messages
* checkpoint
* fixes cursor
* ADD MORE TESTS
* fixes cursorinference again
* tiny cleanup
* improve error messages
* fixes docs
* implement comments add more tests
* fixes js
2023-07-29 10:57:03 +02:00
Eric N. Vander Weele
f1ac979184
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.
2023-07-27 23:07:03 +02:00
konsumlamm
db77c98471
[JS] Fix bitwise ops & shifts ( #22340 )
...
* [JS] Fix bitwise ops & shifts
* Test `int64` & `uint64` only with `jsbigint64`
2023-07-27 23:06:30 +02:00
ringabout
11c8dfc9b3
fixes docs ( #22331 )
2023-07-26 10:04:34 +08:00
konsumlamm
c0994c2dbd
[JS] Fix casting to ints ( #22327 )
...
* [JS] Fix casting to ints
* Simplify `genCast` by using `asUintN`/`asIntN`
2023-07-25 17:56:14 +02:00