ringabout
c1c53bebf1
fixes private fields
2023-03-25 15:47:38 +08:00
ringabout
c814c4d993
fixes #3770 ; templates with untyped parameters resolve private fields wrongly in generics ( #21554 )
...
* fixes #3770 ; templates with untyped parameters resolve private fields wrongly
* add a test case for #3770
* rename to `nfSkipFieldChecking`
2023-03-21 15:22:07 +01:00
ringabout
2f89f1eb78
closes #8295 ; add a test case ( #21486 )
2023-03-07 20:17:05 +08:00
ringabout
6ef9430153
closes #6231 ; add a test case ( #21485 )
2023-03-07 17:34:02 +08:00
Aditya Siram
2564b5c938
Fix #20416 . Enable the recursion limit for ref/ptr types. ( #21092 )
2022-12-13 22:57:07 +08:00
metagn
e98efdcc5e
fix #16639 ( #21017 )
2022-12-05 22:52:49 +01:00
metagn
5536f74992
fix #20996 ( #21016 )
...
* fix #20996
* hopefully fix
2022-12-04 20:37:23 +01:00
Bung
aa6f9d490f
fix #6637 array index type depends generic ( #20673 )
2022-10-27 12:22:04 +02:00
Bung
3469f37a56
add test case for #500 ( #20661 )
2022-10-26 19:45:51 +08:00
ringabout
684a862526
closes #4466 ; add testcase ( #20625 )
2022-10-23 16:47:52 +08:00
Bung
083ea8f10c
fix #7446 Generics: type mismatch 'SomeunsignedInt or Natural' ( #20522 )
...
* fix #7446 Generics: type mismatch 'SomeunsignedInt or Natural'
* try fix
2022-10-11 11:42:49 +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
Bung
0769b160c5
less test time costs ( #20479 )
2022-10-02 06:42:41 +02:00
ringabout
7739e23420
defaults to ORC ( #19972 )
...
* defaults to Orc
* bootstrap using refc
* use gc
* init orc defines
* unregister orc
* fix gc
* fix commands
* add prepareMutation for orc
* enable deepcopy for orc
* prepareMutation
* more fixes
* some cases
* bug #20081
* partial fixes
* partial fixes
* fixes command line
* more fixes
* build Nim with refc
* use gc
* more fixes
* rstore
* orc doesn't support threadpool
* more shallowCopy
* more fixes
* fixes unsafeNew
* workarounds
* small
* more fixes
* fixes some megatest
* tcodegenbugs1 refc
* fxies megatest
* build nimble with refc
* workaround tensordsl tests
* replace shallowCopy with move
* fixes action
* workaround
* add todo
* fixes important packages
* unpublic unregisterArcOrc
* fixes cpp
* enable windows
Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com >
2022-09-23 13:05:05 +02:00
Aditya Siram
be4bd8a0ed
Fixes #20348 ; only respect the recursion limit if the symbol's generic type has been generated by the compiler ( #20377 )
...
Fixes #20348
2022-09-22 14:19:36 -04:00
ringabout
f6dc30e52d
fixes Thread initializer for ARC/ORC on Macos ( #20368 )
...
* fixes Thread initializer for ARC/ORC
* another try
* fix
* use int
2022-09-16 16:35:53 -04:00
metagn
86f7f4ffa5
remove deprecated type pragma syntax, fix bugs that required it ( #20199 )
...
* remove deprecated pragma syntax from 0.20.0
closes #4651 , closes #16653 with a cheap fix for now due to
how early `tfFinal` is set
* remove type pragma between name and generics
* undo removal, try removing bind expression (0.8.14)
* fix test, unremove bind expr
* remove again
* Update changelog.md
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
* dependencies @ HEAD & weave test dependencies
* try fix package ci
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2022-09-03 09:52:13 +02:00
Jason Beetham
1830a3b505
No longer segfault when using a typeclass with a self referencing type ( #19467 )
2022-02-02 09:38:21 +01:00
Jason Beetham
7bdfeb7819
Fixed concept constraints for static types ( #19391 )
2022-01-15 09:24:23 +01:00
Jason Beetham
a93f6e7acc
Generic parameters now can constrain statics in type definitions ( #19362 )
...
* Parameters now can constrain static in type definitions
resolved regression with generic procedures
* Update compiler/sigmatch.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2022-01-14 00:39:55 +08:00
flywind
9df195ef58
style usages part one (openarray => openArray) ( #19321 )
...
* style usages (openArray)
* revert doc changes
2022-01-04 13:29:50 +01:00
Jason Beetham
f915b3aa86
Alternative to #18928 ( #18931 )
...
* fixed #18841
* Added test
2021-09-30 16:55:43 +02:00
alaviss
6cd219c3a3
semtypinst: don't wrap type nodes from expressions in static[T] ( #18860 )
2021-09-17 06:51:26 +02:00
Jason Beetham
3f3e0fa303
Fixed #18838 ( #18841 ) [backport]
2021-09-13 09:35:19 +02:00
Jason Beetham
5d1608c976
Generic pointer procs now error if no types supplied ( #18832 )
...
* more precise logic for pointer procs
* added test for generic pointer procs
* Fixed generic getting bracket expr if erroring
2021-09-11 22:20:22 +02:00
Jason Beetham
30d28bcefc
Fixes implicit and explicit generics in procedures ( #18808 )
...
* Fixes implicit and explicit generics
* moved block logic into 'maybeInstantiateGeneric'
* Added more tests
* Update compiler/semexprs.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-09-06 20:11:21 +02:00
Jason Beetham
7ae52d7791
Fix recursive generic typed defs ( #18809 )
2021-09-06 09:43:26 +02:00
Timothee Cour
24445d31b3
improve several tests in testament ( #18635 )
...
* silence error output from template_various.nim
* any => auto in tests
* avoid showing failed for parseSpec since this is expected behavior in 2 cases: tincludefile.nim, tnav1.nim
* enforce InheritFromException
* fixup
2021-08-08 19:28:49 +02:00
Timothee Cour
78e2d299df
typo: nonexistant => nonexistent ( #17918 )
...
* typo: nonexistant => nonexistent
* fix test (ordering differs because of https://github.com/nim-lang/Nim/issues/17910 )
2021-05-02 00:26:41 +02:00
Saem Ghani
72b89eff82
semLambda removed, semProcAux reworked ( #17379 )
...
* simplified proc-like name ident to symbol code
* wip - reworking generic param sem
* wip - closer to removing nkEmpty generic params
* it's hacky but tests pass
* slowly tweaking semProcAux to take on semLambda
* fix pragma superset check proto vs current
* Set the symbol owner earlier
* partial progress reworking proto
found bug where default values between forward and impl lead to overload
resolution issues.
* simplified pragma handling and callConv checks
Co-authored-by: Clyybber <Clyybber@users.noreply.github.com >
* partially working
* cgexprs issue
* It works!
* comment clean-up
* clean-up asserts, comments, and other bits
* add isGenericParams, inline isGeneric queries
* seeing if this is sufficiently consistent
* can use this approach or continue it in a further PR
* commentary about nullary generics and clean-ups
* fixed a mistake in PNode isGenericRoutine
* Some small cleanups
* Small cleanup
* for func lambdas ensure we use lambda pragmas
* add some basic compileTime func tests
* [ci skip] remove comments
Co-authored-by: Clyybber <Clyybber@users.noreply.github.com >
Co-authored-by: Clyybber <darkmine956@gmail.com >
2021-03-17 19:51:50 +01:00
Timothee Cour
578d1ee751
std/options: $some(3) is now "some(3)", etc. (#17147 )
...
* std/options: $some(3) is now "some(3)", not "Some(3)", `$none(int)` is now `"none(int)"` instead of `"None[int]"`
* fix tests
* disable optionsutils
2021-02-24 22:17:16 +00:00
Juan Carlos
78a99587a4
Deprecate TaintedString ( #15423 )
...
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com >
2021-01-15 18:56:38 -08:00
flywind
6d442a40a6
use doAssert in tests ( #16486 )
2020-12-28 14:13:21 +01:00
Timothee Cour
6114df3c24
testament: error instead of silently overwrite a spec ( #16166 )
2020-11-29 10:42:50 -08:00
Timothee Cour
b809562c7c
make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec ( #16151 )
...
* fix megatest newlines
* still allow missing trailing newline for now but in a more strict way than before
2020-11-28 09:09:31 +01:00
c-blake
f17555770e
Clarify the sense in which Nim supports recursive iterators in the ( #15834 )
...
manual, the tutorial, and the `tbintree` test.
2020-11-04 16:56:22 +01:00
flywind
40a868bccc
add testcase for #6060 ( #15366 )
...
* add testcase for #6060
* Remove overspecific testament spec
Co-authored-by: Clyybber <darkmine956@gmail.com >
2020-09-21 13:37:14 +02:00
Andreas Rumpf
c5358b0d4b
An optimizer for ARC ( #14962 )
...
* WIP: an optimizer for ARC
* do not optimize away destructors in 'finally' if unstructured control flow is involved
* optimized the optimizer
* minor code cleanup
* first steps to .cursor inference
* cursor inference: big steps to a working solution
* baby steps
* better .cursor inference
* new feature: expandArc for easy inspection of the AST after ARC transformations
* added topt_cursor test
* adapt tests
* cleanups, make tests green
* optimize common traversal patterns
* moved test case
* fixes .cursor inference so that npeg compiles once again
* cursor inference: more bugfixes
Co-authored-by: Clyybber <darkmine956@gmail.com >
2020-07-15 23:00:06 +02:00
Clyybber
e057b1d839
Fix #14990 ( #14991 )
...
* Fix #14990
* Add testcase
2020-07-15 19:00:52 +02:00
Clyybber
f2b041f168
Reenable a few tests
2020-07-14 19:50:42 +02:00
Clyybber
ddfb7d9877
Closes #10396
2020-07-14 19:50:42 +02:00
Clyybber
03b0374e5c
Closes #8426
2020-07-14 19:50:42 +02:00
jcosborn
ffaf4797be
add full tests from #9463 ( #14975 )
2020-07-14 11:24:17 +02:00
flywind
21772b6419
add testcase for #5926 ( #14965 )
2020-07-11 17:09:41 +02:00
flywind
64815f59b2
add testcase for #4668 ( #14946 )
...
closes #4668
closes #9463
2020-07-09 12:53:12 +02:00
Danil Yarantsev
0327159344
Add test-cases to some fixed issues to close them ( #14795 )
2020-06-24 20:38:08 -07:00
Kaushal Modi
bf0e1c696f
Remove the uses of {.procvar.} pragma ( #14359 )
...
This pragma did nothing.
Ref:
- https://github.com/nim-lang/Nim/issues/2172#issuecomment-383276469
- https://github.com/nim-lang/Nim/issues/12975
2020-05-15 23:37:24 +02:00
Clyybber
eca8f1d79f
Add tests for #8481 , #6490 and #4061 ( #14083 )
2020-04-23 19:52:33 +02:00
Miran
8088633250
faster CIs ( #13803 )
...
* ttables: smaller table, 5x speedup
* thavlak: less iterations, less loops; 30% speedup
* tasyncclosestall: shorter timeout; 35% speedup
* gcleak4: less iterations, 2x speedup
* ttimes: remove deprecated stuff
* tdangerisrelease: remove cpp backend, 3x speedup
* tfrexp1: smaller range, 2x speedup
* trtree: fix warnings, less iterations, 6x speedup
* tasyncawait_cyclebreaker: smaller swarm size; 2x speedup
* trealloc: smaller number of iterations; 10x speedup
* towned_binary_tree: less iterations, 4x speedup
* tclosure: remove unused code, less iterations; 2x speedup
* twaitany: less durations; 1.4x speedup
* tasync_misc: less iterations, 2x speedup
* t8535: smaller sleep, 1.5x speedup
* tmanyjoin: smaller sleep, 2x speedup
* t12221: shorter sleeps, removed two slower tests; 1.6x speedup
* tfuturestream: smaller sleep; 1.5x speedup
* growobjcrash: less iterations; 2x speedup
* ttryrecv: smaller sleep; 1.5x speedup
* treusetvar: less threads; 2x speedup
* delete tthreadanalysis2, basically a duplicate of tthreadanalysis
* t7758: less iterations, 1.5x speedup
* tasyncawait: smaller swarm, less messages; 1.5x speedup
* tjsandnativeasync: smaller sleep, 1.5x speedup
* tpendingcheck: smaller sleep, 1.5x speedup
* remove rodfiles test category
* move tseq from its own category to 'collections' category
* remove unneeded tests and helpers from 'assert' category
* stdlib: merge tbitops2 into tbitops
* remove 'trepr2' from 'stdlib' cat
* merge 'tstreams' into one file
* remove 'tinefficient_const_table' from 'ccbugs' cat
* merge 'tcollections_to_string' into 'tcollections'
* tblocking_channel: smaller sleep, small speedup
* tconvexhull: less iterartions; 1.2x speedup
* merge 'tdeepcopy2' into 'tdeepcopy'
* merge 'tdisjoint_slice2' into 'tdisjoint_slice1'
* tmissing_deepcopy: smaller sequence
* tsendtwice: smaller arrays; 5x speedup
* remove 'tindexerrorformatbounds'
* disable multimethod tests
* remove 'gc:none' and 'refc' without 'd:useRealtimeGC' from gc tests
* koch.nim: bootstrap just with '-d:release', no need for 'csource'
* add github workflow for documentation
* testament: no need for 8 sub-second decimals
2020-03-30 13:18:12 +02:00
Miran
5b55aa52d0
fix deprecations and other warnings ( #13748 )
2020-03-25 19:15:34 +01:00