summary refs log tree commit diff stats
path: root/tests/template
Commit message (Collapse)AuthorAgeFilesLines
* closes #22846; adds a test case (#23374)ringabout2024-03-081-0/+9
| | | closes #22846
* don't transform typed bracket exprs to `[]` calls in templates (#23175)metagn2024-01-071-0/+38
| | | | | | | | | | | | | | fixes #22775 It's pre-existing that [`prepareOperand` doesn't typecheck expressions which have types](https://github.com/nim-lang/Nim/blob/a4f3bf374238df96f0982b7106e3702da6b485b1/compiler/sigmatch.nim#L2444). Templates can take typed subscript expressions, transform them into calls to `[]`, and then have this `[]` not be resolved later if the expression is nested inside of a call argument, which leaks an untyped expression past semantic analysis. To prevent this, don't transform any typed subscript expressions into calls to `[]` in templates. Ditto for curly subscripts (with `{}`) and assignments to subscripts and curly subscripts (with `[]=` and `{}=`).
* second test case haul for templates and generics (#22728)metagn2023-09-193-5/+22
| | | | closes #8390, closes #11726, closes #8446, closes #21221, closes #7461, closes #7995
* correct logic for qualified symbol in templates (#22577)metagn2023-08-281-0/+4
| | | | | | | * correct logic for qualified symbol in templates fixes #19865 * add test
* test case haul for old generic/template/macro issues (#22564)metagn2023-08-274-8/+97
| | | | | | | | | | | | * 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
* fix generic param substitution in templates (#22535)metagn2023-08-251-0/+80
| | | | | | | * 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
* Fix #21532: Check if template return is untyped (#22517)SirOlaf2023-08-231-0/+8
| | | | | | | | | * Don't ignore return in semTemplateDef * Add test --------- Co-authored-by: SirOlaf <>
* fixes #21231; template with module as parameter elides usage/checking of ↵ringabout2023-06-211-0/+10
| | | | | | | module name specifier (#22109) * fixes #21231; template with module as parameter elides usage/checking of module name specifier * add a test case
* add tests to close #7223, close #11733 (#22111)metagn2023-06-163-8/+53
| | | | | add test to close #7223, close #11733 closes #7223, closes #11733, were fixed by #22076
* consider object types as declarative in templates (#22106)metagn2023-06-161-0/+12
| | | | | | | | | * consider object types as declarative in templates fixes #16005 * correct logic for nkRecList children, inject fields * don't actually inject fields
* fix dot calls with resolved symbols in templates (#22076)metagn2023-06-122-0/+32
| | | | | | | | | | | | | * 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
* some test cleanups & category reorganization (#22010)metagn2023-06-062-5/+33
| | | | | | | | | | | | | | | | | * 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
* support generic void return type for templates (#21934)metagn2023-05-271-0/+6
| | | fixes #21920
* fix #21727 (#21729)metagn2023-04-261-0/+11
|
* alias syntax fixes, improvements and tests (#21671)metagn2023-04-223-16/+91
| | | | | | | | | | | | | * 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.}
* document general use of `_`, error message, fixes (#21584)metagn2023-03-301-1/+1
| | | | | | | | | | | | * 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
* close #11705; add a testcase (#21128)ringabout2022-12-181-0/+17
|
* deprecate `do:` meaning `do ():` + misc cleanup (#20927)metagn2022-12-061-1/+1
| | | | | | | | | | | | | | | | | * 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
* fix #19149 Invalid codegen when returning var tuple from a template (#20762)Bung2022-11-061-0/+19
| | | | | * fix #19149 Invalid codegen when returning var tuple from a template * fix type
* alternate fix + test for #12094, refs #13804 (#20686)metagn2022-10-291-0/+11
|
* fixes #1027; disallow templates to use ambiguous identifiers (#20631)ringabout2022-10-243-0/+24
| | | | | | | | | | | | | | | | | | | | * 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>
* [backport] Handle nkOpenSymChoice for nkAccQuoted in considerQuotedIdent ↵SirOlaf2022-10-181-0/+15
| | | | | | | | | | | | (#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>
* fix #19700 Crash when passing a template to a generic functio… (#20567)Bung2022-10-151-0/+10
| | | fix nim-lang#19700 Crash when passing a template to a generic function expecting a procedure
* pragma for sfCallsite instead of name check + better semantics, test (#20464)metagn2022-10-032-0/+37
| | | | | | | | | | | * 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
* defaults to ORC (#19972)ringabout2022-09-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* fix #13515 [backport] (#20315)metagn2022-09-111-0/+16
| | | | | | | | | | | * fix #13515 * only compile test * no idea why this PR is unlocking this * don't rope in symchoices * even more restrictive
* new .redefine pragma for templates, warn on redefinition without it (#20211)metagn2022-08-233-3/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* fix #20002 (#20004)metagn2022-07-151-0/+8
| | | | | | While this fix seems innocent, this unlocks the hidden behavior of method calls not being able to call gensym'ed routines inside templates.
* fix term rewriting with sideeffect (#19410)flywind2022-01-191-0/+19
| | | | | | | | | * fix term rewriting with sideeffect fix #6217 * add tests * Update tests/template/template_various.nim
* style usages part one (openarray => openArray) (#19321)flywind2022-01-043-4/+4
| | | | | * style usages (openArray) * revert doc changes
* improve several tests in testament (#18635)Timothee Cour2021-08-082-3/+5
| | | | | | | | | | | * 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
* exportC => exportc (#18625)Timothee Cour2021-07-311-1/+1
|
* fix #18113 (#18124)Saem Ghani2021-05-311-0/+14
|
* close #9534 add testcase (#17607)flywind2021-04-011-0/+21
|
* semTemplateDef and t17433 clean-ups (#17448)Saem Ghani2021-03-221-3/+3
| | | | | - use `doAssert` in t17433 - use setGenericParamsMisc in semTemplateDef akin to semProcAux - pragma handling in semTemplateDef inline with semProcAux
* Fixes #17433; gensym callDef return in templ body (#17445)Saem Ghani2021-03-221-0/+16
|
* use lowercase --define switches (#17283)flywind2021-03-071-1/+1
|
* Fix #12595 (#16874)konsumlamm2021-01-311-2/+8
|
* Add testcase for #5993 (#16789)Clyybber2021-01-221-0/+16
|
* remove some noises in tests (#16448)flywind2020-12-271-3/+3
|
* make megatest consistent with unjoined tests wrt newlines, honor newlines in ↵Timothee Cour2020-11-281-2/+0
| | | | | | | output spec (#16151) * fix megatest newlines * still allow missing trailing newline for now but in a more strict way than before
* closes #3670 [add testcase for #3670] (#15808)flywind2020-11-011-0/+11
| | | | | | | * add testcase * Update tests/template/twhenintemplates.nim Co-authored-by: Clyybber <darkmine956@gmail.com>
* closes #7374 (#15781)flywind2020-10-301-0/+29
| | | | | | | * add testcase for #7374 * minor * fix test
* Fix #5691 (#15158)Clyybber2020-08-272-0/+68
| | | | | | | | * Fix #5691 * Cleanup and thoughts * Use scope approach * Seperate defined/declared/declaredInScope magics * Fix declaredInScope * Update spec accordingly
* Allow pragmas on parameters (#15178)Clyybber2020-08-111-0/+15
|
* Fix forward declaration issues in template/macro context (#15091)Clyybber2020-07-291-0/+126
| | | | | | | | | | | | | | | | | | | | | | | * 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
* Add testcase for some old fixed issues (#14960)Clyybber2020-07-101-0/+8
| | | | | | | * Add testcase for #2703 * Add testcase for #2586 * Small fix
* Add testcase for #4722 (#14954)Clyybber2020-07-101-0/+21
|
* typetraits.$: $((int, float), int)` is now `"((int, float), int)"` instead ↵Timothee Cour2020-07-021-1/+1
| | | | | of `"(tuple of (int, float), int)" (#14812) Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* Remove deprecated stuff from stdlib (#14699)Miran2020-06-172-2/+2
| | | | | | | * update to the latest Jester * remove deprecated procs from some stdlib modules * 'criterion' is not maintained anymore and relies on obsolete stuff