Markdown for LLMs
LDC-E1352 — Label with no bearer
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LDC-E1352 — Label with no bearer
## What it means
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.
## Example
```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;
}
```
## Fix
```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;
}
```
## Engine message
The engine reports this in its own wording:
```text
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
```
## Related
- [Procedures](/constructs/procedure/) — instances and the parameters they bind.
- [Sources](/constructs/sources/) — labels and the anchors that carry them.