https://issues.dlang.org/show_bug.cgi?id=18432
--- Comment #7 from Mike Franklin <slavo5...@yahoo.com> --- Reduced test case --- moduleA.d module moduleA; template TestTemplate() { } --- moduleB.d module moduleB; import moduleA : TestTemplate; alias TestTemplate = TestTemplate; --- main.d import moduleB; alias TestTemplate = moduleB.TestTemplate; void main() { } compile with: dmd main.d moduleA.d moduleB.d --