RX0018

Dominio: Motor

Mensaje de error

el builtin %s no declara respuesta a la prueba de producción (%s)

En el mensaje, %s marca un valor que el motor completa cuando lanza el error.

La historia

El motor se detuvo porque a un builtin le falta una respuesta. Te cuento por qué importa. En rush, todo ser es de exactamente un tipo: nombre, verbo o flujo, y se decide al nacer. Nadie escribe el tipo directamente; se deduce de una pregunta: ¿ejecutarme produce un valor? Si la fila de un builtin no contesta esa pregunta, no hay forma de clasificarlo. Y un ser sin clasificar es peligroso, porque podría producir valores sin ser un verbo, rompiendo una de las reglas centrales del diseño. Por eso el motor prefiere no arrancar a admitirlo con un tipo inventado. El mensaje te dice qué builtin está en silencio. La corrección es simple: abre su fila en builtins.feml y añade la línea builtin.production_test seguida de la respuesta que corresponda. Un ejemplo: un builtin que calcula una suma produce un valor, así que su respuesta lo afirma; uno que solo imprime en pantalla no produce nada. Cuando la respuesta existe, el tipo se deriva solo, y el motor arranca. Recuerda: sin pregunta contestada, no hay ser.

Texto del catálogo de errores del motor de Rush.