metagn
2542dc09c8
use dummy dest for void branches to fix noreturn in VM ( #22617 )
...
fixes #22216
2023-09-01 15:38:25 +02:00
metagn
6738f44af3
unify explicit generic param semchecking in calls ( #22618 )
...
fixes #9040
2023-09-01 15:37:16 +02:00
Juan M Gómez
0c6e13806d
fixes internal error: no generic body fixes #1500 ( #22580 )
...
* fixes internal error: no generic body fixes #1500
* adds guard
* adds guard
* removes unnecessary test
* refactor: extracts containsGenericInvocationWithForward
2023-09-01 13:42:47 +02:00
metagn
f1789cc465
resolve local symbols in generic type call RHS ( #22610 )
...
resolve local symbols in generic type call
fixes #14509
2023-09-01 09:00:15 +02:00
metagn
53d9fb259f
don't update const symbol on const section re-sems ( #22609 )
...
fixes #19849
2023-09-01 08:59:48 +02:00
ringabout
affd3f7858
fixes #22613 ; Default value does not work with object's discriminator ( #22614 )
...
* fixes #22613 ; Default value does not work with object's discriminator
fixes #22613
* merge branches
* add a test case
* fixes status
* remove outdated comments
* move collectBranchFields into the global scope
2023-09-01 08:55:19 +02:00
SirOlaf
3b206ed988
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 <>
2023-09-01 06:41:39 +02:00
metagn
ba158d73dc
type annotations for variable tuple unpacking, better error messages ( #22611 )
...
* type annotations for variable tuple unpacking, better error messages
closes #17989 , closes https://github.com/nim-lang/RFCs/issues/339
* update grammar
* fix test
2023-09-01 06:26:53 +02:00
ringabout
5387b30211
closes #22600 ; adds a test case ( #22602 )
...
closes #22600
2023-08-31 22:30:19 +08:00
ringabout
5bd1afc3f9
fixes #17197 ; fixes #22560 ; fixes the dest of newSeqOfCap in refc ( #22594 )
2023-08-31 19:04:32 +08:00
metagn
2e4e2f8f50
handle typedesc params in VM ( #22581 )
...
* handle typedesc params in VM
fixes #15760
* add test
* fix getType(typedesc) test
2023-08-30 07:23:14 +02:00
metagn
b6cea7b599
clearer error for different size int/float cast in VM ( #22582 )
...
refs #16547
2023-08-29 14:59:49 +02:00
ringabout
e53c66ef39
fixes #22555 ; implements newStringUninit ( #22572 )
...
* fixes newStringUninitialized; implement `newStringUninitialized`
* add a simple test case
* adds a changelog
* Update lib/system.nim
* Apply suggestions from code review
rename to newStringUninit
2023-08-29 13:29:42 +02:00
metagn
3de8d75513
correct logic for qualified symbol in templates ( #22577 )
...
* correct logic for qualified symbol in templates
fixes #19865
* add test
2023-08-28 21:40:46 +02:00
Bung
094a29eb31
add test case for #19095 ( #22566 )
2023-08-28 12:31:16 +08:00
Bung
100eb6820c
close #9334 ( #22565 )
2023-08-27 22:56:50 +08:00
Bung
0b78b7f595
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
2023-08-27 14:29:24 +02:00
metagn
c19fd69b69
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
2023-08-27 11:27:47 +02:00
metagn
1cc4d3f622
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
2023-08-25 21:08:47 +02:00
metagn
53d43e9671
round out tuple unpacking assignment, support underscores ( #22537 )
...
* round out tuple unpacking assignment, support underscores
fixes #18710
* fix test messages
* use discard instead of continue
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2023-08-24 06:11:48 +02:00
metagn
03f267c801
make jsffi properly gensym ( #22539 )
...
fixes #21208
2023-08-23 19:25:26 +02:00
SirOlaf
3de75ffc02
Fix #21532 : Check if template return is untyped ( #22517 )
...
* Don't ignore return in semTemplateDef
* Add test
---------
Co-authored-by: SirOlaf <>
2023-08-23 06:18:35 +02:00
metagn
602f537eb2
allow non-pragma special words as user pragmas ( #22526 )
...
allow non-pragma special words as macro pragmas
fixes #22525
2023-08-21 20:08:57 +02:00
metagn
942f846f04
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
2023-08-21 20:08:00 +02:00
metagn
a4781dc4bc
use old typeinfo generation for hot code reloading ( #22518 )
...
* use old typeinfo generation for hot code reloading
* at least test hello world compilation on orc
2023-08-20 06:30:36 +02:00
Nan Xiao
6eb722c47d
replace getOpt with getopt ( #22515 )
2023-08-19 15:05:17 +02:00
Tomohiro
eb83d20d0d
Add staticFileExists and staticDirExists ( #22278 )
2023-08-18 16:47:47 +02:00
ringabout
7fababd583
make float32 literals stringifying behave in JS the same as in C ( #22500 )
2023-08-17 18:52:38 +02:00
metagn
98c39e8e57
cascade tyFromExpr in type conversions in generic bodies ( #22499 )
...
fixes #22490 , fixes #22491 , adapts #22029 to type conversions
2023-08-17 18:52:28 +02:00
ringabout
ee817557ec
close #22748 ; cursorinference + -d:nimNoLentIterators results in err… ( #22495 )
...
closed #22748 ; cursorinference + -d:nimNoLentIterators results in erroneous recursion
2023-08-17 13:33:19 +02:00
Jason Beetham
6c4e7835bf
When in object handles procedure call again, fixes #22474 ( #22480 )
...
Ping @narimiran please backport to the 2.0 line.
2023-08-15 17:48:31 +02:00
Andrey Makarov
a660c17d30
Markdown code blocks migration part 8 ( #22478 )
2023-08-15 06:27:36 +02:00
ringabout
09d0fda7fd
fixes #22469 ; generates nimTestErrorFlag for top level statements ( #22472 )
...
fixes #22469 ; generates `nimTestErrorFlag` for top level statements
2023-08-14 13:08:01 +02:00
ringabout
4c89223171
relax the parameter of ensureMove; allow let statements ( #22466 )
...
* relax the parameter of `ensureMove`; allow let statements
* fixes the test
2023-08-12 13:23:54 +02:00
Bung
277393d0f1
close #17045;Compiler crash when a tuple iterator with when nimvm is … ( #22452 )
...
close #17045;Compiler crash when a tuple iterator with when nimvm is iterated in a closure iterator
2023-08-11 19:11:47 +08:00
Bung
3bb75f2dea
close #18103 internal error: inconsistent environment type ( #22451 )
2023-08-11 18:50:31 +08:00
ringabout
faf1c91e6a
fixes move sideeffects issues [backport] ( #22439 )
...
* fixes move sideeffects issues [backport]
* fix openarray
* fixes openarray
2023-08-10 18:04:29 +02:00
Juan M Gómez
8625e71250
adds support for functor in member ( #22433 )
...
* adds support for functor in member
* improves functor test
2023-08-10 14:15:23 +02:00
Bung
2aab03bdfb
fix #19304 Borrowing std/times.format causes Error: illformed AST ( #20659 )
...
* fix #19304 Borrowing std/times.format causes Error: illformed AST
* follow suggestions
* mitigate for #4121
* improve error message
2023-08-10 16:26:23 +08:00
SirOlaf
baf350493b
Fix #21760 ( #22422 )
...
* Remove call-specific replaceTypeVarsN
* Run for all call kinds and ignore typedesc
* Testcase
---------
Co-authored-by: SirOlaf <>
2023-08-10 07:56:09 +02:00
Juan M Gómez
6ec1c80779
makes asmnostackframe work with cpp member #22411 ( #22429 )
2023-08-09 20:57:52 +02:00
Bung
46e94c83d4
Fix #5780 ( #22428 )
...
* fix #5780
2023-08-09 23:17:08 +08:00
ringabout
5ec81d076b
fixes cascades of out parameters, which produces wrong ProveInit warnings ( #22413 )
2023-08-09 13:49:30 +02:00
Bung
d53a89e453
fix #12938 index type of array in type section without static ( #20529 )
...
* fix #12938 nim compiler assertion fail when literal integer is passed as template argument for array size
* use new flag tfImplicitStatic
* fix
* fix #14193
* correct tfUnresolved add condition
* clean test
2023-08-09 12:45:43 +02:00
ringabout
5334dc921f
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 >
2023-08-09 12:43:17 +02:00
Bung
989da75b84
fix #20891 Illegal capture error of env its self ( #22414 )
...
* fix #20891 Illegal capture error of env its self
* fix innerClosure too earlier, make condition shorter
2023-08-09 09:43:39 +02:00
metagn
3aaef9e4cf
block ambiguous type conversion dotcalls in generics ( #22375 )
...
fixes #22373
2023-08-09 06:12:14 +02:00
Bung
37d8f32ae9
fix #18823 Passing Natural to bitops.BitsRange[T] parameter in generi… ( #20683 )
...
* fix #18823 Passing Natural to bitops.BitsRange[T] parameter in generic proc is compile error
2023-08-08 16:06:47 +08:00
Juan M Gómez
b5b4b48c94
[C++] Member pragma RFC ( https://github.com/nim-lang/RFCs/issues/530 ) ( #22272 )
...
* [C++] Member pragma RFC #530
rebase devel
* changes the test so `echo` is not used before Nim is init
* rebase devel
* fixes Error: use explicit initialization of X for clarity [Uninit]
2023-08-07 10:11:00 +02:00
konsumlamm
53586d1f32
Fix some jsgen bugs ( #22330 )
...
Fix `succ`, `pred`
Fix `genRangeChck` for unsigned ints
Fix typo in `dec`
2023-08-06 14:24:35 +02:00