Jason Beetham
ed21e84f46
for loop expression can now have generated iterator's called (#21627 )
...
A for expression now can have a generated iterator, allowing for more composable iterables
(cherry picked from commit 686c75cef0 )
2023-04-26 15:10:46 +02:00
Jason Beetham
9bc30a1ff8
Fix segfault caused by ensuring valueless statics are not evaluated ( #21577 )
...
(cherry picked from commit c06623bf8c )
2023-04-26 15:09:57 +02:00
ringabout
21a26548a4
fixes #14255 ; Crash in compiler when using system.any by accident. ( #21562 )
...
fixes #14255 ; Crash in compiler when using system.any by accident.
(cherry picked from commit 55636a2913 )
2023-04-26 15:09:47 +02:00
Andreas Rumpf
564a88006a
mitigates #21272 ; but it's not the final fix because the first round … ( #21462 )
...
mitigates #21272 ; but it's not the final fix because the first round of overload resolution should already match
(cherry picked from commit f7e3af0c2d )
2023-04-26 15:09:01 +02:00
Jason Beetham
babc9b234d
Made generic type classes work with types using static parameters ( #21528 )
...
(cherry picked from commit a9d0124b5d )
2023-04-26 15:08:51 +02:00
ringabout
844717f52b
fixes explicit globals in macros ( #21502 )
...
(cherry picked from commit b2c1dcbbc9 )
2023-04-26 15:08:45 +02:00
ringabout
7ceb4e4c87
fixes #10938 ; fixes #13312 ; fixes #13918 ; fixes #20985 ; always initializes global variables with null values in VM ( #21351 )
...
* fixes #10938 ; always initialize global variable in VM
* fixes importc vars
* there is a pre-existing issue regarding closure types in the VM
* add tests
(cherry picked from commit 1b1412f3d1 )
2023-04-26 12:48:13 +02:00
ringabout
025ada1809
fixes #21360 ; discarding empty seqs/arrays now raises errors ( #21374 )
...
* discarding empty seqs now raises errors
* the same goes for sets
(cherry picked from commit fc7385bfda )
2023-04-26 12:48:12 +02:00
ringabout
7ad8c44e28
fixes #16790 ; fixes #19075 ; put big arrays on the constant seqs; don't inline them in the VM; big performance boost ( #21318 )
...
* don't inline arrays in VM
* add a test for #19075
(cherry picked from commit b5f64f55d0 )
2023-04-26 12:48:12 +02:00
ringabout
0fc1b79b75
enforce void for nkWhileStmt [backport: 2.0] ( #21170 )
...
enforce void for nkWhileStmt
(cherry picked from commit 9323cb7b2a )
2023-04-26 12:48:12 +02:00
Bung
8155b8d3ce
fix #11634 ( #21146 )
...
(cherry picked from commit ca9c74391a )
2023-04-26 12:48:12 +02:00
Bung
c25621d153
fix #16541 ( #21148 )
...
(cherry picked from commit c5a72ebddd )
2023-04-26 12:48:12 +02:00
Bung
24e4099d36
fix #21109 ( #21127 )
...
(cherry picked from commit e278a781fc )
2023-04-26 11:00:48 +02:00
Bung
f0324e99da
fix #20588 ( #21104 )
...
(cherry picked from commit 8054be6e52 )
2023-04-26 10:57:45 +02:00
Bung
4ea0ce9149
fix #15836 proc arg return type auto unexpectly match proc with concr… ( #21065 )
...
* fix #15836 proc arg return type auto unexpectly match proc with concrete type
* fix #16244
* add test case for #12869
(cherry picked from commit 5917c2d5b7 )
2023-04-26 10:53:43 +02:00
Bung
918a7d9f54
fix #16758 Nim crashes in fixAbstractType ( #20855 )
...
* fix #16758 Nim crashes in fixAbstractType
* Update compiler/semexprs.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit 1585bfec3b )
2023-04-26 10:53:28 +02:00
Vindaar
410254b485
fix issue #20922 by handling missing expr in exprList for tkOf ( #20930 )
...
* fix issue #20922 by handling missing expr in `exprList` for `tkOf`
* fix line numbers in test case
* rewrite exprList requiring expr, add optionalExprList for except
As suggested by @metagn.
* update test case to reflect new code
* update grammar.txt
* update line numbers in test case taking into account nimout
Given the number of errors that are produced it seems easier to do it
this way instead of using `tt.Error`.
(cherry picked from commit 0a1d4ba842 )
2023-04-26 09:31:33 +02:00
ringabout
71c5bdf6b3
fixes #21027 ; cast expressions need a type ( #21029 )
...
* fixes #21027 ; cast expressions need a type
* Apply suggestions from code review
Thanks to @beef331
(cherry picked from commit 1564ae650f )
2023-04-26 09:31:33 +02:00
Yuriy Glukhov
149c0ad46f
Dont produce initing moves for sfNoInit variables in closure env ( #21026 )
...
(cherry picked from commit c47d5196be )
2023-04-26 09:31:33 +02:00
ringabout
57e307f3a8
fixes #20958 ; fixes the return type of slice function [backport] ( #20959 )
...
* fixes #20958 ; fixes the return type of slice function
* add a testcase
(cherry picked from commit 3d5edb41be )
2023-04-26 09:31:33 +02:00
ringabout
a0eec605ba
fixes #13583 ; enforce void for nkWhileStmt ( #20947 )
...
* fixes #13583 ; enfore void for nkWhileStmt
* one more case
(cherry picked from commit d4afa53fd5 )
2023-04-26 09:31:33 +02:00
Bung
7e80df2267
fix #3505 wrong var {.global.} initialization, asign variable to it ( #20812 )
...
* fix #3505 wrong var {.global.} initialization, asign variable to it
* fix #5132 as well
* follow suggestions
* handle all call kinds
* Update tests/global/t3505.nim
* Update compiler/semstmts.nim
* Update compiler/semstmts.nim
* Update compiler/semstmts.nim
* follow suggestion
* Update compiler/semstmts.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit 1410243d3b )
2023-04-26 09:31:32 +02:00
ringabout
e70379811b
fixes regression #17121 ; adding doc comment in importc proc makes it silently noop at CT ( #20766 )
...
* fixes regression #17121 ; adding doc comment in importc proc makes it silently noop at CT
* Update compiler/vmgen.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit a228e331f3 )
2023-04-26 09:31:32 +02:00
Bung
0c9c6d2a68
fix #19149 Invalid codegen when returning var tuple from a template ( #20762 )
...
* fix #19149 Invalid codegen when returning var tuple from a template
* fix type
(cherry picked from commit bae0fb720a )
2023-04-26 09:31:32 +02:00
Jacek Sieka
10ca10eb83
fix sighashes for generic ref ( #20723 )
...
the `hashType` issue in #12229 was never really fixed - it just stopped
being called in that context
(cherry picked from commit 58f79e7c3e )
2023-04-25 18:31:15 +02:00
Bung
d5be917994
fix #20272 range of uint64 shows signed upper bound ( #20702 )
...
(cherry picked from commit 49e793e8c4 )
2023-04-25 18:27:54 +02:00
Bung
fe1e09a881
fix #20148 implicit compile time conversion int to ranged float cause… ( #20698 )
...
fix #20148 implicit compile time conversion int to ranged float causes compiler fatal error
(cherry picked from commit a51ed90c5d )
2023-04-25 16:27:31 +02:00
metagn
592321c7f5
alternate fix + test for #12094 , refs #13804 ( #20686 )
...
(cherry picked from commit cb3af8ad39 )
2023-04-25 16:27:30 +02:00
Bung
cf12d6fcde
fix #6637 array index type depends generic ( #20673 )
...
(cherry picked from commit aa6f9d490f )
2023-04-25 16:27:30 +02:00
ringabout
26e52d7c5d
fixes #19201 ; fixes sink causes crash in VM ( #20658 )
...
(cherry picked from commit 4b377b07fc )
2023-04-25 16:27:30 +02:00
Bung
628c9c3c7f
fix #12094 Use of _ (as var placeholder) inside a template causes XDe… ( #20635 )
...
fix #12094 Use of _ (as var placeholder) inside a template causes XDeclaredButNotUsed
(cherry picked from commit 4728c52c78 )
2023-04-25 16:27:30 +02:00
Jason Beetham
32171fc66d
Unpack mSlice tupleconstr for static openarrays ( #20615 )
...
(cherry picked from commit da0a2fdca2 )
2023-04-25 16:27:29 +02:00
Bung
b220294f13
fix #20152 Illegal capture of closure iterator, when should be legal ( #20607 )
...
(cherry picked from commit 66cbcaab84 )
2023-04-25 16:27:29 +02:00
Bung
6274bc35dd
fix #19426 compile error using when/elif/else and typedesc in template ( #20550 )
...
(cherry picked from commit 04c48e3c5b )
2023-04-25 16:27:29 +02:00
Can Lehmann
a76f36b4e5
Fix #12517 Allow single branch when nimvm statements ( #20577 )
...
Allow single branch when statements
(cherry picked from commit 2102e3b02f )
2023-04-25 16:27:29 +02:00
Bung
425f828178
fix #19700 Crash when passing a template to a generic functio… ( #20567 )
...
fix nim-lang#19700 Crash when passing a template to a generic function expecting a procedure
(cherry picked from commit 0510a2be0d )
2023-04-25 15:34:47 +02:00
Bung
f2b52ec432
fix #7446 Generics: type mismatch 'SomeunsignedInt or Natural' ( #20522 )
...
* fix #7446 Generics: type mismatch 'SomeunsignedInt or Natural'
* try fix
(cherry picked from commit 083ea8f10c )
2023-04-25 15:34:47 +02:00
Bung
01d27ef1db
fix #18886 crash on ambiguous proc cast ( #20472 )
...
* fix #18886 crash on ambiguous proc cast
* follow suggestion
(cherry picked from commit db3d2971cf )
2023-04-25 15:34:47 +02:00
Bung
0cf39669df
Fix #19224 For loops over a hardcoded empty array crash the compiler ( #20476 )
...
* Fix #11684 For loops over a hardcoded empty array crash the compiler
* Update t19224.nim
(cherry picked from commit 567c3f055d )
2023-04-25 15:34:46 +02:00
Tomohiro
512aef60ae
Use vccexe when generating static lib with vcc ( #19843 )
...
(cherry picked from commit 92a0f191bf )
2023-04-25 15:34:46 +02:00
Bung
0dc51dfe47
Improve error message when instantiating generics with object constructor ( #20358 )
...
* Improve error message when instantiating generics with object constructor
* follow suggestion
* Update compiler/semobjconstr.nim
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
* Update tests/errmsgs/t19882_2.nim
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
(cherry picked from commit 2afce84616 )
2023-04-24 22:09:34 +02:00
Bung
09be80c857
report expression has no type other than has to be used (or discarded… ( #20392 )
...
report expression has no type other than has to be used (or discarded) when typ is tyNone in discardCheck
(cherry picked from commit 08c02f0236 )
2023-04-24 22:09:22 +02:00
Bung
82af5c7f6d
fix #19882 Improve error message when instantiating generics that lac… ( #20356 )
...
* fix #19882 Improve error message when instantiating generics that lack a type
* Update tests/errmsgs/t19882.nim
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
(cherry picked from commit a302b26e0e )
2023-04-24 22:09:13 +02:00
Tomohiro
892b1f7583
Fix #16937 ; --clib option pass library name to backend C compiler correctly ( #19754 )
...
* Fix 16937: Make --clib option works
* Make tests/compiler/tcmdlineclib.nim works from any current dir
* Try to fix link error on macosx
* Add a comment to tests/compiler/tcmdlineclib.nims
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
(cherry picked from commit 2a34d143ac )
2023-04-24 22:09:07 +02:00
ringabout
7acdacb253
fixes #18983 #5282 #13008 ; recursive types casue infinite type ( #20172 )
...
* fixes #18983 #5282 #13008 ; recursive types casue infinite type
* re
* add testcases
(cherry picked from commit a895bbf714 )
2023-04-24 22:08:53 +02:00
ringabout
b92336ab33
fixes #20149 ; fixes #16762 ; hintAsError and warningAsError now ignore foreign packages ( #20151 )
...
* fixes #20149 ; hintAsError/warningAsError ignores foreign packages
* add changelog
* fixes the test
* remove
* fixes tests again
* fix
* I'm careless
Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com >
(cherry picked from commit 641381e3d4 )
2023-04-24 22:08:02 +02:00
konsumlamm
f3300c1a9c
Warn when casting to a larger type ( #20103 )
...
* Warn when casting to a larger type
* Revert change to error message to fix CI
(cherry picked from commit 528b6d1c3f )
2023-04-24 22:06:16 +02:00
Yuriy Glukhov
42020a2331
Fixed noinit pragma for closure variables ( #20101 )
...
(cherry picked from commit 424e87fd09 )
2023-04-24 22:05:07 +02:00
metagn
e494f1b21e
fix #20002 ( #20004 )
...
While this fix seems innocent,
this unlocks the hidden behavior of
method calls not being able to call
gensym'ed routines inside templates.
(cherry picked from commit f35c9cf73d )
2023-04-24 22:02:43 +02:00
Tanguy
ab1717984d
Allow recursive closure iterators ( #19939 )
...
(cherry picked from commit ce4078acd4 )
2023-04-24 22:01:28 +02:00