Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[REG master] Explicitly instantiate StringValue!Type in dmd.mtype
Issue 21299 has reared its ugly head again, this time the revert needed to resolve it is: ```diff --- a/compiler/src/dmd/dsymbolsem.d +++ b/compiler/src/dmd/dsymbolsem.d @@ -21,6 +21,7 @@ import dmd.arraytypes; import dmd.astcodegen; import dmd.astenums; import dmd.attrib; +import dmd.blockexit; import dmd.clone; import dmd.cond; import dmd.dcast; ``` These code migrations between modules are making the import graph extremely brittle for compilers with the known template emission bug, and the relation between the bug and the change that triggered it is becoming less obvious. In order to inure ourselves against these linker errors then, the `String!Value` type is now explicitly instantiated inside `dmd.mtype`. This is safe for compilers with and without the template issue, but it is put inside a `static if` block anyway to make it clear that it shouldn't be removed.
- Loading branch information