https://issues.dlang.org/show_bug.cgi?id=12727
--- Comment #5 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/fbd78c3db2c2c03ec098c1b433431d7f3f144ef7 fix Issue 12727 - DMD hangs up on recursive alias declaration By the commit fd1762c33ac034ad3112e69f21421b5c75b3cc6c, now static-if declaration does nothing in `addMembers` phase, and conditional eponymous template instance cannot raise "recursive alias declaration" error in `TemplateInstance::semantic`, because `TemplateInstance::aliasdecl` is not set until the end of it. By looking for circular aliasing not only in `AliasDeclaration::semantic` but also in `AliasDeclaration::toAlias`, we can defer the detection until appropriate timing. https://github.com/D-Programming-Language/dmd/commit/402efb34eba5e45f20a1b05850eac3647f6e635c Merge pull request #3545 from 9rnsr/fix12727 [REG2.066a] Issue 12727 - DMD hangs up on recursive alias declaration --