Message d'erreur
Dans le message, %s marque une valeur que le moteur remplit au moment où il lève l'erreur.
L'histoire
Le moteur a refusé de démarrer pour une raison simple : un builtin ne dit rien sur le test de production. Voyons pourquoi ce silence pose problème. Dans rush, chaque être est exactement un Nom, un Verbe ou un Flux, et ce genre est fixé à la naissance. Mais personne ne choisit ce genre à la main : il est dérivé de la réponse à une question, produit-il une valeur ? Si la déclaration du builtin ne répond pas, le genre ne peut pas être dérivé, et l'être reste non classé. Or un être non classé serait libre de produire une valeur sans être un verbe, ce qui est exactement la brèche que la loi cherche à empêcher. Imaginez un employé sans fiche de poste, qui toucherait à tout sans que personne sache ce qu'il a le droit de faire. Le moteur préfère s'arrêter. La réparation est courte : ajoutez au builtin la ligne production_test, suivie de l'une des réponses déclarées dans le vocabulaire. Le message nomme le builtin concerné. Une fois la réponse écrite, le genre se dérive tout seul, et le moteur peut naître sans zone grise.
Texte issu du catalogue d'erreurs du moteur Rush.
