Mensagem de erro
Na mensagem, %s marca um valor que o motor preenche quando levanta o erro.
A história
O motor não nasceu porque um builtin deu uma resposta que a Trinity não conhece. Vamos entender a pergunta. Todo builtin precisa responder a uma única questão: executar isso produz um valor? A resposta fica no campo production_test, e só algumas palavras são válidas, as declaradas no trinity.feml. A partir da resposta, o motor deriva o tipo do builtin. Desta vez, um builtin escreveu uma palavra que o vocabulário não contém. Parece perto de uma resposta válida, mas não é: é a resposta a outra pergunta, e o motor não vai arredondar para a mais parecida, porque isso seria inventar um segundo critério. Também não vai dar um tipo padrão, pois um tipo que ninguém derivou é exatamente o que o projeto proíbe. A mensagem informa o builtin e a palavra usada. A correção tem dois caminhos: trocar a palavra por uma das respostas declaradas, ou declarar a nova resposta como uma linha em src/engine/lawmaker/trinity/trinity.feml. Nenhuma linha de C é necessária. Reconstrua e o motor classifica o builtin.
Texto do catálogo de erros do motor do Rush.
