This used to work some weeks ago:
template T tfunc() { return t + 10; } template constexpr T
Looks like it should give an error - it has no way of knowing that you passed in a constant value as t to func.
More generally, you can't use runtime values as template arguments. Templates are inherently a compile-time construct.