ringabout
915cd5b28b
fixes #9940 ; genericAssign does not take care of the importC variables in refc [backport] ( #23761 )
...
fixes #9940
(cherry picked from commit 828cd58d8a )
2024-06-26 18:50:37 +02:00
Andreas Rumpf
16bbffcb77
fixes #23725 ; Size computations work better when they are correct ( #23758 )
...
[backport]
(cherry picked from commit 8096fa45bd )
2024-06-26 08:15:51 +02:00
ringabout
73af7c60a1
nrvo for embedded importc'ed types ( #23708 )
...
(cherry picked from commit 0b5a938f57 )
2024-06-25 17:42:36 +02:00
narimiran
7bdcaada13
don't use unknown proc
2024-06-24 11:16:56 +02:00
ringabout
e77e129a05
fixes #23742 ; setLen(0) no longer allocates memory for uninitialized strs/seqs for refc ( #23745 )
...
fixes #23742
Before my PR, `setLen(0)` doesn't free buffer if `s != nil`, but it
allocated unnecessary memory for `strs`. This PR rectifies this
behavior. `setLen(0)` no longer allocates memory for uninitialized
strs/seqs
(cherry picked from commit 2bef08774f )
2024-06-24 08:29:11 +02:00
ringabout
d0b3b7e1a7
[backport] fixes #23711 ; C code contains backtick`gensym ( #23716 )
...
fixes #23711
(cherry picked from commit 646bd99d46 )
2024-06-24 08:28:29 +02:00
metagn
2735fd2bf5
ignore uninstantiated static on match to base type [backport:2.0] ( #23731 )
...
fixes #23730
Since #23188 the compiler errors when matching a type variable to an
uninstantiated static value. However sometimes an uninstantiated static
value is given even when only a type match is being performed to the
base type of the static type, in the given issue this case is:
```nim
proc foo[T: SomeInteger](x: T): int = int(x)
proc bar(x: static int): array[foo(x), int] = discard
discard bar(123)
```
To deal with this issue we only error when matching against a type
variable constrained to `static`.
Not sure if the `q.typ.kind == tyGenericParam and
q.typ.genericConstraint == tyStatic` check is necessary, the code above
for deciding whether the variable becomes `skConst` doesn't use it.
(cherry picked from commit 128090c593 )
2024-06-24 08:26:49 +02:00
Andreas Rumpf
8d1f03e1da
fixes a long standing bug with varargs type inference [backport] ( #23720 )
...
(cherry picked from commit 5996b12355 )
2024-06-24 08:26:19 +02:00
ringabout
d83eb88eb9
disable dnsclient because it is fragile ( #23728 )
...
```
Unhandled exception: /home/runner/work/Nim/Nim/pkgstemp/dnsclient/tests/test1.nim(28, 3) `rr.strings == @["dnsclient.nim"]` [AssertionDefect]
[FAILED] query TXT
[OK] query MX
[OK] query CNAME
[OK] query SRV
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/pkgstemp/dnsclient/tests/test1'
Tip: 2 messages have been suppressed, use --verbose to show them.
tools.nim(36) doCmd
Error: Execution failed with exit code 1
... Command: /home/runner/work/Nim/Nim/bin/nim c --noNimblePath -d:NimblePkgVersion=0.3.4 --hints:off -r --path:. /home/runner/work/Nim/Nim/pkgstemp/dnsclient/tests/test1
```
(cherry picked from commit c58b6e8df8 )
2024-06-24 08:25:27 +02:00
narimiran
10907cc4a7
bump NimVersion to 2.0.7
2024-06-24 08:24:34 +02:00
narimiran
c00e8e71e0
bump NimVersion to 2.0.6
v2.0.6
2024-06-16 19:01:20 +02:00
narimiran
a073e225c8
Revert "fixes #22510 ( #23100 )"
...
This reverts commit d6bc8699b9 .
2024-06-16 19:01:01 +02:00
Andreas Rumpf
140d641443
fixes #22927 ; no test case extractable [backport] ( #23707 )
...
(cherry picked from commit 3770236bee )
2024-06-13 11:08:08 +02:00
ringabout
cc779a42ce
remove pkg "pylib" ( #23691 )
...
https://github.com/Yardanico/nimpylib is 404 now
(cherry picked from commit 09b5ed251e )
2024-06-11 14:07:27 +02:00
ringabout
26a4b137c6
[backport] fixes #23690 ; SIGSEGV with object variants and RTTI ( #23703 )
...
fixes #23690
```nim
dest.`:state` = src.`:state`
var :tmp_553651276 = dest.e1.a
`=wasMoved`(dest.e1.a)
dest.e1.a.kind = src.e1.a.kind
case dest.e1.a.kind
of 0:
dest.e1.a.a = src.e1.a.a
of 1:
`=copy`(dest.e1.a.c, src.e1.a.c)
case :tmp_553651276.kind
of 0:
of 1:
`=destroy`(:tmp_553651276.c)
```
`dest.e1.a.kind = src.e1.a.kind` changes the discrimant but it fails to
clear the memory of `dest.e1.a`. Before using hooks for copying, we need
to clear the dest, e.g. `=wasMoved(dest.e1.a.c)`.
```nim
dest.`:state` = src.`:state`
var :tmp_553651276 = dest.e1.a
`=wasMoved`(dest.e1.a)
dest.e1.a.kind = src.e1.a.kind
case dest.e1.a.kind
of 0:
`=wasMoved`(dest.e1.a.a)
dest.e1.a.a = src.e1.a.a
`=wasMoved`(dest.e1.a.b)
of 1:
`=wasMoved`(dest.e1.a.c)
`=copy`(dest.e1.a.c, src.e1.a.c)
case :tmp_553651276.kind
of 0:
of 1:
`=destroy`(:tmp_553651276.c)
```
(cherry picked from commit 262ff648aa )
2024-06-11 14:04:29 +02:00
Juan M Gómez
d7544ec3db
[Backport 2.0] Nimsuggest handle unknown file ( #23701 )
2024-06-10 17:14:16 +02:00
narimiran
767a901267
Revert "Fix #22826 : Don't skip generic instances in type comparison ( #22828 )"
...
This reverts commit 5e20e935dd .
2024-06-07 16:30:32 +02:00
Andreas Rumpf
36f8cccda4
fixes #23354 ; [backport] ( #23685 )
...
(cherry picked from commit 7039b8b5bc )
2024-06-07 15:34:34 +02:00
Andreas Rumpf
d6bc8699b9
fixes #22510 ( #23100 )
...
(cherry picked from commit 69d0b73d66 )
2024-06-06 16:14:57 +02:00
ringabout
7db4376cda
fixes openarray hoist with gcc 14 ( #23647 )
...
blocks https://github.com/nim-lang/Nim/pull/23673
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit 17475fc5d3 )
2024-06-04 10:13:14 +02:00
ringabout
a85c635da8
fixes#23665; rework spawn with gcc 14 and fixes other tests ( #23660 )
...
fixes #23665
(cherry picked from commit 08f1eac8ac )
2024-06-04 07:38:38 +02:00
Miran
3e18c48cda
[backport] test more packages ( #23671 )
...
These packages are some of the dependencies of Nimbus with shorter
testing times.
(cherry picked from commit d22e8f7f82 )
2024-06-03 15:06:37 +02:00
ringabout
3455623500
rework ctypes with gcc 14 ( #23636 )
...
(cherry picked from commit 4bd1cf2376 )
2024-06-03 08:25:55 +02:00
Juan M Gómez
8daac1b061
[Backport 2.0] Updates nimble ( #23643 )
2024-06-02 15:16:04 +02:00
ringabout
7071e3a080
closes #15778 ; adds a test case ( #23613 )
...
closes #15778
(cherry picked from commit c08356865d )
2024-05-24 15:57:30 +02:00
ringabout
98075688f3
fixes openarray views default values in JS ( #23607 )
...
(cherry picked from commit 0fcd838fd9 )
2024-05-24 15:57:15 +02:00
ringabout
5abf9a1d77
fixes #23440 ; fixes destruction for temporary object subclass ( #23452 )
...
fixes #23440
(cherry picked from commit f175c81079 )
2024-05-24 11:18:18 +02:00
metagn
ab053fd56a
remove HEAD arraymancer dependency requirement in package CI ( #23509 )
...
Was introduced to handle a break in #23392 , according to
https://github.com/nim-lang/Nim/pull/23503#issuecomment-2057266475
should not be needed anymore
(cherry picked from commit 49e1ca0b3e )
2024-05-24 08:28:08 +02:00
lit
598de35d45
doc(format): ospaths2,strutils: followup #23560 ( #23629 )
...
followup #23560
(cherry picked from commit b838d3ece1 )
2024-05-23 13:55:24 +02:00
lit
a88b275bc3
doc(format): system.nim: doc of hostCPU for loongarch64 ( #23621 )
...
In doc, `loongarch64` used to be written as `'"loongarch64"'`
since it's [supported](https://github.com/nim-lang/Nim/pull/19223 )
(cherry picked from commit b3b26b2e56 )
2024-05-23 13:55:24 +02:00
PHO
e57b207ff8
Support NetBSD/aarch64 ( #23616 )
...
I could trivially port Nim to NetBSD/aarch64 because it already
supported NetBSD and aarch64. I only needed to generate `c_code` for
this combination.
(cherry picked from commit 0ba932132e )
2024-05-23 13:55:23 +02:00
ringabout
b9951e8c87
fixes lifting subtype calling parent's hooks ( #23612 )
...
ref https://forum.nim-lang.org/t/11587
Tested with `gcc version 14.0.1 20240412` locally
(cherry picked from commit 2c8551556e )
2024-05-23 13:55:23 +02:00
ringabout
9ad0ada8e4
adds Nim-related mimetypes back ( #23589 )
...
ref https://github.com/nim-lang/Nim/pull/23226
(cherry picked from commit 1eb9aac2f7 )
2024-05-23 09:02:25 +02:00
lit
30eb2b394e
Improve strutils.rsplit doc, proc and iterator have oppose result order. ( #23570 )
...
[`rsplit
iterator`](https://nim-lang.org/docs/strutils.html#rsplit.i,string,char,int )
yields substring in reversed order,
while [`proc
rsplit`](https://nim-lang.org/docs/strutils.html#rsplit%2Cstring%2Cchar%2Cint )'s
order is not reversed, but its doc only declare ```
The same as the rsplit iterator, but is a func that returns a sequence
of substrings.
```
(cherry picked from commit 2e3777d6f3 )
2024-05-23 09:02:19 +02:00
ringabout
6a1694b28b
fixes #23552 ; Invalid codegen when trying to mannualy delete distinct seq ( #23558 )
...
fixes #23552
(cherry picked from commit 2995a0318b )
2024-05-23 09:01:58 +02:00
Antonis Geralis
8f5451832e
Add a note about the sideeffect pragma ( #23543 )
...
(cherry picked from commit 63398b11f5 )
2024-05-23 08:59:31 +02:00
Angel Ezquerra
cd65b5e5f8
Add Complex version of almostEqual function ( #23549 )
...
This adds a version of `almostEqual` (which was already available for
floats) thata works with `Complex[SomeFloat]`.
Proof that this is needed is that the first thing that the complex.nim
runnable examples block did before this commit was define (an
incomplete) `almostEqual` function that worked with complex values.
(cherry picked from commit d8e1504ed1 )
2024-05-23 08:59:23 +02:00
ringabout
80a6005f55
fixes #22409 ; don't check style for enumFieldSymChoice in the function ( #23580 )
...
fixes #22409
(cherry picked from commit 1ad4e80060 )
2024-05-23 08:59:09 +02:00
lit
cd72be29c6
fixes #23442 , fix for FileId under Windows ( #23444 )
...
See according issue:
Details:
<https://github.com/nim-lang/Nim/issues/23442#issuecomment-2021763669 >
---------
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
(cherry picked from commit 6cc783f7f3 )
2024-05-23 08:57:35 +02:00
ringabout
1425654e9d
fixes #23556 ; typeinfo.extendSeq generates random values in ORC ( #23557 )
...
fixes #23556
It should somehow handle default fields in the future
(cherry picked from commit 36bf3fa47b )
2024-05-23 08:57:27 +02:00
lit
1463d811fb
Update unicode.nim: cmpRunesIgnoreCase: fix doc format ( #23560 )
...
Its doc used to render wrongly where `>` is considered as quote block:

(cherry picked from commit d772186b2d )
2024-05-23 08:57:19 +02:00
ringabout
d372a0030d
fixes #23419 ; internal error with void in generic array instantiation ( #23550 )
...
fixes #23419
`void` is only supported as fields of objects/tuples. It shouldn't allow
void in the array.
I didn't merge it with taField because that flag is also used for
tyLent, which is allowed in the fields of other types.
(cherry picked from commit 185e06c923 )
2024-05-23 08:56:53 +02:00
ringabout
a6e729ed5d
fixes #23321 ; Error: internal error: openArrayLoc: ref array[0..0, int] ( #23548 )
...
fixes #23321
In the function `mapType`, ptrs (tyPtr, tyVar, tyLent, tyRef)
are mapped into ctPtrToArray, the dereference of which is skipped
in the `genref`. We need to skip these ptrs in the function
`genOpenArraySlice`.
(cherry picked from commit d09c3c0f58 )
2024-05-22 09:39:02 +02:00
yojiyama7
c5f2d84ac7
fix typo: "As can been seen" to "As can be seen" ( #23544 )
...
(cherry picked from commit 47594eb909 )
2024-05-22 09:38:57 +02:00
ringabout
24e5e9875c
fixes #23531 ; fixes invalid meta type accepted in the object fields ( #23532 )
...
fixes #23531
fixes #19546
fixes #6982
(cherry picked from commit f682dabf71 )
2024-05-22 09:38:27 +02:00
ringabout
4e977767a7
fixes #23536 ; Stack trace with wrong line number when the proc called inside for loop ( #23540 )
...
fixes #23536
(cherry picked from commit 0b0f185bd1 )
2024-05-22 09:28:43 +02:00
ringabout
df589bcce1
fixes #23522 ; fixes pre-existing wrong type for iter in liftIterSym ( #23538 )
...
fixes #23522
(cherry picked from commit 407c0cb64a )
2024-05-22 09:28:21 +02:00
ringabout
e690ff35a2
fixes #23525 ; an 'emit' pragma cannot be pushed ( #23537 )
...
fixes #23525
(cherry picked from commit 4601bb0255 )
2024-05-22 09:24:12 +02:00
ringabout
e3f4c3d417
fixes #23524 ; global variables cannot be analysed when injecting move ( #23529 )
...
fixes #23524
```nim
proc isAnalysableFieldAccess*(orig: PNode; owner: PSym): bool =
...
result = n.kind == nkSym and n.sym.owner == owner and
{sfGlobal, sfThread, sfCursor} * n.sym.flags == {} and
(n.sym.kind != skParam or isSinkParam(n.sym))
```
In `isAnalysableFieldAccess`, globals, cursors are already rejected
(cherry picked from commit cd3cf3a20e )
2024-05-22 09:23:43 +02:00
Nikolay Nikolov
efcb6b4b11
* fix for the debug line info code generation ( #23488 )
...
Previously, in certain cases, the compiler would generate debug info for
the correct line number, but for the wrong .nim source file.
(cherry picked from commit 7e3bac9235 )
2024-05-21 18:51:04 +02:00