narimiran
9ce81868a8
Revert "fixes #9940 ; genericAssign does not take care of the importC variables in refc [backport] ( #23761 )"
...
This reverts commit fda43d1f0a .
2024-07-09 13:02:30 +02:00
narimiran
d993aff496
Revert "try to fix broken tests"
...
This reverts commit 786bbff1ae .
2024-07-09 13:02:19 +02:00
narimiran
786bbff1ae
try to fix broken tests
2024-06-28 08:31:43 +02:00
ringabout
fda43d1f0a
fixes #9940 ; genericAssign does not take care of the importC variables in refc [backport] ( #23761 )
...
fixes #9940
(cherry picked from commit 828cd58d8a )
2024-06-27 14:09:14 +02:00
Giuliano Mega
3864066408
[Backport 1.6] Fix reset code gen for range types ( #22462 , #23214 ) ( #23215 ) ( #23638 )
...
This is a backport of https://github.com/nim-lang/Nim/pull/23215 . I
thought I'd put a PR instead of [just asking for
it](https://github.com/nim-lang/Nim/pull/23215#issuecomment-2125829028 ).
🙂
2024-05-23 11:30:15 +02:00
Juan M Gómez
53424c0036
[Backport 1.6] Skips generic owner when mangling instances ( #23599 )
2024-05-14 11:25:33 +02:00
bptato
b7b3f87719
Fix std/base64.decode out of bounds read ( #23526 )
...
inputLen may end up as 0 in the loop if the input string only includes
trailing characters. e.g. without the patch, decode(" ") would panic.
(cherry picked from commit 30cf570af9 )
2024-04-23 06:58:18 +02:00
Nikolay Nikolov
e6ee956845
fixes #22753 ; Nimsuggest segfault with invalid assignment to table ( #22781 ) ( #23314 )
...
fixes #22753
## Future work
We should turn all the error nodes into nodes of a nkError kind, which
could be a industrious task. But perhaps we can add a special treatment
for error nodes to make the transition smooth.
(cherry picked from commit 642ac0c1c3 )
---------
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
2024-03-14 18:35:25 +01:00
Juan M Gómez
d08bba579d
[Backport 1.6] Itanium mangling scheme #23301 ( #23302 )
2024-02-13 08:08:46 +01:00
ringabout
ac1dc03258
fixes regression #23280 ; Operations on inline toOpenArray len return a wrong result ( #23285 )
...
fixes #23280
(cherry picked from commit 4b67cccf50 )
2024-02-07 20:26:27 +01:00
Nikolay Nikolov
efd5ed7328
backport to version 1.6: Also show the raises pragma when converting proc types to string ( #23026 ) ( #23029 )
...
This affects also nimsuggest hints (e.g. on mouse hover), as well as
compiler messages.
(cherry picked from commit 618ccb6b6a )
2023-12-12 10:36:58 +01:00
tersec
9cbd8695e7
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:57 +01:00
ringabout
3c9b68dc15
fixes CI; disable SSL tests on osx for now ( #22304 )
...
* test CI
* disable osx
(cherry picked from commit 993fcf5bda )
2023-10-10 08:55:48 +02:00
SirOlaf
246267aa52
Exclude block from endsInNoReturn, fix regression ( #22632 )
...
Co-authored-by: SirOlaf <>
(cherry picked from commit d2f36c071b )
2023-09-15 19:49:57 +02:00
SirOlaf
ce8d9dd1cb
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-15 12:58:20 +02:00
ringabout
4fc535fbd6
fixes #17197 ; fixes #22560 ; fixes the dest of newSeqOfCap in refc ( #22594 )
...
(cherry picked from commit 5bd1afc3f9 )
2023-09-15 12:58:20 +02:00
metagn
d37901fe06
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-15 09:10:56 +02:00
ringabout
09f7be13b6
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-15 08:37:31 +02:00
Andreas Rumpf
d80397c7d7
fixes #22138 ( #22221 )
...
(cherry picked from commit 86ff37fab8 )
2023-09-14 17:02:49 +02:00
Juan M Gómez
efa3479e4e
reset macrocache after each script evaluation ( #22195 )
...
(cherry picked from commit 2f109595e9 )
2023-09-14 16:59:13 +02:00
ringabout
e8ec3efd3d
allow addressing elements of openArray[char] in VM ( #22045 )
...
allow addressing elements of openArray[char]
(cherry picked from commit a8d0dda833 )
2023-09-14 14:07:08 +02:00
metagn
8f102f9e62
retain forced open undeclared ident information ( #22019 )
...
(cherry picked from commit ce72b564bc )
2023-09-14 14:04:43 +02:00
ringabout
876f6d69a8
fixes #21974 ; fixes sameConstant fieldDefect ( #21981 )
...
* fixes #21974 ; fixes sameConstant fieldDefect
* add a test case
(cherry picked from commit 8e35b3d577 )
2023-09-14 14:04:43 +02:00
ringabout
43ce0558b4
handle quoted routine symbols and non symbols expressions as before ( #21740 )
...
(cherry picked from commit 560fa9a1fe )
2023-09-14 12:00:47 +02:00
narimiran
19b3f8c0ea
Revert "fixes #16790 ; fixes #19075 ; put big arrays on the constant seqs; don't inline them in the VM; big performance boost ( #21318 )"
...
This reverts commit 7ad8c44e28 .
2023-09-14 06:03:34 +02:00
SirOlaf
5ad4b72ac7
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-12 09:24:33 +02:00
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
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
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
narimiran
0e9250264b
fix wrong import
2023-09-11 16:10:50 +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
Bung
a66158dd3d
fix #20023 hash for generic tables ( #20346 )
...
* fix #20023 hash for generic tables
* use default computation
* Update lib/pure/collections/tables.nim
Co-authored-by: Dan Rose <dan@digilabs.io >
* Update lib/pure/collections/tables.nim
Co-authored-by: Dan Rose <dan@digilabs.io >
* Update lib/pure/collections/tables.nim
* Update lib/pure/collections/tables.nim
* Update t20023.nim
---------
Co-authored-by: Dan Rose <dan@digilabs.io >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit 3ad2e7df1c )
2023-09-11 13:52:58 +02:00
Zoom
6863b5d289
strutils.split/rsplit now return src on an empty sep (#22136 )
...
This is a rebase of an earlier rejected PR. Following the discussion
around it, this commit provides a valid output for and edge case
of an empty separator for `split` and `rsplit` routines. The empty
separator is interpreted as "split by no separators" and the initial
string is returned. This is consistent with the behaviour of the
`set[char]` version of `split`/`rsplit` routines and unifies them all.
Compared to a commit merged earlier, this one has a benefit of
not using assertions that will be removed in release builds
and thus still not preventing possible infinite loops (which was the
earlier behaviour for this edge case for separator of type `string`).
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit 5e529b3bfa )
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
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