This issue was hard to reduce to a small testcase, and somehow only crashes when two files are compiled at the same time, and the InputRange type is in its own file. inputrangetype.d: ``` struct InputRange { ubyte[] front() {} void popFront() {} bool empty() {} } ``` foo.d: ``` import std.digest.md; import inputrangetype; void foo() { md5Of(InputRange()); } ``` bar.d: ``` import std.traits; import std.digest.md; import inputrangetype; void bar() { fullyQualifiedName!(md5Of!InputRange); } ``` Compiled with this exact cmdline (reversing source files 'fixes' it): dmd foo.d bar.d it crashes the compiler, with core.exception.AssertError@dtemplate.d(7192): Assertion failure https://github.com/D-Programming-Language/dmd/blob/204253b3111166cd30d5e42d936ed5f138920ff8/src/dtemplate.d#L7192 DMD64 D Compiler v2.070-devel-204253b OS X El Capitan
https://github.com/D-Programming-Language/dmd/pull/5517
Better fix (IMO): https://github.com/D-Programming-Language/dmd/pull/5520
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/d316ee1dcec77250f1d27b35754d3b0bc703d017 fix Issue 15789 - ICE Assert in TemplateInstance semanticTiargs https://github.com/D-Programming-Language/dmd/commit/98b7f150bf2c8e802881f91996111665fc35c239 Merge pull request #5520 from 9rnsr/fix15789 Issue 15789 - ICE Assert in TemplateInstance semanticTiargs
Commit pushed to dmd-cxx at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/2a8484036e98353439754185e4814d5aee5b5aba Issue 15789 - ICE Assert in TemplateInstance semanticTiargs