discard """ targets: "c cpp js" """ # bug #8545 template bar(a: static[bool]): untyped = int proc main() = proc foo1(a: static[bool]): auto = 1 doAssert foo1(true) == 1 proc foo2(a: static[bool]): bar(a) = 1 doAssert foo2(true) == 1 proc foo3(a: static[bool]): bar(cast[static[bool]](a)) = 1 doAssert foo3(true) == 1 proc foo4(a: static[bool]): bar(static(a)) = 1 doAssert foo4(true) == 1 static: main() main()