RX0017

Domain: Engine

Error message

builtin %s answers the production test with %s, which the Trinity vocabulary does not hold

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

The story

Your engine stopped at birth because a builtin answered a question with a word the engine does not know. The question is simple: does executing this builtin produce a value? Each builtin answers in its production_test line, and the allowed answers are listed in trinity.feml. This builtin wrote something that is not on that list. Maybe a typo, maybe a word that sounded right. The engine does not try to round it to the nearest option, and here is why: a close answer is still an answer to a different question. Guessing the kind would mean inventing a second rule for classification, and the design allows only one. It is like a multiple choice test where you write maybe: there is no partial credit, because the grader has no box for it. The message tells you the builtin and the word it used. You have two ways out. Change the answer to one of the declared ones, or, if the new answer truly deserves to exist, add it as a new row in trinity.feml. No C code is touched either way.

Text from the Rush engine's error catalogue.