RX0046

Domain: Parsing

Error message

the `:` slot names neither a declared rule leaf nor a rule chain tungsten admits: %s (%s)

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

The story

After a value, you wrote a colon and a word, and the engine did not understand the word. That colon slot is where you attach a rule to a bind. Right now, two simple rules exist: immutable, which locks the cell once it is written, and mutable, which keeps it open. Beyond those, you can write a rule chain, such as a number type followed by greater or equal to one and less or equal to sixty five thousand five hundred thirty five. That chain is handed to tungsten at parse time. You can use it on binds, on parameters, on an answer after the arrow, and on list elements. Now, what went wrong? Your word was neither one of the declared rules nor a chain tungsten can read. Maybe a misspelled rule, maybe an undeclared type, or an operation tungsten does not know. Why refuse instead of ignoring it? Because an ignored rule is a constraint you believe in that is not being enforced. The message shows the word and where it was written. Fix the spelling, or declare the type, and the rule will hold.

Text from the Rush engine's error catalogue.