Files
Nim/tests/template/t17433.nim
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

17 lines
407 B
Nim

# Inside template bodies, ensure return types referencing a param are replaced.
# This helps guarantee that return parameter analysis happens after argument
# analysis.
# bug #17433
from std/macros import expandMacros
proc bar(a: typedesc): a = default(a)
doAssert bar(float) == 0.0
doAssert bar(string) == ""
template main =
proc baz(a: typedesc): a = default(a)
doAssert baz(float) == 0.0
main()