Johannes Pfau : > The only difference is the argument order for dmd! Aye, I saw this one when I updated to 2.053.... now I remember wasting an hour on that bug!
Bugzilla suggests for the workaround to just put a dummy module in there as the first argument: icehack.d ==== module icehack; import std.json; static if(__traits(compiles, parseJSON("hello"))) {} ===== Compile: dmd icehack.d [the rest of your arguments] It has to do with something in dmd not being initialized in the proper order... or something. But it's a fairly recent regression and pretty easily worked around if it comes up. My work project incorporated this into it's makefile and that's what made the pain stop.