RX0103

Domaine: Exécution

Message d'erreur

%s ne garde aucun passé où voyager : %s

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

L'histoire

Vous avez voulu lire une donnée comme elle était autrefois, avec asof, mais cette donnée ne garde aucun passé. Voyons pourquoi. Le voyage dans le temps de rush fonctionne ainsi : vous écrivez le nom du détenteur, puis asof, puis un instant, et vous obtenez la donnée telle qu'elle était à ce moment. Pour que ce soit possible, la donnée doit vivre dans un endroit qui garde les versions. C'est le cas de sulfur, où chaque écriture devient une version conservée sans que vous ayez à le demander. Mais un détenteur déclaré sans where vit en mémoire vive : il meurt avec son processus, et n'a gardé aucun passé. Le moteur refuse donc, plutôt que de vous répondre le présent déguisé en passé, ce qui serait un mensonge. Exemple : vous déclarez scores en mémoire, puis vous demandez asof hier. Il n'y a pas d'hier. La correction est dans le message : déclarez le détenteur avec data, where sulfur. Alors chaque écriture laissera une trace.

Texte issu du catalogue d'erreurs du moteur Rush.