Bung
106cf7a9f7
Fix #5780 ( #22428 )
...
* fix #5780
(cherry picked from commit 46e94c83d4 )
2023-09-18 10:13:38 +02:00
Jake Leahy
7221c6f156
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-18 10:13:27 +02:00
ringabout
4a7cdaecb4
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-18 10:13:09 +02:00
Andreas Rumpf
1080f5eba2
produce better code for object constructions and 'result' [backport] ( #22668 )
...
(cherry picked from commit 8f5b90f886 )
2023-09-14 06:02:30 +02:00
ringabout
18e62ad136
fixes #22619 ; don't lift cursor fields in the hook calls ( #22638 )
...
fixes https://github.com/nim-lang/Nim/issues/22619
It causes double free for closure iterators because cursor fields are
destroyed in the lifted destructors of `Env`.
Besides, according to the Nim manual
> In fact, cursor more generally prevents object
construction/destruction pairs and so can also be useful in other
contexts.
At least, destruction of cursor fields might cause troubles.
todo
- [x] tests
- [x] revert a certain old PR
---------
Co-authored-by: zerbina <100542850+zerbina@users.noreply.github.com >
(cherry picked from commit eb91cf991a )
2023-09-05 11:50:59 +02:00
Jason Beetham
8359f9683a
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-08-22 08:23:32 +02:00
ringabout
c3425c05e9
relax the parameter of ensureMove; allow let statements ( #22466 )
...
* relax the parameter of `ensureMove`; allow let statements
* fixes the test
(cherry picked from commit 4c89223171 )
2023-08-22 08:23:06 +02:00
ringabout
037f536e7e
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:49:49 +02:00
metagn
f553288db3
block ambiguous type conversion dotcalls in generics ( #22375 )
...
fixes #22373
(cherry picked from commit 3aaef9e4cf )
2023-08-11 10:49:11 +02:00
Juan M Gómez
e70992d291
fixes an issue where byref wasnt properly handled when using it in a generic param ( #22337 )
...
* fixes an issue where byref wasnt properly handled when using it in a generic param
* removes unreachable check
2023-07-29 18:05:31 +02:00
ringabout
f0f3904ff0
implement ensureMove ( #22339 )
...
* implement `ensureMove`
* use an additional flag
* improve some logics
* progress: fixes discard ensureMove
* forbids nested expressions
* improve error messages
* checkpoint
* fixes cursor
* ADD MORE TESTS
* fixes cursorinference again
* tiny cleanup
* improve error messages
* fixes docs
* implement comments add more tests
* fixes js
2023-07-29 10:57:03 +02:00
konsumlamm
db77c98471
[JS] Fix bitwise ops & shifts ( #22340 )
...
* [JS] Fix bitwise ops & shifts
* Test `int64` & `uint64` only with `jsbigint64`
2023-07-27 23:06:30 +02:00
konsumlamm
c0994c2dbd
[JS] Fix casting to ints ( #22327 )
...
* [JS] Fix casting to ints
* Simplify `genCast` by using `asUintN`/`asIntN`
2023-07-25 17:56:14 +02:00
ringabout
1c2ccfad08
fixes #22301 ; fixes #22324 ; rejects branch initialization with a runtime discriminator with defaults ( #22303 )
...
* fixes #22301 ; rejects branch initialization with a runtime discriminator with defaults
* undefault nimPreviewRangeDefault
* fixes tests
* use oldCheckDefault
2023-07-25 12:08:32 +02:00
Juan M Gómez
49a108b302
Expands codegenDecl to work in function params. fixes #22306 ( #22307 )
...
* Expands codegenDecl to work in function params. fixes #22306
* makes the test more concrete so T{lit} params dont match
* adds sfCodegenDecl
2023-07-23 16:42:20 +02:00
SirOlaf
808c9c6c2a
Testcase for #22008 ( #22320 )
...
Testcase
Co-authored-by: SirOlaf <>
2023-07-23 21:35:30 +08:00
konsumlamm
0e555ade31
Add test for #22309 ( #22316 )
2023-07-22 21:11:08 +02:00
konsumlamm
576f4a7348
Fix doc comment rendering for concepts ( #22312 )
2023-07-22 19:10:12 +02:00
ringabout
b02c1dd6ca
fixes #22297 ; return in the finally in the closure iterators ( #22300 )
...
ref #22297 ; return in the finally in the closure iterators
2023-07-22 06:37:27 +02:00
ringabout
993fcf5bda
fixes CI; disable SSL tests on osx for now ( #22304 )
...
* test CI
* disable osx
2023-07-22 11:31:01 +08:00
ringabout
91987f8eb5
fixes #22210 ; transform return future in try/finally properly ( #22249 )
...
* wip; fixes #22210 ; transform return future in try/finally properly
* add a test case for #22210
* minor
* inserts a needsCompletion flag
* uses copyNimNode
2023-07-21 05:40:11 +02:00
ringabout
5ed44e1ec4
fixes #22254 ; fixes #22253 ; stricteffects bugs on recursive calls ( #22294 )
2023-07-19 15:20:41 +02:00
ringabout
1aff402998
fixes #6499 ; disallow built-in procs used as procvars ( #22291 )
2023-07-19 09:45:28 +02:00
Juan M Gómez
50d435cd39
Fixes Naive virtual crash the compiler fixes #22269 ( #22271 )
...
* Fixes Naive virtual crash the compiler fixes #22269
* adds type specific test
2023-07-16 17:01:34 +02:00
ringabout
9471b5f964
fixes #22256 ; fixes GC_disableOrc overflow ( #22257 )
2023-07-11 19:01:18 +02:00
ringabout
ecc6ab7ee0
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
2023-07-10 10:31:13 +02:00
Andreas Rumpf
a15db5d60b
fixes #22175 ( #22229 )
2023-07-06 15:15:50 +02:00
Jake Leahy
7616e6ee2b
Fix concepts with doc comments ( #22228 )
...
* Add testcase
This tries to use a concept with a doc comment which currently leads to a segfault
* Ignore nil nodes which happen when there are doc comments in new style concept
This was done instead of semming the comments since `semConceptDecl` says it only supports lists of actual statements
* Go with alternative fix: Sem comments but ignore them
Since `nil` could mean anything it is best to not silently ignore it (In case another nil problem happens in future
Also fix test case so it isn't an infinite loop
2023-07-06 08:18:47 +02:00
ringabout
145e002c74
fixes #22132 ; hoisted openArray params result in erroneous code ( #22224 )
2023-07-05 11:21:57 +02:00
Andreas Rumpf
86ff37fab8
fixes #22138 ( #22221 )
2023-07-04 23:35:25 +02:00
ringabout
31ba1046fc
add a test case for #22190 in case of regression ( #22217 )
2023-07-04 10:58:14 +08:00
ringabout
d9a24b9b81
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
2023-07-03 14:08:40 +02:00
ringabout
57296a5139
fixes #22197 ; Distinct ref objects + destructor cause C++ codegen error ( #22207 )
2023-07-02 21:04:48 +02:00
Juan M Gómez
2f109595e9
reset macrocache after each script evaluation ( #22195 )
2023-06-30 23:03:25 +02:00
Jacek Sieka
4d2ebbb877
fix controlflow test ( #22194 )
...
the function actually returns
2023-06-30 14:54:46 +02:00
metagn
210b10dd0d
fix nested call regression in generic bodies ( #22189 )
...
fixes #22187
2023-06-29 22:05:18 +02:00
ringabout
41ec894cb0
alternative to #22183 ; nimscript shares the same compileTime sym with VM ( #22184 )
2023-06-29 11:21:22 +02:00
ringabout
d139d99946
fixes #19101 ; zero initialization union casts ( #22185 )
...
* zero initialization union casts
* cleans up and adds a test case for #19101
* uses nimZeroMem
2023-06-29 10:51:18 +02:00
Andrey Makarov
57de460437
Don't throw errors on RST tables in Markdown and RstMarkdown modes ( #22165 )
...
* Don't throw errors on RST tables in Markdown and RstMarkdown modes
Additions to RST simple tables (#19859 ) made their parsing more
restrictive, which can introduce problems with of some old
nimforum posts, which have tables with sloppily aligned columns
(like this one:
https://github.com/nim-lang/nimforum/issues/330#issuecomment-1376039966 ).
Also this strictness contradicts to Markdown style of not getting
in the way (ignoring errors).
So this PR proposes a new strategy of dealing with errors:
* In Markdown and legacy (old default) RstMarkdown we try to
continue parsing, emitting only warnings
* And only in pure RST mode we throw a error
I expect that this strategy will be applied to more parts of markup code
in the future.
* Don't return anything in `checkColumns`
2023-06-28 22:38:54 +02:00
metagn
b35942ef83
fix new type inference for noreturn [backport] ( #22182 )
...
fixes #22180
Backported since apparently the new type inference was backported
2023-06-28 22:38:08 +02:00
Andreas Rumpf
427ad17161
fixes #22001 ( #22177 )
...
* fixes #22001
* added test case
2023-06-27 22:42:48 +02:00
ringabout
e422b3c860
adds =destroy T support for strings and seqs ( #22167 )
...
* adds =destroy T support for strings and seqs
* fixes system
* fixes tests
2023-06-27 13:07:29 +02:00
ringabout
4546f5dfe5
adds T destructor for refs ( #22147 )
...
* adds T destructor for refs
* add `newRefdestructor`
* adds ref overload for destructors
* fixes config
2023-06-26 15:10:06 +02:00
Jake Leahy
43a3de9077
Fix regression in std/times ( #22155 )
...
* Add simple test case
Just so the regression doesn't happen again
* Specify initDateTime is gcsafe in the forward declarations
2023-06-26 15:07:42 +02:00
ringabout
942c378659
fixes #22148 ; std/memfiles.memSlices nesting now fails with memory sa… ( #22154 )
...
* fixes #22148 ; std/memfiles.memSlices nesting now fails with memory safety capture violation
* adds a test case
2023-06-25 17:15:47 +02:00
metagn
20037a4749
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
2023-06-25 16:52:16 +02:00
metagn
f718f295df
fix VM uint conversion size bug, stricter int gen on JS ( #22150 )
...
* fix VM uint conversion bug, stricter int gen on JS
fixes #19929
* fix float -> uint64 conversion too
* no need to mask to source type
* simpler diff with explanation, add test for described issue
2023-06-25 00:01:08 +02:00
Juan M Gómez
beaac609ab
adds nimbasePattern compiler option ( #22144 )
...
adds optonal --nimbasepattern
2023-06-24 08:13:15 +02:00
ringabout
88114948c4
fixes #21110 ; duplicate proc definitions for inline iters ( #21136 )
...
fixes #21110 ; duplicate proc definitions for iters
2023-06-22 22:17:23 +02:00
ringabout
ac7b8b678c
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
2023-06-21 16:30:55 +02:00