Clause
← Уся документація

Перекладено з англійського оригіналу · a8c3f8f6 · 2026-10-17 · Читати англійською

Звітування про відкладені можливості

Коректний код Erlang, якому потрібна нереалізована можливість, завершується збоєм з одним явним повідомленням, відмінним від звичайних помилок некоректного введення. Підтримуваний загальний запасний шлях (наприклад, пропущена спеціалізація) мовчазний і не є збоєм.

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

Каталог

features.hpp призначає стабільні ідентифікатори, які ніколи не використовуються повторно, і діагностичні назви, з власником і статусом для кожного запису. Коли можливість реалізовано, запис вилучають або уточнюють; його ідентифікатор залишається зарезервованим.

ВласникДе звітує
Семантичний аналіз компілятораПеревірки можливостей для кожної функції, включно з невикористаним кодом
Пониження (lowering) компілятораЗахисне відхилення на досягнутих операціях; очищає підготовлені артефакти
ДрайверНічого відкладеного: executable linking реалізовано (компонування)
Служби runtimeДив. відкладені служби runtime

Відкладені можливості компілятора на сьогодні, кожна покрита codegen_placeholders:

МожливістьПриклад, що її звітує
heap expressionsПрисвоєння в comprehension compr_assign ([Y || X <- L, Y = X])
dynamic callsВбудований fun для apply (fun erlang:apply/2)
behavior-changing attributes-on_load, -nifs, неінертні параметри -compile, параметризовані модулі (прийнята підмножина)

Правила повідомлень