ringabout
55bb60a56b
fixes #22947 ; static integers in quote do [backport] ( #22948 )
...
fixes #22947
(cherry picked from commit 09ea1b168f )
2023-12-14 17:48:55 +01:00
Nikolay Nikolov
3a0d09c1c5
backport to version 2.0: display raises pragma in proc types ( #23026 ) ( #23028 )
...
This affects also nimsuggest hints (e.g. on mouse hover), as well as
compiler messages.
(cherry picked from commit 618ccb6b6a )
2023-12-04 09:46:57 +01:00
metagn
3ab6012c81
fix generic param substitution in templates ( #22535 )
...
* fix generic param substitution in templates
fixes #13527 , fixes #17240 , fixes #6340 , fixes #20033 , fixes #19576 , fixes #19076
* fix bare except in test, test updated packages in CI
(cherry picked from commit 1cc4d3f622 )
2023-12-01 08:27:06 +01:00
tersec
8834f3e74d
remove unnecessary side-effects from base64.encode(mime) ( #22986 )
...
Fixes https://github.com/nim-lang/Nim/issues/22985
(cherry picked from commit 26f2ea149c )
2023-11-26 07:15:40 +01:00
ringabout
86e5545c25
fixes #22866 ; fixes #19998 ; ensure destruction for Object construction with custom destructors ( #22901 )
...
fixes #22866 ;
fixes #19998
(cherry picked from commit b68e0aab4c )
2023-11-02 14:40:40 +01:00
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
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
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
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
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
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
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
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
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
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
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
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
ringabout
1c2ccfad08
fixes #22301 ; fixes #22324 ; rejects branch initialization with a runtime discriminator with defaults ( #22303 )
...
* fixes #22301 ; rejects branch initialization with a runtime discriminator with defaults
* undefault nimPreviewRangeDefault
* fixes tests
* use oldCheckDefault
2023-07-25 12:08:32 +02:00
Juan M Gómez
49a108b302
Expands codegenDecl to work in function params. fixes #22306 ( #22307 )
...
* Expands codegenDecl to work in function params. fixes #22306
* makes the test more concrete so T{lit} params dont match
* adds sfCodegenDecl
2023-07-23 16:42:20 +02:00
SirOlaf
808c9c6c2a
Testcase for #22008 ( #22320 )
...
Testcase
Co-authored-by: SirOlaf <>
2023-07-23 21:35:30 +08:00
konsumlamm
0e555ade31
Add test for #22309 ( #22316 )
2023-07-22 21:11:08 +02:00
konsumlamm
576f4a7348
Fix doc comment rendering for concepts ( #22312 )
2023-07-22 19:10:12 +02:00
ringabout
b02c1dd6ca
fixes #22297 ; return in the finally in the closure iterators ( #22300 )
...
ref #22297 ; return in the finally in the closure iterators
2023-07-22 06:37:27 +02:00
ringabout
993fcf5bda
fixes CI; disable SSL tests on osx for now ( #22304 )
...
* test CI
* disable osx
2023-07-22 11:31:01 +08:00
ringabout
91987f8eb5
fixes #22210 ; transform return future in try/finally properly ( #22249 )
...
* wip; fixes #22210 ; transform return future in try/finally properly
* add a test case for #22210
* minor
* inserts a needsCompletion flag
* uses copyNimNode
2023-07-21 05:40:11 +02:00
ringabout
5ed44e1ec4
fixes #22254 ; fixes #22253 ; stricteffects bugs on recursive calls ( #22294 )
2023-07-19 15:20:41 +02:00
ringabout
1aff402998
fixes #6499 ; disallow built-in procs used as procvars ( #22291 )
2023-07-19 09:45:28 +02:00
Juan M Gómez
50d435cd39
Fixes Naive virtual crash the compiler fixes #22269 ( #22271 )
...
* Fixes Naive virtual crash the compiler fixes #22269
* adds type specific test
2023-07-16 17:01:34 +02:00
ringabout
9471b5f964
fixes #22256 ; fixes GC_disableOrc overflow ( #22257 )
2023-07-11 19:01:18 +02:00
ringabout
ecc6ab7ee0
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
2023-07-10 10:31:13 +02:00
Andreas Rumpf
a15db5d60b
fixes #22175 ( #22229 )
2023-07-06 15:15:50 +02:00
Jake Leahy
7616e6ee2b
Fix concepts with doc comments ( #22228 )
...
* Add testcase
This tries to use a concept with a doc comment which currently leads to a segfault
* Ignore nil nodes which happen when there are doc comments in new style concept
This was done instead of semming the comments since `semConceptDecl` says it only supports lists of actual statements
* Go with alternative fix: Sem comments but ignore them
Since `nil` could mean anything it is best to not silently ignore it (In case another nil problem happens in future
Also fix test case so it isn't an infinite loop
2023-07-06 08:18:47 +02:00
ringabout
145e002c74
fixes #22132 ; hoisted openArray params result in erroneous code ( #22224 )
2023-07-05 11:21:57 +02:00
Andreas Rumpf
86ff37fab8
fixes #22138 ( #22221 )
2023-07-04 23:35:25 +02:00
ringabout
31ba1046fc
add a test case for #22190 in case of regression ( #22217 )
2023-07-04 10:58:14 +08:00
ringabout
d9a24b9b81
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
2023-07-03 14:08:40 +02:00
ringabout
57296a5139
fixes #22197 ; Distinct ref objects + destructor cause C++ codegen error ( #22207 )
2023-07-02 21:04:48 +02:00