Message d'erreur
Dans le message, %s marque une valeur que le moteur remplit au moment où il lève l'erreur.
L'histoire
Vous avez appelé quelque chose avec trop d'arguments, et le moteur a refusé. Voyons le compte. Un builtin déclare la liste de ses paramètres. Si le dernier de cette liste n'est pas déclaré variadique, aucun argument supplémentaire n'est admis. Un argument de trop n'a aucun paramètre à remplir, et aucune pièce pour le juger. Alors le worker refuse l'appel avant de juger quoi que ce soit. Un exemple : un builtin prend deux paramètres, et vous lui en donnez trois. Le troisième n'a nulle part où aller. Le moteur ne l'ignore pas en silence, car un argument que vous avez écrit et qui disparaît sans bruit est un bogue qui attend. Que vous appeliez avec rush call ou depuis un script, c'est la même ligne du worker qui refuse. La même règle s'applique à vos propres fonctions : si vous en déclarez une avec deux paramètres et que vous l'appelez avec trois arguments, l'analyse refuse, en nommant la fonction. Le message donne deux informations : la ligne ou la fonction concernée, puis le nombre déclaré et le nombre livré. Retirez l'argument de trop, ou déclarez un paramètre pour l'accueillir.
Texte issu du catalogue d'erreurs du moteur Rush.
