Error message
In the message, %s marks a value that the engine fills in when it raises the error.
The story
You asked for a remainder, and the divisor was zero. Think about what a remainder is. You divide, you get a quotient, and a bit is left aside. That bit is the remainder. But dividing by zero has no quotient at all. So there is nothing for the remainder to be left from. Many languages cover this up. They return not a number, or infinity, or a default zero. Rush does not. The rule is that division and modulo by zero are refused loudly. Why? Because a made up answer would flow into the rest of your program and quietly corrupt everything after it. Say you wanted to know which row of a table an item falls on, using the item count modulo the number of columns. If the columns count is zero, that is a bug in your data, and the engine would rather show you now. The message names the dividend and the divisor as written. The fix: check the divisor before dividing, and decide on purpose what to do when it is zero.
Text from the Rush engine's error catalogue.
