Message d'erreur
Dans le message, %s marque une valeur que le moteur remplit au moment où il lève l'erreur.
L'histoire
Voici ce qui vient de se passer : un builtin a répondu au test de production avec un mot que le vocabulaire ne connaît pas. Rappelons le test. Pour classer un être, le moteur pose une seule question : produit-il une valeur quand on l'exécute ? Les réponses permises sont listées dans le fichier trinity.feml. Cette question est totale et exclusive : chaque être doit y répondre, et une seule réponse est possible. Ici, le builtin a écrit un mot qui n'est pas sur la liste. Il pourrait sembler raisonnable de l'arrondir à la réponse la plus proche. Mais non : un mot hors liste n'est pas une réponse approximative, c'est la réponse à une autre question. En déduire un genre reviendrait à inventer un second critère, et c'est justement ce que la conception veut rendre impossible. C'est comme remplir un formulaire où l'on doit cocher oui ou non, et répondre peut-être. Le moteur refuse donc de naître, au lieu d'attribuer un genre au hasard. Le message nomme le builtin et le mot fautif. Pour corriger, utilisez l'une des réponses déclarées, ou ajoutez une nouvelle ligne de réponse dans trinity.feml, sans toucher au code C. Une fois la réponse licite, la classification se fait toute seule.
Texte issu du catalogue d'erreurs du moteur Rush.
