RX0058

Domain: Execution

Error message

%s holds no map (%s)

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

The story

You asked for the values of something, but that something is not a map. Only a map has values attached to labels. A list has positions. A text is just text. A number or a truth value is a single thing. None of them has labeled values to hand back. The old engine used to answer with an empty list in these cases. But here is the problem: in rush, an empty collection cannot exist. A collection is born with its first member. So answering with an empty list would be handing you something that is not allowed to exist, and it would hide your mistake. So the engine refuses, and tells you what it was given. The message names the value as you wrote it, and then the row's own explanation of what it needs. Example: asking for the values of a plain list. The fix: check what your name really holds. If you need the members of a list, use the list door, and if you meant to have a map, make sure you built one with labels. Give it a map, and you will get values.

Text from the Rush engine's error catalogue.