Andreas Rumpf
0d24f76546
fixes #22552 ( #23014 )
2023-12-02 05:28:24 +01:00
ringabout
379299a5ac
fixes #22286 ; enforce Non-var T destructors by nimPreviewNonVarDestructor ( #22975 )
...
fixes #22286
ref https://forum.nim-lang.org/t/10642
For backwards compatibilities, we might need to keep the changes under a
preview compiler flag. Let's see how many packags it break.
**TODO** in the following PRs
- [ ] Turn the `var T` destructors warning into an error with
`nimPreviewNonVarDestructor`
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2023-11-25 18:27:27 +01:00
ringabout
b68e0aab4c
fixes #22866 ; fixes #19998 ; ensure destruction for Object construction with custom destructors ( #22901 )
...
fixes #22866 ;
fixes #19998
2023-11-02 11:14:50 +01:00
ringabout
f5d70e7fa7
fixes #19250 ; fixes #22259 ; ORC AssertionDefect not containsManagedMemory(n.typ) ( #22823 )
...
fixes #19250
fixes #22259
The strings, seqs, refs types all have this flag, why should closures be
treated differently?
follow up https://github.com/nim-lang/Nim/pull/14336
2023-10-13 21:34:13 +02:00
ringabout
efa64aa49b
fixes #22787 ; marks var section in the loop as reassign preventing cursor ( #22800 )
...
fixes #22787
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2023-10-07 07:43:39 +02:00
ringabout
d82bc0a29f
items, pairs and friends now use unCheckedInc ( #22729 )
...
`{.push overflowChecks: off.}` works in backends. Though it could be
implemented as a magic function.
By inspecting the generated C code, the overflow check is eliminated in
the debug or release mode.

Likewise, the index checking is probably not needed.
2023-09-20 12:50:23 +02:00
ringabout
5f13e15e0a
fixes #22664 ; guard against potential seqs self assignments ( #22671 )
...
fixes #22664
2023-09-08 17:05:57 +02:00
metagn
53d43e9671
round out tuple unpacking assignment, support underscores ( #22537 )
...
* round out tuple unpacking assignment, support underscores
fixes #18710
* fix test messages
* use discard instead of continue
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2023-08-24 06:11:48 +02:00
ringabout
ee817557ec
close #22748 ; cursorinference + -d:nimNoLentIterators results in err… ( #22495 )
...
closed #22748 ; cursorinference + -d:nimNoLentIterators results in erroneous recursion
2023-08-17 13:33:19 +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
ringabout
145e002c74
fixes #22132 ; hoisted openArray params result in erroneous code ( #22224 )
2023-07-05 11:21:57 +02:00
Jacek Sieka
4d2ebbb877
fix controlflow test ( #22194 )
...
the function actually returns
2023-06-30 14:54:46 +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
2e12d3e26b
fixes #22058 ; invalid free with {.noSideEffect.} in template ( #22088 )
2023-06-13 12:03:20 +02:00
ringabout
929cb4d601
fixes #21987 ; don't create type bound ops for anything in a function with a nodestroy pragma ( #21992 )
...
* fixes #21987 ; don't create type bound ops for anything in a function with a `nodestroy` pragma
* add a comment
2023-06-04 08:37:58 +02:00
ringabout
1133f20fe2
lift the =dup hook ( #21903 )
...
* fixes tests again
* remove helper functions
* fixes closures, owned refs
* final cleanup
2023-06-02 16:03:32 +02:00
ringabout
8e35b3d577
fixes #21974 ; fixes sameConstant fieldDefect ( #21981 )
...
* fixes #21974 ; fixes sameConstant fieldDefect
* add a test case
2023-06-01 19:02:56 +02:00
ringabout
ce1ba91573
close #19990 ; adds a test case ( #21853 )
2023-05-15 21:17:06 +02:00
ringabout
3b9999b93c
adds documentation for =wasMoved and =dup hooks and small fixes ( #21827 )
...
* adds documentation for `=wasMoved` and `=dup` hooks and small fixes
* Update doc/destructors.md
* Update doc/destructors.md
---------
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2023-05-11 19:38:27 +08:00
Andreas Rumpf
f3a4cc584e
make ORC threadlocal, take two ( #21818 )
...
* ORC: make rootsThreshold thread local [backport]
* fixes the regression
2023-05-10 12:54:43 +02:00
ringabout
4a94f3606e
revert #21799 and #21802 which don't pass the tests ( #21804 )
...
* Revert "ORC: make rootsThreshold thread local [backport] (#21799 )"
This reverts commit b74d49c037 .
* Revert "fixes #21752 [backport] (#21802 )"
This reverts commit d0c62fa169 .
2023-05-07 09:22:42 +02:00
ringabout
b562e1e6d8
implement =dup hook eliminating wasMoved and =copy pairs ( #21586 )
...
* import `=dup` hook eliminating `wasMoved` and `=copy` pairs
* add dup
* add a test for dup
* fixes documentation
* fixes signature
* resolve comments
* fixes tests
* fixes tests
* clean up
2023-05-06 21:36:57 +02:00
Andreas Rumpf
b74d49c037
ORC: make rootsThreshold thread local [backport] ( #21799 )
2023-05-06 17:58:00 +02:00
ringabout
a37a83cbff
fixes #21617 ; createTypeBoundOps with PContext in order to instantiate generics ( #21619 )
...
* fixes #21617 ; createTypeBoundOps with PContext in order to instantiate generics
* keep idgen
2023-04-07 22:18:09 +02:00
ringabout
a80f1a324f
fixes #21592 ; create type bound operations for calls in the method dispatcher for ORC ( #21594 )
...
* fixes #21592 ; create type operations for the method dispatcher
* add a test case
2023-04-01 17:08:45 +02:00
metagn
2315b01ae6
tuple unpacking for vars as just sugar, allowing nesting ( #21563 )
...
* tuple unpacking for vars as just sugar, allowing nesting
* set temp symbol AST
* hopeful fix some issues, add test for #19364
* always use temp for consts
* document, fix small issue
* fix manual indentation
* actually fix manual
* use helper proc
* don't resem temp tuple assignment
2023-03-28 17:52:23 +02:00
Andreas Rumpf
115cec1745
fixes #20993 [backport:1.6] ( #21574 )
...
* fixes #20993 [backport:1.6]
* proper line endings for the test file
2023-03-28 13:27:17 +02:00
ringabout
55636a2913
fixes #14255 ; Crash in compiler when using system.any by accident. ( #21562 )
...
fixes #14255 ; Crash in compiler when using system.any by accident.
2023-03-23 16:10:14 +01:00
ringabout
b5ee81fd23
fix #18977 ; disallow change branch of an object variant in ORC ( #21526 )
...
* fix #18977 disallow change branch of an object variant in ORC
* check errors for goto exception
* fixes conditions
* fixes tests
* add a test case for #18977
2023-03-16 16:06:26 +01:00
ringabout
6552a27ec1
fixes #19857 ; Exception raised in closure may be "skipped" in ORC ( #21530 )
...
fixes #19857 ; Exception raised in closure may be "skipped"
2023-03-16 21:07:54 +08:00
ringabout
0319824322
fixes #21023 ; Segfault when mixing seqs, orc, variants and futures ( #21497 )
...
* fixes #21023 ; Segfault when mixing seqs, orc, variants and futures
* fixes none of the branches were explicitly selected
* add one more test
* one more test
2023-03-10 09:28:51 +01:00
Andreas Rumpf
50baf21eac
fixes #20422 ; emit nimPrepareStrMutationV2 for toOpenArray to keep th… ( #21459 )
...
fixes #20422 ; emit nimPrepareStrMutationV2 for toOpenArray to keep the abstraction of mutable strings which have immutable string literals
2023-03-02 08:36:02 +01:00
ringabout
a137e50150
fixes #19291 ; implements wasMoved hook ( #21303 )
...
* fixes #19291 ; implements `wasMoved` hook
* basics
* checkpoint
* finish `wasMoved`
* add a test for #19291
* add documentation and changelog
* work `attachedWasMoved` with generics
* fixes optimizer
* register `=wasMoved`
* handle wasMoved magcis
* check another round
* some patches
* try `op == nil`
* nicer
* generate `wasMoved` before `destroy`
* try again
* fixes tests
* default wasMoved
* Update tests/destructor/tv2_cast.nim
* Update tests/destructor/tv2_cast.nim
* Update tests/arc/topt_refcursors.nim
2023-03-02 05:29:40 +01:00
ringabout
38f876dd48
fixes #19795 ; fixes #11852 ; fixes #19974 ; remove parsing pipeline, Nim now parses the whole module at one time ( #21379 )
...
* fixes #19795 ; remove parse pipeline
* isScript
* fixes nimscriptapi
* don't touch reorder
* check script
* fixes tests
* it seems implicit imports of system cause troubles
* access the first child of `nkStmtList`
* ignore comments
* minor messages
* perhaps increases hloLoopDetector
* the module is a stmtList, which changes the errors
* fixes nimdoc
* fixes tlinter
* fixes nim secret tests
* fixes arc_misc
* fixes nim secret tests again
* safe; fixes one more test
* GlobalError is the root cause too
* fixes parsing errors
* put emit types to the cfsForwardTypes section
* fixes #11852 ; `{.push checks:off}` now works in procs
* disable navigator
* fixes nimdoc
* add tests for JS
* fixes nimsuggest
2023-02-22 20:34:20 +01:00
ringabout
4b63ac4b87
fixes #21171 ; dynamic acyclic refs need to use dyn decRef ( #21184 )
...
* fixes #21171 ; dyn destructors for acyclic inherited refs
* add a test
* Update compiler/liftdestructors.nim
2022-12-28 16:23:37 +01:00
Bung
8054be6e52
fix #20588 ( #21104 )
2022-12-15 16:12:17 +01:00
ringabout
b83bd282dc
fixes #20954 ; bounchecks for len(toOpenArray()) [backport] ( #20956 )
...
* bounchecks for len(toOpenArray())
* add a testcase
2022-12-05 22:27:18 +01:00
ringabout
e03a178bff
rename std/threads to std/typedthreads ( #20850 )
...
* rename `std/threads` to `std/oldthreads`
* fixes tests
* rename to `typedthreads`
* changelog
2022-11-16 16:35:20 +01:00
ringabout
3d692d08f7
fixes a long-standing ARC bug ( #20849 )
...
* fixes an ARC bug
* add a testcase
2022-11-16 07:36:14 +01:00
Derek 呆
6007a40eac
support UncheckedArray[T] in repr_v2.nim ( #20816 )
2022-11-11 19:31:59 +01:00
Bung
82e99f2332
fix topt_no_cursor.nim ( #20791 )
2022-11-09 15:52:44 -05:00
Bung
fdc8dd4128
Arc global ( #20768 )
...
* temp
* unsure
* fix condition
* port macro arc runable examples to one file
* trigger doc ci
* fix
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
2022-11-06 11:47:35 +01:00
ringabout
afd4e22f76
Revert "fix arc global variable issues" ( #20764 )
...
* Revert "fix arc global variable issues (#20759 )"
This reverts commit a3d32a4176 .
* trigger documentation builds
2022-11-05 22:47:12 +08:00
Bung
a3d32a4176
fix arc global variable issues ( #20759 )
...
* temp
* unsure
2022-11-05 12:22:16 +01:00
ringabout
e1ddd2d524
put std/threads under the umbrella of nimPreviewSlimSystem ( #20711 )
...
* put `std/threads` under the umbrella of `nimPreviewSlimSystem`
* add changelog
* fixes tests
* fixes tests again
* fixes tests
2022-10-31 06:36:50 +01:00
Andreas Rumpf
81087c949f
fixes #20572 ( #20585 )
...
* fixes #20572
* added a test case
2022-10-17 23:48:51 +02:00
ringabout
5602183234
'lock levels' are deprecated, now a noop ( #20539 )
...
* 'lock levels' are deprecated, now a noop
* fixes tests
2022-10-11 09:17:09 +02:00
ringabout
114acff98d
closes #9401 ; add testcase ( #20507 )
2022-10-06 13:51:42 +08:00