Undeclared constant not detected by the compiler

The compiler does not detect that the constants for the Dictionary directive are not declared. However, it assigns them a value.

Dictionary 'word' DICT_XXX DICT_YYY;

[ main;
   print ('word'->#dict_par1), "^";
   print ('word'->#dict_par3), "^";
];

162
35
(instead of 128, 0)

Please file bugs at https://github.com/DavidKinder/Inform6 . I’m going to forget about them if they only appear on the forum.

The correct behavior here is an “undeclared constant” error, by the way. This is not a case where the compiler can handle a forward-declared constant.