RX0360

Domain: Execution

Error message

%s was handed a being it does not advance (%s)

In the message, %s marks a value that the engine fills in when it raises the error.

The story

This message comes from deep inside the engine, from the doors that write to the heap. Here is the idea. Each heap door is strict. It moves exactly one kind of thing, in exactly one state. The accumulator and the cursor only advance while a run is in progress. A member can only be poured into an accumulator that was already opened for a collection. An inner collection can only be closed if one is open. The base can only be carried first. If a door is handed anything else, it has nothing legal to write. It could write somewhere else, but that would corrupt the heap, so it refuses. And it tells you exactly what it needed in the second slot. In everyday terms, it is like trying to close a drawer that is not open. This is almost always a defect in the builtin that called the door, a call made out of order, not a mistake in your script. The useful part is that the failure shows up right at the door, where it is easy to trace. Please report the message.

Text from the Rush engine's error catalogue.