RX0166

Domínio: Análise sintática

Mensagem de erro

um import, e o projeto é o espaço de nomes: %s (%s)

Na mensagem, %s marca um valor que o motor preenche quando levanta o erro.

A história

Você escreveu um import, e o motor explicou que ele não existe. Vamos entender. No rush, o projeto inteiro é o espaço de nomes. Todo arquivo rush, no diretório do manifest ponto rush ou abaixo dele, é carregado de uma vez, num único espaço de símbolos, a cada execução. Por isso não existe import, include, require, use, nem carregador. Qualquer instrução que comece com uma dessas palavras é recusada no parse, porque o que ela traria já está ao alcance. As funções de um arquivo se alcançam pelo caminho do módulo, com pontos, como lib ponto validators ponto check ponto cpf. E as funções públicas de outro projeto se alcançam pelo nome do projeto. A mensagem cita a instrução. É como entrar numa casa em que todas as portas já estão abertas: não precisa pedir a chave de cada cômodo. A correção: apague o import e use diretamente o nome qualificado da função que você queria trazer.

Texto do catálogo de erros do motor do Rush.