RX0102

Domain: Execution

Error message

%s is a FIXED collection (%s): a remove would take it below its declared count

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

The story

You tried to remove a member from a fixed collection, and the engine said no. Fixed means exactly. A collection declared as fixed with some number N holds exactly N members, no more, no fewer. You already know that pouring past N is refused. This is the other half of the same rule. If you remove a member from a collection that holds N, it would drop to N minus one, and break the promise it was declared under. So the engine refuses before anything is written. The message gives you the collection name, its declared capacity, and how many members it holds right now. What can you do? If you wanted to change a value, use data update on the member, in place, for a map. If what you really meant was at most N, then declare the collection as bounded N, which is allowed to shrink. The word you pick at declaration tells the engine what you promised. Fixed promises exactly. Bounded promises a ceiling. Choose the promise that matches your intention.

Text from the Rush engine's error catalogue.