Error message
In the message, %s marks a value that the engine fills in when it raises the error.
The story
You tried to change a member of a collection using a plain equals sign, and the engine said that is not how it is done. Look at the two examples: x s dot one equals ninety nine, or m dot age equals three. They look innocent, but they would change a collection in place. In rush, a member is named by selection, but it is not a name of its own. And every change to a collection is a new version, written through the data doors. Nothing is overwritten by a quiet assignment. The only door that overwrites is data update. This also means an immutable holder refuses any change whatsoever, through any door. So the refusal comes at parse, before anything runs, and the message names the door you should use. Here is the fix. Instead of assigning to the member, call data update with the collection, the member, and the new value. A bit longer to write, but it makes every change to your data visible, deliberate, and recorded as a new version.
Text from the Rush engine's error catalogue.
