Clause
← Toda a documentação

Traduzido do original em inglês · a8c3f8f6 · 2026-10-17 · Ler em inglês

Comunicação de funcionalidades adiadas

Erlang legal que precise de uma funcionalidade não implementada falha com uma única mensagem explícita, distinta dos erros comuns de entrada inválida. As alternativas genéricas suportadas (por exemplo, especialização saltada) são silenciosas e não constituem uma falha.

[pattern matching] notimpl: src/example.erl:12:5 [module="example"] [target="native"] [operation="match argument"]

Catálogo

features.hpp atribui IDs estáveis e nunca reutilizados e nomes de diagnóstico, com responsável e estado por entrada. Uma entrada é retirada ou refinada quando a sua funcionalidade fica pronta; o seu ID mantém-se reservado.

ResponsávelOnde comunica
Análise semântica do compiladorVerificações de capacidade sobre todas as funções, incluindo código não usado
Rebaixamento do compiladorRejeição defensiva nas operações alcançadas; limpa os artefactos preparados
DriverNada adiado: executable linking está implementado (ligação)
Serviços do runtimeVer serviços adiados do runtime

Funcionalidades do compilador adiadas hoje, cada uma coberta por codegen_placeholders:

FuncionalidadeExemplo que a comunica
heap expressionsAtribuições em comprehensions compr_assign ([Y || X <- L, Y = X])
dynamic callsUma fun builtin de apply (fun erlang:apply/2)
behavior-changing attributes-on_load, -nifs, opções -compile não inertes, módulos parametrizados (subconjunto aceite)

Regras das mensagens