|View Issue Details [ Jump to Notes ] ||[ Issue History ] [ Print ] |
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002132||Core Inform||Assertions and creations||public||2020-05-30 20:11||2020-05-30 20:11|
|Assigned To|| |
|Product Version||6M62|| |
|Target Version||Fixed in Version|| |
|Summary||0002132: Compiler provides misleading problem message depending on placement of new action declaration|
|Description||The example code creates a problem message (see "Additional Information") that implies a constant action can't be used as the usual value for a property holding a stored action. However, this message is not produced and the code functions as expected if a new action declaration (for an action used by the line identified in the problem message) is moved before the line in question.|
On the whole, there doesn't seem to be much sensitivity to code order at this point in Inform's evolution, so I am not sure whether or not it is intentional that the new action must be declared before code using it. In any case, the problem message does not accurately communicate the nature of the problem, and incorrectly implies that the code cannot be made to work.
This may be better filed under "Actions" but the particular message seems to come from the compiler looking at the creation of a constant stored action, so "Assertions and creations" seemed a better fit. The severity of "serious" is based on the guidance for the associated "effect," assuming that the code is intended to be valid.
|Minimal Source Text To Reproduce|
[Fake-actioning is an action out of world applying to nothing.] [In this position, the code compiles
and functions as expected.]
The void is a thing.
The null action is always the action of the void fake-actioning.
A koan is a kind of thing. A koan has a stored action called paradox.
The paradox of a koan is usually the null action.
Trees falling is a koan.
showme the null action.
After waving hands:
showme paradox of trees falling.
Fake-actioning is an action out of world applying to nothing. [In this position, a problem message is
Place is a room.
test me with "jump / wave".
|Additional Information||The exact text of the problem message produced is:|
Problem. In 'The paradox of a koan is usually the null action' you give a value of the paradox property as 'null action', and while this does make sense as an action, it is a value which exists and changes during play, and which doesn't make sense to use when setting up the initial state of things.
|Tags||No tags attached.|
|Effect||(serious) Compiler rejects valid code|