Why the fist is wrong? It is a call expression which is
acceptable according to the UDA grammar.
I'm not saying the syntax in the first example is, or should be,
invalid.
The reason the second
does not compile is because the statement is evaluated at CT,
and
interpreter cannot evaluate call without source, like a regular
explicit call.
I know that, the thing is that it will give this error every time
you try to use the attributes of foo (or am I missing some use
case?). So I think it would be better if the declaration in the
first example would be illegal, since it doesn't really make any
sense and is useless.