metagn
81756d1810
second test case haul for templates and generics ( #22728 )
...
closes #8390 , closes #11726 , closes #8446 , closes #21221 , closes #7461 ,
closes #7995
2023-09-19 15:26:26 +08:00
metagn
3de8d75513
correct logic for qualified symbol in templates ( #22577 )
...
* correct logic for qualified symbol in templates
fixes #19865
* add test
2023-08-28 21:40:46 +02:00
metagn
c19fd69b69
test case haul for old generic/template/macro issues ( #22564 )
...
* test case haul for old generic/template/macro issues
closes #12582 , closes #19552 , closes #2465 , closes #4596 , closes #15246 ,
closes #12683 , closes #7889 , closes #4547 , closes #12415 , closes #2002 ,
closes #1771 , closes #5121
The test for #5648 is also moved into its own test
from `types/tissues_types` due to not being joinable.
* fix template gensym test
2023-08-27 11:27:47 +02:00
metagn
1cc4d3f622
fix generic param substitution in templates ( #22535 )
...
* fix generic param substitution in templates
fixes #13527 , fixes #17240 , fixes #6340 , fixes #20033 , fixes #19576 , fixes #19076
* fix bare except in test, test updated packages in CI
2023-08-25 21:08:47 +02:00
SirOlaf
3de75ffc02
Fix #21532 : Check if template return is untyped ( #22517 )
...
* Don't ignore return in semTemplateDef
* Add test
---------
Co-authored-by: SirOlaf <>
2023-08-23 06:18:35 +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
metagn
88388040db
add tests to close #7223 , close #11733 ( #22111 )
...
add test to close #7223 , close #11733
closes #7223 , closes #11733 , were fixed by #22076
2023-06-16 17:14:47 +02:00
metagn
3ac2d81601
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
2023-06-16 08:38:48 +02:00
metagn
71801c2b8f
fix dot calls with resolved symbols in templates ( #22076 )
...
* fix dot calls with resolved symbols in templates
* make old code work
* fix custom number literals test
* remove leftover debug marker
* enable "bug 9" test too
* fix renderer, add test for #7085
2023-06-12 06:34:34 +02:00
metagn
b97d603cd0
some test cleanups & category reorganization ( #22010 )
...
* clean up some test categories
* mention exact slice issue
* magics into system
* move trangechecks into overflow
* move tmemory to system
* try fix CI
* try fix CI
* final CI fix
2023-06-06 06:54:07 +02:00
metagn
2dcc7195da
support generic void return type for templates ( #21934 )
...
fixes #21920
2023-05-27 20:09:34 +02:00
metagn
0032322ea8
fix #21727 ( #21729 )
2023-04-26 08:02:44 +02:00
metagn
63d29ddd69
alias syntax fixes, improvements and tests ( #21671 )
...
* alias syntax fixes, improvements and tests
* even better, cannot use alias syntax with generics
* more type tests, improve comment
* fix again
* consistent error message + make t5167_5 work
* more comments, remove {.noalias.}
2023-04-22 09:11:56 +02:00
metagn
ecf9efa397
document general use of _, error message, fixes ( #21584 )
...
* document general use of `_`, error message, fixes
fixes #20687 , fixes #21435
Documentation and changelog updated to clarify new universal behavior
of `_`. Also new error message for attempting to use `_`, new tests,
and fixes with overloadable symbols and
implicit generics.
* add test for #21435
2023-03-30 15:34:42 +02:00
ringabout
53eed2be45
close #11705 ; add a testcase ( #21128 )
2022-12-18 22:31:13 +08:00
metagn
6d8cf25bd7
deprecate do: meaning do (): + misc cleanup ( #20927 )
...
* test disable do: block lambda lifting
* fix last test [skip ci]
* deprecate `do:` meaning `do ():` + misc cleanup
closes https://github.com/nim-lang/RFCs/issues/486
* oops
* fix
* no idea what could be causing nimsuggest failure other than this
* ensure ci works
2022-12-06 09:44:26 +01:00
Bung
bae0fb720a
fix #19149 Invalid codegen when returning var tuple from a template ( #20762 )
...
* fix #19149 Invalid codegen when returning var tuple from a template
* fix type
2022-11-06 11:49:34 +01:00
metagn
cb3af8ad39
alternate fix + test for #12094 , refs #13804 ( #20686 )
2022-10-29 07:20:04 +02:00
ringabout
064b72a59c
fixes #1027 ; disallow templates to use ambiguous identifiers ( #20631 )
...
* test qualifiedLookUp in templates
* check later
* add testcase
* add 4errormsg
* Update tests/template/m1027a.nim
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
* Update tests/template/m1027b.nim
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
2022-10-24 21:44:09 +02:00
SirOlaf
2f441ac675
[backport] Handle nkOpenSymChoice for nkAccQuoted in considerQuotedIdent ( #20578 )
...
* Handle nkOpenSymChoice for nkAccQuoted in considerQuotedIdent
* Add test
* Update compiler/lookups.nim
Co-authored-by: SirOlaf <a>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2022-10-18 14:56:38 -04:00
Bung
0510a2be0d
fix #19700 Crash when passing a template to a generic functio… ( #20567 )
...
fix nim-lang#19700 Crash when passing a template to a generic function expecting a procedure
2022-10-15 07:15:58 +02:00
metagn
2cca38d33c
pragma for sfCallsite instead of name check + better semantics, test ( #20464 )
...
* pragma for sfCallsite instead of name check at every template definition
Not documented because it seems to be for internal use?
Should also make it possible to make comparisons and setops imports, but this doesn't have to be done.
I can reuse a name like `cursor` for the pragma as well, added a new name just to be safe.
* make sfCallsite recursive, add tests
2022-10-03 06:07:55 +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
metagn
58e6d439d8
fix #13515 [backport] ( #20315 )
...
* fix #13515
* only compile test
* no idea why this PR is unlocking this
* don't rope in symchoices
* even more restrictive
2022-09-11 08:33:24 +02:00
metagn
d1d141b135
new .redefine pragma for templates, warn on redefinition without it ( #20211 )
...
* test CI for template redefinitions
* adapt asyncmacro
* fix quote
* fix again
* try something else
* revert
* fix ioselectors_select, disable packages CI
* adapt more tests & simplify
* more
* more
* more
* rename to redefine, warn on implicit redefinition
* basic documentation [skip ci]
* Update compiler/lineinfos.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2022-08-23 21:41:30 +02:00
metagn
f35c9cf73d
fix #20002 ( #20004 )
...
While this fix seems innocent,
this unlocks the hidden behavior of
method calls not being able to call
gensym'ed routines inside templates.
2022-07-15 12:37:08 +02:00
flywind
5d34e81f23
fix term rewriting with sideeffect ( #19410 )
...
* fix term rewriting with sideeffect
fix #6217
* add tests
* Update tests/template/template_various.nim
2022-01-19 12:37:30 +01:00
flywind
9df195ef58
style usages part one (openarray => openArray) ( #19321 )
...
* style usages (openArray)
* revert doc changes
2022-01-04 13:29:50 +01: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
52e276c82d
exportC => exportc ( #18625 )
2021-07-31 23:54:08 -07:00
Saem Ghani
b7ad29e692
fix #18113 ( #18124 )
2021-05-31 13:27:44 +02:00
flywind
6f53579a8c
close #9534 add testcase ( #17607 )
2021-04-01 08:47:59 +02:00
Saem Ghani
e5873b3a93
semTemplateDef and t17433 clean-ups ( #17448 )
...
- use `doAssert` in t17433
- use setGenericParamsMisc in semTemplateDef akin to semProcAux
- pragma handling in semTemplateDef inline with semProcAux
2021-03-22 12:46:34 +01:00
Saem Ghani
23fd098428
Fixes #17433 ; gensym callDef return in templ body ( #17445 )
2021-03-22 00:33:37 +01:00
flywind
0e3ea16554
use lowercase --define switches ( #17283 )
2021-03-07 12:08:41 +01:00
konsumlamm
eef2948ec2
Fix #12595 ( #16874 )
2021-01-31 01:00:18 +01:00
Clyybber
3df652b90b
Add testcase for #5993 ( #16789 )
2021-01-22 02:11:21 +01:00
flywind
271f68259b
remove some noises in tests ( #16448 )
2020-12-27 14:45:57 +01: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
flywind
98cec6b692
closes #3670 [add testcase for #3670 ] ( #15808 )
...
* add testcase
* Update tests/template/twhenintemplates.nim
Co-authored-by: Clyybber <darkmine956@gmail.com >
2020-11-01 19:53:00 +01:00
flywind
1725db9295
closes #7374 ( #15781 )
...
* add testcase for #7374
* minor
* fix test
2020-10-30 09:59:56 +01:00
Clyybber
fb58066b61
Fix #5691 ( #15158 )
...
* Fix #5691
* Cleanup and thoughts
* Use scope approach
* Seperate defined/declared/declaredInScope magics
* Fix declaredInScope
* Update spec accordingly
2020-08-27 15:50:59 +02:00
Clyybber
2cea52ee7e
Allow pragmas on parameters ( #15178 )
2020-08-11 22:28:49 +02:00
Clyybber
2629d619a1
Fix forward declaration issues in template/macro context ( #15091 )
...
* Fix forward declaration issues in template/macro context
* Correct forward declaration resolving for overloads
* Remove old dead code
* WIP consistent gensym ids
* Minimize diff
* Remove obsoleted hack
* Add templInstCounter to give unique IDs to template instantiations
* Remove obsoleted code
* Eh, init in myOpen, not myProcess...
* Remove optNimV019
* Add testcase for #13484
2020-07-29 16:17:20 +02:00
Clyybber
425972c4e8
Add testcase for some old fixed issues ( #14960 )
...
* Add testcase for #2703
* Add testcase for #2586
* Small fix
2020-07-10 19:21:50 +02:00
Clyybber
b21782a667
Add testcase for #4722 ( #14954 )
2020-07-10 17:02:49 +02:00
Timothee Cour
a6cbe58e8c
typetraits.$: $((int, float), int) is now "((int, float), int)" instead of "(tuple of (int, float), int)" ( #14812 )
...
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2020-07-02 16:19:43 +02:00
Miran
e7f280bd26
Remove deprecated stuff from stdlib ( #14699 )
...
* update to the latest Jester
* remove deprecated procs from some stdlib modules
* 'criterion' is not maintained anymore and relies on obsolete stuff
2020-06-17 15:25:02 +02:00
jcosborn
5a22d6b57b
fix codegen bug due to changing existing symbol declaration in template ( #14666 )
2020-06-15 08:40:12 +02:00
Federico Ceratto
39290cf88c
Fix spellings ( #12277 ) [backport]
2019-09-27 07:02:54 +02:00