RX0501

Domain: Parsing

Error message

a retired builtin: %s (%s)

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

The story

You used slurp, and rush told you that word was retired. Here is the reason. Slurp was a second name for read dot all, the builtin that reads everything from the input. Two names for the same thing may sound harmless, but there is a rule in rush: one being, one name. No aliases. If every thing has exactly one name, you never have to wonder whether two similar words are different, and everyone who reads your script sees the same vocabulary. So slurp retired. Rather than telling you that slurp was not found, which would look like a typo, rush says it was retired, names the ruling, and shows the replacement. You write read dot all, with its square brackets, and nothing else changes. The same treatment applies to any other alias you might miss. If you happen to have your own function called slurp, it will still work, because a function you define in scope always wins over a retired name. Swap the word, run again, and you are back to normal.

Text from the Rush engine's error catalogue.