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
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
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
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
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
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
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
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
ringabout
070ecb036c
fixes #22049 ; fixes #22054 ; implicit conversion keeps varness ( #22097 )
...
* fixes #22054 ; codegen for var tuples conv
* rethink fixes
* add test cases
* templates only
* fixes var tuples
* keep varness no matter what
* fixes typ.isNil
* make it work for generics
* restore isSubrange
* add a test case as requested
(cherry picked from commit 77beb15214 )
2023-09-11 13:52:58 +02:00
metagn
107ec62baf
consider object types as declarative in templates ( #22106 )
...
* consider object types as declarative in templates
fixes #16005
* correct logic for nkRecList children, inject fields
* don't actually inject fields
(cherry picked from commit 3ac2d81601 )
2023-09-11 13:52:58 +02:00
ringabout
ffcccd5986
clean up isNilConversion for seqs, strings ( #22057 )
...
(cherry picked from commit 49e11d9dcc )
2023-09-11 12:02:29 +02:00
Juan Carlos
c001b11320
Improve compiler messages ( #22040 )
...
* Improve compiler messages
(cherry picked from commit ea91cfb305 )
2023-09-11 12:02:29 +02:00
Juan Carlos
e4c13c3fd4
Improve compiler messages ( #22028 )
...
* Improve compiler messages with simpler code
(cherry picked from commit 9f3d1b1290 )
2023-09-11 12:02:29 +02:00
heterodoxic
6b11a9ec28
fixes #15428 by updating deep open array copy codegen ( #21935 )
...
* fix #15428
* add test
(cherry picked from commit af3fd5a010 )
2023-09-11 12:02:28 +02:00
Bung
173a15b370
fix #21251 Compiler SIGSEGV when using SharedTable ( #21876 )
...
fix #21251
(cherry picked from commit 76a98fee65 )
2023-09-11 12:02:28 +02:00
Jason Beetham
c4380107d6
Fixed generic parameters failing to be used in inheritance ( #21866 )
...
(cherry picked from commit 28a116a477 )
2023-09-11 12:02:28 +02:00
ringabout
fcaacbf374
cursor fields cannot form reference cycles ( #21832 )
...
* cursor fields cannot form a reference cycle
* fixes typo
* fixes position
(cherry picked from commit ebbad9e960 )
2023-09-11 10:54:35 +02:00
metagn
547f205794
error on user pragma args ( #21776 )
...
closes #20978
(cherry picked from commit 44736d26cd )
2023-09-11 10:54:34 +02:00
metagn
cd0f805832
cheap fix for #10853 + better tuple subscript error message ( #21767 )
...
* cheap fix for #10853
* also better tuple subscript error message
* weird
(cherry picked from commit c2bcfd8cd9 )
2023-09-11 10:54:34 +02:00
ringabout
579efdabb0
fixes #21703 ; moveOrCopy should consider when vm ( #21721 )
...
(cherry picked from commit 0f226c0e48 )
2023-09-11 10:54:34 +02:00
metagn
7b99712bcf
fix iterator equality + add test for proc equality + fix sameType ( #21707 )
...
* fix iterator equality + add test also for procs
fixes #21706
* all targets
* and isNil and repr
* separate overloads, fix sameType
* more restricted sameType?
* merge overloads again??
* remove sametype change for now
* fix sameType anyway (CI failure was not related)
---------
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
(cherry picked from commit 380dafcc32 )
2023-09-11 10:54:34 +02:00
ringabout
01ef1e1500
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
(cherry picked from commit d9a24b9b81 )
2023-08-11 12:41:50 +02:00
ringabout
bd4609f20e
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:53:36 +02:00
metagn
1cd48e4b2a
fix new type inference for noreturn [backport] ( #22182 )
...
fixes #22180
Backported since apparently the new type inference was backported
(cherry picked from commit b35942ef83 )
2023-07-03 11:58:59 +02:00
Etan Kissling
49271783a3
macOS ar doesn't support @ syntax ( #22146 )
...
When the linker command line is long, Nim compiler generates a file for
passing the linker arguments. On `macOS`, that mechanism fails as the
`@` syntax is not supported by `ar`. Use `xargs` instead to pass the
linker arguments file.
(cherry picked from commit c6c85f84db )
2023-06-25 18:25:18 +02:00
ringabout
04d0716f37
fix #9423 followup #17594 : distinct generics now work in VM ( #21816 )
...
* fix #9423 distinct generics now work in vm
* fixes cpp tests
---------
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
(cherry picked from commit deaf684375 )
2023-06-19 13:12:01 +02:00
heterodoxic
476031f0ed
fix #10964 by honoring pointer deref syntax if a reified openarray is used to get an array's length ( #21925 )
...
* fix #10964
* add test
(cherry picked from commit 6128ef53c5 )
2023-06-15 14:45:58 +02:00
ringabout
c377a5b8a1
fixes #21863 ; Incorrect enum field access can cause internal error ( #21886 )
...
fixes 21863; Incorrect enum field access can cause internal error
(cherry picked from commit 761b927e47 )
2023-06-15 14:45:57 +02:00
ringabout
1355083708
fixes #21280 ; Enum with int64.high() value crashes compiler ( #21285 )
...
* fixes #21280 ; Enum with int64.high() value crashes compiler
* Update tests/enum/tenum.nim
* Update tests/enum/tenum.nim
* fixes tests
* Update tests/enum/tenum.nim
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit 8cf5643621 )
2023-06-15 12:43:59 +02:00
quantimnot
6c5d4946e4
Fix some styleCheck bugs ( #20095 )
...
refs #19822
Fixes these bugs:
* Style check violations in generics defined in foreign packages are raised.
* Builtin pragma usage style check violations in foreign packages are raised.
* User pragma definition style check violations are not raised.
Co-authored-by: quantimnot <quantimnot@users.noreply.github.com >
(cherry picked from commit 365a753eed )
2023-06-15 12:43:59 +02:00
ringabout
77da35db17
fixes #21704 ; remove nfIsRef for genLit in VM ( #21765 )
...
* fixes #21704 ; remove `nfIsRef` for genLit
* remove nfIsRef from the output of macros
* make the logic better
* try again
* act together
* excl nfIsRef
(cherry picked from commit 53c15f24e9 )
2023-06-15 12:43:59 +02:00
Andreas Rumpf
4fc22cdd4d
fixes #21245 ; warn about destructors that can raise ( #21726 )
...
* fixes #21245 ; warn about destructors that can raise
* doc update
* progress
* typo
(cherry picked from commit 220b450489 )
2023-06-15 12:43:59 +02:00
Juan M Gómez
ae83058be2
implements #21620 : allowing to import multiple modules with shared names ( #21628 )
...
(cherry picked from commit c136ebf1ed )
2023-06-15 10:49:15 +02:00
metagn
0e4758ac30
actually fix #19015 ( #21680 )
...
* actually fix #19015
* more tests
* round out
(cherry picked from commit 9dc1f2dd0f )
2023-06-15 10:45:00 +02:00
ringabout
a058dcaf5f
fixes #21674 ; lent can be used in the fields or the cast type as a parameter ( #21684 )
...
* fixes #21674 ; `lent` can be used in the fields or the cast type as a parameter
* add a test case
* fix the test
(cherry picked from commit 65223e6f59 )
2023-06-15 10:44:50 +02:00
Jaremy Creechley
29f44c090e
change compile pragma to use mangled compile objects ( #21678 )
...
change compile pragma to use mangle
(cherry picked from commit 1af21c2668 )
2023-06-15 10:44:44 +02:00