RX0170

Dominio: Análisis sintáctico

Mensaje de error

el bind de valor de un archivo de biblioteca llega a la terminal al cargar: %s (%s)

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

La historia

Un archivo de biblioteca de tu proyecto tiene un valor cuya definición imprimiría algo en pantalla al cargar, y eso no está permitido. Los archivos de biblioteca, los que no son la entrada, solo guardan plantillas: no ejecutan nada. Hay una excepción: sus enlaces de valor, que se calculan primero para que otros archivos puedan leerlos. Pero si el lado derecho de uno de esos enlaces llama a algo que escribe en la terminal, como write o tui, imprimiría mientras el proyecto apenas está cargando. Un proyecto con una biblioteca que imprime sería ruidoso y sorpresivo. Por eso el motor lo rechaza en el análisis, en vez de ejecutarlo o de descartarlo en silencio. El mensaje te dice la línea y la operación que llega a la terminal. Un ejemplo: en una biblioteca, guardas un valor igual a una llamada a write. La solución: saca esa impresión de la biblioteca y ponla en el archivo de entrada, o convierte el valor en una función que se llama cuando haga falta. Una biblioteca guarda; solo la entrada actúa.

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