RX0216

Domínio: Execução

Mensagem de erro

%s não é um mapa de API ou de blueprint: %s

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

A história

Você passou algo para uma função de API ou de blueprint, e o motor disse que aquilo não é um mapa de API ou de blueprint. Vamos ver o formato esperado. Uma API, ou um blueprint, viaja como um mapa simples. De um lado, o nome do contrato. Do outro, o hash do contrato, um texto de sessenta e quatro dígitos hexadecimais. É exatamente isso que o blueprint.of devolve, e nenhum tipo novo de valor foi criado para isso. As funções api.compat, api.diff, blueprint.check e blueprint.explain leem cada operando de volta nesse formato. Se o valor não for um mapa, ou se algum membro tiver um valor que não seja um hash de sessenta e quatro hex, o motor para e diz qual operando quebrou a regra. Um exemplo: você passa uma lista de nomes em vez de um mapa, ou coloca um hash curto demais. A correção é montar o mapa com o blueprint.of, em vez de escrevê-lo à mão. A mensagem traz o operando e o motivo. Comece por ele.

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