https://issues.dlang.org/show_bug.cgi?id=16957
--- Comment #1 from John Colvin <[email protected]> --- a related problem that seems likely to have the same root cause: T[N] bar(T, size_t N)(T[N] a) { return a; } alias foo = bar; // remove this line and everything's ok. template foo(alias r) { enum s = bar(r); pragma(msg, typeof(s), " ", s); enum foo = s; } enum x = foo!([0,1,2]); output: int[3] [0, 1, 2] test.d(15): Error: cannot infer type from template instance foo!([0, 1, 2]) --
