https://issues.dlang.org/show_bug.cgi?id=13816
Kenji Hara <k.hara...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice Hardware|x86_64 |All Summary|The compiler crashes with |[REG2.066.0] The compiler |getProtection trait |crashes with recursive | |tuple expansion OS|Mac OS X |All Severity|blocker |regression --- Comment #1 from Kenji Hara <k.hara...@gmail.com> --- It's a regression from 2.066.0. Reduced test case: alias TypeTuple(T...) = T; template ItemProperty() { static if (true) { alias ItemProperty = TypeTuple!(ItemProperty!()); // line 14 } } void main() { alias items = ItemProperty!(); // line 19 enum num = items.length; // line 21 } Until 2.065, the code had printed: test.d(14): Error: alias test.ItemProperty!().ItemProperty recursive alias declaration test.d(19): Error: template instance test.ItemProperty!() error instantiating But since 2.066, line 19 makes no error, and line 21 will crash the compiler. --