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)
zarf
(Andrew Plotkin)
2
Please file bugs at https://github.com/DavidKinder/Inform6 . I’m going to forget about them if they only appear on the forum.
zarf
(Andrew Plotkin)
3
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.