RX0362

Domain: Execution

Error message

%s poured a member against its collection's keying (%s)

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

The story

A member was poured into a collection in a way that does not fit the collection's shape. Here is the rule. Every collection decides, by its own shape, whether its members carry keys. A map is keyed: every member has a name, and that name cannot be empty. A list is not keyed: members have positions and no names. That decision belongs to the collection, never to the one who is pouring. So three things are refused: a keyed member poured into a list, an unkeyed member poured into a map, and a key that is empty. The check happens at the pour itself, before the number engine is even consulted. Think of a coat rack with numbered hooks and a cabinet with labeled drawers. You cannot hang a labeled drawer on a hook, and you cannot put a coat in a drawer with no label. The second slot tells you which of the three happened. In a script, this usually means a missing label for a map, or an extra label for a list. Fix the shape or the label, and the pour will work.

Text from the Rush engine's error catalogue.