RX0216

Domaine: Exécution

Message d'erreur

%s n'est pas une carte API ni plan : %s

Dans le message, %s marque une valeur que le moteur remplit au moment où il lève l'erreur.

L'histoire

Vous avez passé quelque chose à une porte qui compare des API ou des plans, et le moteur répond que ce n'est ni l'un ni l'autre. Précisons le format. Une API, ou un plan, voyage sous la forme d'une simple map : à chaque nom de contrat correspond un hachage de soixante-quatre chiffres hexadécimaux. C'est exactement ce que renvoie blueprint.of. Aucun nouveau type de valeur n'est nécessaire. Les portes api.compat, api.diff, blueprint.check et blueprint.explain relisent chaque opérande dans cette forme. Si vous donnez un nombre, un texte, une liste, ou une map dont un membre n'est pas un hachage complet, la relecture est impossible, et le moteur refuse en nommant l'opérande fautif et ce qu'il n'a pas respecté. Exemple : vous construisez une map à la main avec des hachages abrégés, quelques caractères seulement. Ce n'est pas un hachage de contrat. Obtenez plutôt la map à partir de blueprint.of, qui la fabrique correctement. Le message vous donne deux choses : quel opérande, puis pourquoi il n'est pas valable. Vous savez donc où regarder.

Texte issu du catalogue d'erreurs du moteur Rush.