Skip to content
docs
Arxo ↗

LDC-E1352 — Label with no bearer

For LLMs5 sections

A label lives on a lowered node: entities, rules, and most declarations carry their labels into the output. Some positions never become nodes — a procedure instance parameter, a query parameter, a case constant — and a label written there would be accepted and lost. The compiler stops at the label instead.

The repair is to move the label onto a declaration that lowers, or to drop it. Labels that ride a node survive exactly as written.

Arxo Law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
entity Tenant;
procedure Review(t: Tenant { label en official "Subject"; }) {
state Open initial;
state Closed terminal;
}
Arxo Law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
entity Tenant;
procedure Review(t: Tenant) {
state Open initial;
state Closed terminal;
}

The engine reports this in its own wording:

Output
example.law:6:18: error LDC-E1352: procedure parameter `t` label has no bearer: an instance is not lowered into ParameterDecl (§218, errata E-0153); bearing is a separate decision

Documentation for Arxo. Writings — blog.arxo.io.

Anonymous visit counts on stats.arxo.io, no cookies.