By passing nil (ok, by setting the default to nil), you can get foo3() behaving
as follows
template foo(_: untyped): auto =
echo "foo"
1
template foo2(_: varargs[untyped]): auto =
echo "foo2"
block:
discard
2
template foo3(_: untyped = nil): auto =
echo "foo3"
3
let x = (block:
foo:
discard)
let y = foo2()
let z = foo3()
echo x
echo y
echo z
- cannot assign result of a template with block argument unless su... evacchi
- Re: cannot assign result of a template with block argument ... mashingan
- Re: cannot assign result of a template with block argum... evacchi
- Re: cannot assign result of a template with block a... mashingan
- Re: cannot assign result of a template with blo... jlp765
- Re: cannot assign result of a template wit... planhths
- Re: cannot assign result of a template... evacchi
- Re: cannot assign result of a temp... mashingan
- Re: cannot assign result of a temp... evacchi
- Re: cannot assign result of a temp... mashingan
- Re: cannot assign result of a temp... evacchi
- Re: cannot assign result of a temp... evacchi
