RX0155

Dominio: Ejecución

Mensaje de error

process.done / process.await piden una lectura, y %s no lo es: %s

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

La historia

Usaste process.done o process.await con algo que no es una lectura. Estas dos operaciones preguntan por la lectura de un valor de otro proceso, por ejemplo p punto total, donde p es el gtrid y total es una etiqueta. El lector del fedex responde con el valor, o con una de sus palabras: not.yet, permission.denied o gone. El argumento no se evalúa de inmediato: se queda como un sitio diferido, y la operación lo consulta una y otra vez. Pero si la expresión no es una lectura de ese tipo, por ejemplo un literal, un nombre local o un cálculo, no hay nada que esté hecho ni nada que esperar. El motor podría responder true, pero sería contestar sobre un valor que nadie tenía que entregar. Prefiere rechazar. El mensaje trae la expresión escrita y la forma que se pedía. La solución: pasa una lectura del proceso, como p punto resultado. Esperar solo tiene sentido si hay alguien que entregue algo.

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