RX0184

Domínio: Análise sintática

Mensagem de erro

um escape desconhecido em um literal de texto: %s

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

A história

Você escreveu, dentro de um texto, uma barra invertida seguida de uma letra que não é um escape conhecido, e o motor recusou no parse. Vamos entender. Um texto entre aspas simples decodifica exatamente cinco escapes: barra n, para nova linha; barra t, para tabulação; barra r, para retorno de carro; duas barras, para uma barra; e barra apóstrofo, para um apóstrofo. O barra zero é recusado à parte. Qualquer outra letra depois da barra não nomeia nenhum escape. Antes, o motor decodificava em silêncio para a letra simples: a, barra q, b virava aqb, e você nem percebia. Isso era perigoso, principalmente com padrões de regex escritos entre as aspas erradas. Agora ele recusa, nomeando o escape e a linha. Se você quer uma barra literal, escreva duas. E para uma regex, um caminho do Windows ou um colchete literal, use um texto bruto, entre aspas duplas, que não decodifica nada. A correção: dobre a barra, ou troque para aspas duplas.

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