https://issues.dlang.org/show_bug.cgi?id=13776
Issue ID: 13776 Summary: Incorrect "recursive alias declaration" error with `__traits(compiles, ...)` Product: D Version: D2 Hardware: All OS: All Status: NEW Keywords: rejects-valid Severity: regression Priority: P1 Component: DMD Assignee: nob...@puremagic.com Reporter: verylonglogin....@gmail.com This code used to compile: --- enum t1(T) = __traits(compiles, { T; }); enum t2(A...) = 1; template t3() { struct S; alias t3 = t2!(t1!S); } void main() { alias t = t3!(); } --- main.d(8): Error: alias main.t3!().t3 recursive alias declaration main.d(8): Error: template instance t2!(t1!(S)) recursive template expansion main.d(8): Error: alias main.t3!().t3 recursive alias declaration main.d(8): Error: alias main.t3!().t3 recursive alias declaration main.d(8): Error: template instance main.t1!(S) error instantiating main.d(13): instantiated from here: t3!() --- --