cat > bug.d << CODE static if (true) enum a = b; static if (true) enum b = 0; CODE dmd -c bug.d ---- Obviously this is a problem with semantic analysis being done in lexical order instead of lazily.
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/18672 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB