pub struct DiagCode(pub &'static str);Expand description
A stable diagnostic code, e.g. "FORM-101" or "TYPL-108" (ADR-0007
decision 2). The empty string means “no code yet” — a diagnostic that has
not been assigned a catalogue code renders as a plain message.
Tuple Fields§
§0: &'static strImplementations§
Source§impl DiagCode
impl DiagCode
Source§impl DiagCode
impl DiagCode
Sourcepub const FORM_101: DiagCode
pub const FORM_101: DiagCode
Expected a specific token, or a construct the grammar admits here.
Most call sites name a token (expected `]`); the interaction
positions name the shapes instead — a return type is one of four,
and saying which is the point of the message.
Sourcepub const FORM_106: DiagCode
pub const FORM_106: DiagCode
Unknown attribute key — not a key the general form §4.3 table defines.
Sourcepub const FORM_107: DiagCode
pub const FORM_107: DiagCode
Attribute key not allowed on this declaration kind (general form §4.3).
Sourcepub const TYPL_001: DiagCode
pub const TYPL_001: DiagCode
More than one package declaration in a single file (typl §16.1).
Emitted by the package loader (E1.3).
Sourcepub const TYPL_002: DiagCode
pub const TYPL_002: DiagCode
Package name does not mirror the directory path relative to the manifest root (typl §16.1, ADR-0002 §1). Emitted by the package loader (E1.3); single-file mode is exempt.
Sourcepub const TYPL_003: DiagCode
pub const TYPL_003: DiagCode
Wildcard, relative, or re-exporting import (typl §16.1, ADR-0002 §2). Emitted by the resolver (E1.4).
Sourcepub const TYPL_004: DiagCode
pub const TYPL_004: DiagCode
Circular package imports (typl §16.1, ADR-0002 §6). Emitted by the resolver (E1.4) from a depth-first walk over package import edges.
Sourcepub const TYPL_005: DiagCode
pub const TYPL_005: DiagCode
A public declaration exposes an internal type in its fields, arms,
backing, or a range-bound constant (typl §3.3, §16.1). Emitted by the
checker (E1.7b) over every top-level declaration, the ridl interface
and service included: an interaction payload, parameter, return arm,
or stream element is an exposure position exactly as a struct field is.
A service naming an internal interface is RIDL-143 instead.
Sourcepub const TYPL_006: DiagCode
pub const TYPL_006: DiagCode
Conflicting imports without an alias (typl §16.1, ADR-0002 §2). Emitted by the resolver (E1.4).
Sourcepub const TYPL_007: DiagCode
pub const TYPL_007: DiagCode
Unused import (typl §16.1). Emitted by the resolver (E1.4) as a warning.
Sourcepub const TYPL_008: DiagCode
pub const TYPL_008: DiagCode
Import alias without an actual collision (typl §16.1, ADR-0002 §2). Emitted by the resolver (E1.4) as a warning.
Sourcepub const TYPL_010: DiagCode
pub const TYPL_010: DiagCode
A package declaring a name the compiler provides itself (typl
§3.1, §16.1). Error, and not a warning, because such a package can
never work: ridl.std is implicitly imported by every package
(typl §3.2) rather than resolved through an import, so a user copy
is unreachable by its own name. In package and workspace mode the
generated artifact is overwritten by the standard package’s too,
because the output base is the package name; in single-file mode
the base is the file stem, so that second consequence follows only
when the stem is itself ridl.std, whatever the extension.
Reported on the package declaration, in a workspace member and
in single-file mode alike.
Sourcepub const TYPL_103: DiagCode
pub const TYPL_103: DiagCode
string/bytes without explicit bounds — the default [0..256] is
applied (typl §4.4–§4.5, §16.2). Warning.
Sourcepub const TYPL_105: DiagCode
pub const TYPL_105: DiagCode
step type mismatch, non-positive, or larger than the range
(typl §16.2). Also borrowed by the checker (E1.7b) for a range bound
that references a non-numeric constant, a malformed bound const for
which §16.2 defines no dedicated code.
Sourcepub const TYPL_106: DiagCode
pub const TYPL_106: DiagCode
Invalid regex syntax in a match constraint or a regex const
(typl §16.2). Validated with the regress ECMA-262 engine (ADR-0007
decision 10). Emitted by the checker (E1.7b).
Sourcepub const TYPL_109: DiagCode
pub const TYPL_109: DiagCode
Init (= value) incompatible with the type/field constraints
(typl §16.2).
Sourcepub const TYPL_111: DiagCode
pub const TYPL_111: DiagCode
Integer range bound (or enumset bit position) outside the int64
domain (typl §4.2, §16.2).
Sourcepub const TYPL_115: DiagCode
pub const TYPL_115: DiagCode
Type has no derivable init value and no declared = value
(typl §5.8, §16.2). Info — escalated to an error only by consumers
that require an init (e.g. a ridl signal payload).
Sourcepub const TYPL_210: DiagCode
pub const TYPL_210: DiagCode
Field, arm, or enum value re-declared under a reserved name or value
(typl §16.3).
Sourcepub const TYPL_211: DiagCode
pub const TYPL_211: DiagCode
Duplicate reserved entry (typl §16.3). Warning. The “dangling”
half of the §16.3 rule (a name/value never previously used) needs the
previous IR snapshot and belongs to ridl-diff (E2.8).
Sourcepub const TYPL_212: DiagCode
pub const TYPL_212: DiagCode
error modifier on a declaration other than enum, struct, union
(typl §16.3).
Sourcepub const TYPL_213: DiagCode
pub const TYPL_213: DiagCode
Union mixing error and non-error arms without the result-union shape (typl §16.3).
Sourcepub const TYPL_215: DiagCode
pub const TYPL_215: DiagCode
A field name declared twice in one struct (typl §7, §16.3). Distinct from RIDL-149: that code fires when two distinct source names collide only after a pinned name transform, and this one fires when the two source names are already the same, before any transform runs. Both fields still lower — this check reports and does not drop.
Sourcepub const TYPL_301: DiagCode
pub const TYPL_301: DiagCode
Stream type <T> outside interaction position (typl §16.4, ridl
§12.3). Emitted by the parser in a .typl parse (E2 task 2) and by
the checker for struct fields and collections in a .ridl file
(E2 task 5).
Sourcepub const TYPL_302: DiagCode
pub const TYPL_302: DiagCode
Timing annotation or duration literal in a typl context (typl §16.4).
Sourcepub const TYPL_303: DiagCode
pub const TYPL_303: DiagCode
require/ensure attribute in a typl context (typl §16.4): the two
contract attributes at declaration-start position in a .typl parse.
Emitted by the parser (E2 task 2) as a bare string literal rather than
through this constant — see codes_written_as_string_literals_are_all _catalogued.
Sourcepub const TYPL_304: DiagCode
pub const TYPL_304: DiagCode
Interaction declaration in a typl context (typl §16.4, ADR-0007
decision 10): one of the nine ridl words at declaration-start position
in a .typl parse. Emitted by the parser (E2 task 2).
Sourcepub const TYPL_404: DiagCode
pub const TYPL_404: DiagCode
Blank line between a doc comment and its definition (typl §14, §16.5). Warning. Emitted by the checker (E1.7b).
Sourcepub const TYPL_405: DiagCode
pub const TYPL_405: DiagCode
@deprecated doc tag without a reason string (typl §14.2, §16.5).
Warning. Emitted by the checker (E1.7b).
Sourcepub const RIDL_100: DiagCode
pub const RIDL_100: DiagCode
signal or event without a timing annotation — the default
[100ms..1000ms] (or the configured [defaults].timing) is applied
(ridl §9.1, §16.1). Warning. Emitted by the checker (E2 task 9).
Sourcepub const RIDL_101: DiagCode
pub const RIDL_101: DiagCode
A range annotation @[X..Y] whose lower bound exceeds its upper bound
(ridl §9.2, §16.1). Emitted by the checker (E2 task 9).
Sourcepub const RIDL_102: DiagCode
pub const RIDL_102: DiagCode
A zero or negative timing duration (ridl §9.2, §16.1). Emitted by the checker (E2 task 9).
Sourcepub const RIDL_103: DiagCode
pub const RIDL_103: DiagCode
A strict-periodic @Xms annotation on a kind other than signal —
the isochronous mode belongs to state alone (ridl §9.2, §16.1).
Widened from “on an event” by ADR-0015 decision 6 when command
and query gained the range form (E9.4): the same rule, stated
over the three kinds it excludes instead of one. Emitted by the
checker (E2 task 9).
Sourcepub const RIDL_104: DiagCode
pub const RIDL_104: DiagCode
Explicit return type on a command — a command always returns ()
(ridl §6.1, §16.1). Emitted by the checker (E2 task 5).
Sourcepub const RIDL_105: DiagCode
pub const RIDL_105: DiagCode
query returning () — use command (ridl §7.1, §16.1). Emitted by
the checker (E2 task 5).
Sourcepub const RIDL_106: DiagCode
pub const RIDL_106: DiagCode
A timing annotation on fixed — the one kind that carries none —
or an attribute block on fixed (ridl §8, §9, §16.1). Emitted by
the checker (E2 task 5).
Narrowed by ADR-0015 decision 6 (E9.4): command and query admit
the range form now, so the two RPC kinds left this rule and only
fixed remains in both halves. The callables drew FORM-102 until
the E2 close-out, so one rule sat under two codes and one of them
was a parse code whose catalogue meaning is “unexpected token” —
for a token the grammar accepts on purpose, precisely so the
narrowing can be a semantic rule with a semantic message.
Sourcepub const RIDL_107: DiagCode
pub const RIDL_107: DiagCode
Type declaration inside an interface or service body — typl
declarations live at package level (ridl §14.1, §16.1).
Emitted by the parser, as a bare string literal (ridl-syntax
cannot reference DiagCode), at the point where it recognises the
keyword and recovers the declaration into an ErrorNode. The
checker used to code that node a second time, so every RIDL-107
arrived paired with a contradicting FORM-102 at the same span; the
parser knows exactly what the construct is, so it is the one that
names it. RIDL-403 and TYPL-304 are parser-raised for the same
reason. The constant is kept for the catalogue and for the error
index.
Sourcepub const RIDL_108: DiagCode
pub const RIDL_108: DiagCode
A range annotation @[X..X] whose bounds are equal — a degenerate
range, the rate floor equal to its staleness bound, on a signal and an
event alike (ridl §9.2, §16.1; ADR-0008 decision 17). Not a spelling
of the strict-periodic @Xms, which is a separate TimingMode.
Warning. Emitted by the checker (E2 task 9).
Sourcepub const RIDL_109: DiagCode
pub const RIDL_109: DiagCode
Signal payload type has no derivable init value and no = value
override (ridl §4.4, §16.1). Emitted by the checker (E2 task 5).
Sourcepub const RIDL_110: DiagCode
pub const RIDL_110: DiagCode
Signal = value init override violates the payload type’s constraints
(ridl §4.4, §16.1). Emitted by the checker (E2 task 5).
Sourcepub const RIDL_112: DiagCode
pub const RIDL_112: DiagCode
A command or query with no declared response bound — no @
annotation at all, or the half-open @[min..] that declares a
throttle only (ridl §9, §16.1; ADR-0015 decisions 4 and 6). Warning;
an active profile may escalate it to an error, the same two-step
§9.1 gives an untimed signal or event. The RPC counterpart of
RIDL-100, and deliberately not RIDL-100 itself: that text turns on
a default having been applied, which is exactly what an RPC never
gets — absent means undeclared in the IR. RIDL-111 is reserved for
the interface-used-as-a-type error (ADR-0008 decision 21), so 112
is the first free code in the band. Emitted by the checker (E9.4).
Sourcepub const RIDL_140: DiagCode
pub const RIDL_140: DiagCode
Duplicate service name across the whole workspace — the service
catalog is a flat global namespace (ridl §14.5, §16.4). Emitted
workspace-wide by service_catalog (E2 task 8). The reference numbers
it in the 1xx band while listing it under the §16.4 evolution/profile
table — a documented anomaly kept as written (ADR-0008 decision 6).
Sourcepub const RIDL_141: DiagCode
pub const RIDL_141: DiagCode
A service names a type that is not an interface, and has no inline
shape (ridl §14.5, §16.4). Emitted per-package by the checker (E2 task
8). Kept in the 1xx band per ADR-0008 decision 6 (see RIDL-140).
Applies per shape in the service’s shape list since ADR-0015
decision 18 (E9.6): the rule is unchanged, the span reports against
the offending list element.
Sourcepub const RIDL_143: DiagCode
pub const RIDL_143: DiagCode
A service publishes an internal interface (ridl §14.5, §16.4).
Emitted per-package by the checker’s exposure pass. Distinct from
TYPL-005: what leaks is an interface rather than a type, and a service
takes no internal modifier, so the TYPL-005 remedy — make the
exposing declaration internal too — does not exist here. Kept in the
1xx band beside RIDL-140/-141 per ADR-0008 decision 6. RIDL-111 and
RIDL-142 are reserved by decision 21 and not yet implemented, so 143 is
the next free code; decision 13’s allocation ledger needs the ninth
entry (issue #169). Applies per shape in the service’s shape list
since ADR-0015 decision 18 (E9.6): the rule is unchanged, the span
reports against the offending list element.
Sourcepub const RIDL_144: DiagCode
pub const RIDL_144: DiagCode
Duplicate member name across a service’s interfaces (ridl §14.5,
§16.4; ADR-0015 decisions 16 and 18): two composed interfaces both
declaring status would give service.status two referents, which
flat addressing cannot express. Emitted per-package by the checker
(E9.6). The service codes sit in the 1xx band (see RIDL-140);
RIDL-112 is minted by ADR-0015 decision 6, so 144 is the first free
code.
Sourcepub const RIDL_145: DiagCode
pub const RIDL_145: DiagCode
The same interface named twice in one service (ridl §14.5, §16.4; ADR-0015 decision 18). Its own code rather than a fall-through to RIDL-144: listing a shape twice makes every member collide, so RIDL-144 alone would emit one diagnostic per member and bury the actual mistake. Emitted per-package by the checker (E9.6); lowering keeps the first listing only, which holds the slot, and the diagnostic’s secondary label points at it.
Sourcepub const RIDL_149: DiagCode
pub const RIDL_149: DiagCode
Two names in one scope that collide after a pinned name transform
(ridl §11, §16.4; ADR-0016 decision 3). Neither transform is
injective and no case-folding transform can be, so
parseHTTPResponse and parseHttpResponse both project to
parse_http_response and a target whose namespace is snake_case
would carry one identifier twice — in Rust, one trait with two
methods of the same name, or one function with two identically
named arguments. The projection contract’s injectivity obligation
is discharged here, on the package, because it cannot be carried
by the function. Its own code rather than RIDL-402 — that rule is
the same name declared twice — because the remedy differs: these
names are distinct in source and only their projections collide.
Scoped to the members of one interface, the parameters of one
interaction (decision 4), the fields of one struct, which joined
in the commit where E9.8 started projecting them onto proto3, and
the arms of one union, which joined with the ADR-0016 amendment.
The first three namespaces are checked under snake_case alone;
a union’s arms are checked under snake_case and camel_case
both, because a union arm reaches both namespaces and the two
collision sets are incomparable. The message names the transform
that collided. Emitted per-package by the checker (E9.7).
Sourcepub const RIDL_201: DiagCode
pub const RIDL_201: DiagCode
Stream <T> on a signal or event payload (ridl §12.3, §16.2).
Emitted by the checker (E2 task 5).
Sourcepub const RIDL_202: DiagCode
pub const RIDL_202: DiagCode
Stream element type not a named type, string, or bytes (ridl
§12.2, §16.2). Emitted by the checker (E2 task 5).
Sourcepub const RIDL_301: DiagCode
pub const RIDL_301: DiagCode
require or ensure on signal, event, or fixed (ridl §13,
§16.3). Emitted by the checker (E2 task 5).
Sourcepub const RIDL_302: DiagCode
pub const RIDL_302: DiagCode
ensure on command — a command has no result to observe (ridl §6.1,
§16.3). Emitted by the checker (E2 task 5).
Sourcepub const RIDL_303: DiagCode
pub const RIDL_303: DiagCode
A fallible query return with no success path (ridl §10.1, §16.3; general
form §6.1): a bare error type in return position, an error-typed
success (left) arm of an inline T | E, or a non-error error (right)
arm. Error. Emitted by the checker (E2 task 10).
Sourcepub const RIDL_304: DiagCode
pub const RIDL_304: DiagCode
An error-typed or result-union parameter on a command or query —
failure flowing toward a provider (ridl §10.1, §16.3). Warning. Emitted
by the checker (E2 task 10).
Sourcepub const RIDL_305: DiagCode
pub const RIDL_305: DiagCode
An ensure clause that never references result — well-typed but
suspicious (ridl §13, §16.3; expr-core specification §8). Warning.
Emitted by the checker (E2 task 11).
Sourcepub const RIDL_306: DiagCode
pub const RIDL_306: DiagCode
A require/ensure expression outside the guaranteed subset (ridl §13,
§16.3; expr-core specification §8 — one code for the whole boundary,
with a message naming the offending form). Error. Emitted by the checker
(E2 task 11).
Sourcepub const RIDL_307: DiagCode
pub const RIDL_307: DiagCode
An error enum declares a Stratum-2 contract-error category name
(INVALID_VALUE, PRECONDITION_FAILED, CONTRACT_BROKEN,
UNKNOWN_INTERACTION) — reserved vocabulary (ridl §10.2, §16.3).
Warning. Emitted by the checker (E2 task 10).
Sourcepub const RIDL_308: DiagCode
pub const RIDL_308: DiagCode
A named result union in query return position — the inline T | E
spelling is canonical there (general form §6.1, ADR-0008 decision 13).
Warning; the named spelling stays legal typl data, so this is a lint,
not an error. Emitted by the lint pass (E2 task 19).
Sourcepub const RIDL_401: DiagCode
pub const RIDL_401: DiagCode
Interaction re-declared under a reserved name (ridl §11, §16.4).
Emitted by the checker (E2 task 5).
Sourcepub const RIDL_402: DiagCode
pub const RIDL_402: DiagCode
Duplicate interaction name in one interaction body — an interface
or a service’s inline shape (ridl §14.1, §16.4). Emitted by the
checker (E2 task 5); lowering keeps the first declaration only, and
the diagnostic’s secondary label points at it.
Sourcepub const RIDL_403: DiagCode
pub const RIDL_403: DiagCode
Behaviour, user-interaction, or architecture declaration in a ridl
context (ridl §16.4): a reserved word of the uxdl/rmdl/rsdl profiles at
declaration-start position in a .ridl parse. Emitted by the parser
(E2 task 2).
Sourcepub const RIDL_404: DiagCode
pub const RIDL_404: DiagCode
A query named like a mutation — set…, reset…, and the rest of the
mutating verb set (ridl §7.2, §16.4): a state-mutating request belongs
to command. Warning. Emitted by the lint pass (E2 task 19).
Sourcepub const RIDL_405: DiagCode
pub const RIDL_405: DiagCode
One error type used as the failure arm of queries in three or more
distinct interfaces — the “shared across unrelated failure domains”
heuristic (ridl §10.1, §16.4). Info. Emitted by the lint pass (E2 task
19); the threshold is three, so two interfaces stay silent.
Sourcepub const RIDL_406: DiagCode
pub const RIDL_406: DiagCode
A signal or event payload whose struct re-declares envelope
metadata — publication time or a frame counter (ridl §3.1, §16.4). Info;
domain time distinct from transport time is legitimate, so the message
says so. Emitted by the lint pass (E2 task 19).
Sourcepub const RIDL_407: DiagCode
pub const RIDL_407: DiagCode
An interaction ordinal changed against a published baseline snapshot
(ridl §11, general form §6.3). Warning. Emitted by the ridl check desk
check (E2 task 18), never by the compiler: the comparison reads a
workspace-local baseline, which is outside ridlc’s source→IR function
(ADR-0008 decisions 9 and 13).
Sourcepub const RIDL_408: DiagCode
pub const RIDL_408: DiagCode
An interaction of an interface body the baseline being replaced
declares is not carried forward as the tombstone rule requires
(ridl §11), in one of four shapes: it is gone from the source with
no reserved tombstone; the source retires it with a tombstone at
an ordinal other than its own; the baseline already retired it and
the source dropped the tombstone; or the source declares a live
interaction under the name a tombstone retires. Error. Emitted by
ridl baseline alone, for the interaction level only — a whole
interface or service removed, and a named-form service’s shape
list, are outside it. Publication is the last point at which the
change can still be refused, because the snapshot about to be
overwritten is the only record that the ordinal was ever taken.
Distinct from RIDL-407, which is the desk-time warning that an
ordinal moved and which neither classifies nor gates.
Sourcepub const RIDL_409: DiagCode
pub const RIDL_409: DiagCode
A live entry of the package’s interfaces.lock names an interface
the package no longer declares (lock design §4, §8) — the interface
was renamed or removed, and the lock does not record which. Error.
Emitted by the checker on the entry’s own line of the lock file,
ridlc and ridl alike. The fix is ridl lock <pkg> --retire Old
when the interface is gone, or ridl lock <pkg> --rename Old=New
when a declaration without an entry is the same interface under a
new name; the message names only --retire when the package has
no declaration without an entry. ridl check adds a label naming
the one --rename command when the published baseline shows
exactly one declaration without an entry with the old interface’s
shape.
Sourcepub const RIDL_410: DiagCode
pub const RIDL_410: DiagCode
The package’s interfaces.lock is malformed (lock design §2, §8):
no next line, next not greater than every entry’s number, one
number on two entries, one live key on two entries, or a line that
does not parse — git conflict markers included. Error. Emitted by
the loader, on the offending line of the lock file itself (or at
the start of an empty file), so ridlc and ridl alike stop on
it; the package then compiles without its lock. The fix is to
resolve the conflict or restore the file from version control and
run ridl lock.
Sourcepub const RIDL_411: DiagCode
pub const RIDL_411: DiagCode
An interface in the snapshot ridl baseline is about to publish
carries a provisional number — a declaration with no entry in the
package’s interfaces.lock (lock design §3, §8). A provisional
number is no identity: ridl diff never matches on it, so a
snapshot holding one records nothing a later comparison can hold
the interface to. Error. Emitted by ridl baseline alone, at the
declaration’s name, for a first publication as for a replacement.
The fix is plain ridl lock, which allocates and records the
number, then publish.
Sourcepub const RIDL_412: DiagCode
pub const RIDL_412: DiagCode
An interface number the published baseline holds is absent from
the fresh snapshot and not among its interfaces.lock retired
entries (lock design §4, §8) — a lock line deleted by hand, since a
live entry with no declaration already fails the build with
RIDL-409. Publishing would lose the only record that the number was
allocated, and next could hand it to a later interface. Error.
Emitted by ridl baseline alone, for a published number other
than 0: a snapshot published before the lock existed carries 0,
which is never allocated, and is matched by name. The fix is to
restore the entry’s line in interfaces.lock from version
control, with retired after the number when the interface is
gone.
Sourcepub const RIDL_413: DiagCode
pub const RIDL_413: DiagCode
A parameter name declared twice in one command or query
parameter list (ridl §6.1, §7.1, §16.4). Distinct from RIDL-149:
that code fires when two distinct source names collide only after
a pinned name transform, and this one fires when the two source
names are already the same, before any transform runs. Both
parameters still lower — this check reports and does not drop.
Sourcepub const RSDL_305: DiagCode
pub const RSDL_305: DiagCode
instances is not a parenthesised list of one or more camelCase
names — (), instances = solo (rsdl §5, §7, §16.1). Error. Raised
by the rsdl attribute check.
Sourcepub const RSDL_306: DiagCode
pub const RSDL_306: DiagCode
A duplicate instance name in one component (rsdl §7, §16.1). Error. Raised by the rsdl closure check.
Sourcepub const RSDL_307: DiagCode
pub const RSDL_307: DiagCode
Unit written in source — as a declared instance name, or as the
instance segment of a reference (rsdl §7, §16.1). Error. Raised by
the rsdl closure check.
Sourcepub const RSDL_308: DiagCode
pub const RSDL_308: DiagCode
A component requires an interface listed by a service it offers (rsdl §3.2, §16.1). Error. Raised by the rsdl closure check.
Sourcepub const RSDL_309: DiagCode
pub const RSDL_309: DiagCode
The same service on two offers lines, or the same interface on two
requires lines, of one component (rsdl §3.2, §16.1). Error. Raised
by the rsdl closure check.
Sourcepub const RSDL_310: DiagCode
pub const RSDL_310: DiagCode
An offers line names something that is not a service, or nothing
(rsdl §3.2, §16.1). Error. Raised by the rsdl closure check.
Sourcepub const RSDL_311: DiagCode
pub const RSDL_311: DiagCode
A requires line names a service whose shape is a list of
interfaces; the diagnostic lists them (rsdl §3.2, §16.1). Error.
Raised by the rsdl closure check.
Sourcepub const RSDL_312: DiagCode
pub const RSDL_312: DiagCode
A requires line names something that is neither an interface nor
an inline-shape service, or nothing (rsdl §3.2, §16.1). Error. Raised
by the rsdl closure check.
Sourcepub const RSDL_313: DiagCode
pub const RSDL_313: DiagCode
external written with a value — it is a flag (rsdl §5, §16.1).
Error. Raised by the rsdl attribute check.
Sourcepub const RSDL_403: DiagCode
pub const RSDL_403: DiagCode
A closure component requires an interface that no closure service lists — a missing provider (rsdl §8, §16.1). Error. Raised by the rsdl resolution.
Sourcepub const RSDL_408: DiagCode
pub const RSDL_408: DiagCode
An interface listed by two services of the closure, raised for every interface they list (rsdl §8, §16.1). Error. Raised by the rsdl resolution.
Sourcepub const RSDL_409: DiagCode
pub const RSDL_409: DiagCode
A requires resolves to a redundant provider set — an offering
component with more than one instance (rsdl §7, §16.1). Warning, not
yet realizable: the lowering proceeds. Raised by the rsdl resolution.
Sourcepub const RSDL_502: DiagCode
pub const RSDL_502: DiagCode
Two closure components offer one service (rsdl §8, §16.1). Error. Raised by the rsdl resolution.
Sourcepub const RSDL_504: DiagCode
pub const RSDL_504: DiagCode
A member line names a service by its name while a declared component offers it; the diagnostic names the offerer (rsdl §6, §16.1). Error. Raised by the rsdl closure check.
Sourcepub const RSDL_601: DiagCode
pub const RSDL_601: DiagCode
More than one system in the workspace (rsdl §3.1, §16.1). Error.
Raised by the rsdl closure check.
Sourcepub const RSDL_602: DiagCode
pub const RSDL_602: DiagCode
A system member line names nothing that is a component or a service
(rsdl §3.1, §16.1). Error. Raised by the rsdl closure check.
Sourcepub const RSDL_603: DiagCode
pub const RSDL_603: DiagCode
A name listed twice in one system body (rsdl §3.1, §16.1). Error.
Raised by the rsdl closure check.
Sourcepub const RSDL_604: DiagCode
pub const RSDL_604: DiagCode
A declaration of another profile — a type, an interface, a service —
at the top level of an .rsdl file (rsdl §2, §16.1). Error. Raised
by the parser.
Sourcepub const RSDL_701: DiagCode
pub const RSDL_701: DiagCode
An instance of a closure component with no placement in a deployment (rsdl §9, §16.1). Error; blocks that deployment only (§13). Raised by the rsdl placement check.
Sourcepub const RSDL_702: DiagCode
pub const RSDL_702: DiagCode
A placement line names a component, instance or service outside the closure, or a name that resolves to nothing (rsdl §9, §16.1). Error. Raised by the rsdl placement check.
Sourcepub const RSDL_704: DiagCode
pub const RSDL_704: DiagCode
deployment … for Y where Y resolves to no declared system
(rsdl §3.4, §16.1). Error. Raised by the rsdl placement check.
Sourcepub const RSDL_705: DiagCode
pub const RSDL_705: DiagCode
Two machines with one name in one deployment (rsdl §3.5, §16.1). Error. Raised by the rsdl placement check.
Sourcepub const RSDL_706: DiagCode
pub const RSDL_706: DiagCode
An instance placed twice in one deployment, also Cruise together
with Cruise.primary (rsdl §9, §16.1). Error. Raised by the rsdl
placement check.
Sourcepub const RSDL_707: DiagCode
pub const RSDL_707: DiagCode
An external machine lists an implemented component (rsdl §9,
§16.1). Error. Raised by the rsdl placement check.
Sourcepub const RSDL_708: DiagCode
pub const RSDL_708: DiagCode
Two deployments with one name in the workspace (rsdl §3.4, §16.1). Error. Raised by the rsdl placement check.
Sourcepub const RSDL_804: DiagCode
pub const RSDL_804: DiagCode
A backend key whose namespace no configured backend claims (rsdl §5,
§16.1). Warning: the key is still carried. Raised by ridlc, which
knows the configured backends (plan decision P-B4).
Sourcepub const RSDL_901: DiagCode
pub const RSDL_901: DiagCode
A PLATFORM distribution holds a component whose requires resolves
into an APPLICATION distribution — tier inversion; a distribution
without tier is exempt (rsdl §3.3, §16.1). Error. Raised by the
rsdl distribution check.
Sourcepub const RSDL_903: DiagCode
pub const RSDL_903: DiagCode
A distribution member line names something outside the closure, or nothing (rsdl §3.3, §16.1). Error. Raised by the rsdl distribution check.
Sourcepub const RSDL_904: DiagCode
pub const RSDL_904: DiagCode
An implemented closure component in no distribution, while the workspace declares at least one (rsdl §3.3, §16.1). Error. Raised by the rsdl distribution check.
Sourcepub const RSDL_905: DiagCode
pub const RSDL_905: DiagCode
A component listed by two distributions (rsdl §3.3, §16.1). Error. Raised by the rsdl distribution check.
Sourcepub const RSDL_906: DiagCode
pub const RSDL_906: DiagCode
A name listed twice in one distribution body (rsdl §3.3, §16.1). Error. Raised by the rsdl distribution check.
Sourcepub const RSDL_907: DiagCode
pub const RSDL_907: DiagCode
An external component listed by a distribution (rsdl §3.3, §16.1).
Error. Raised by the rsdl distribution check.
Sourcepub const RSDL_908: DiagCode
pub const RSDL_908: DiagCode
A tier value other than PLATFORM or APPLICATION (rsdl §5,
§16.1). Error. Raised by the rsdl attribute check.
Sourcepub const MANI_002: DiagCode
pub const MANI_002: DiagCode
The manifest declares both [package] and [workspace]; the two modes
are mutually exclusive (ADR-0002 §4).
Sourcepub const MANI_003: DiagCode
pub const MANI_003: DiagCode
The manifest declares neither [package] nor [workspace] (ADR-0002 §4).
Sourcepub const MANI_004: DiagCode
pub const MANI_004: DiagCode
A workspace member’s own manifest declares [workspace]; nested
workspaces are forbidden (ADR-0002 §4). Defined here, but emitted by the
package loader (E1.3, task 8) when a member manifest is read — a single
manifest parsed in isolation cannot know it is a member.
Sourcepub const MANI_005: DiagCode
pub const MANI_005: DiagCode
An unrecognized key in the manifest or one of its sections (warning).
Sourcepub const MANI_006: DiagCode
pub const MANI_006: DiagCode
The package name is not lowercase dot-separated segments (ADR-0002 §1).
Sourcepub const MANI_008: DiagCode
pub const MANI_008: DiagCode
A workspace member directory is missing or has no ridl.toml. Emitted
by the package loader (E1.3), which is where member paths are resolved
against the filesystem.
Sourcepub const MANI_009: DiagCode
pub const MANI_009: DiagCode
The manifest [defaults].timing value is not a valid range (ridl §9.1,
ADR-0008 decision 13). The manifest parser stores the raw string
unparsed — ridl-core cannot depend on ridl-sem — so the checker
parses it and emits this code (E2 task 9).
Sourcepub const MANI_101: DiagCode
pub const MANI_101: DiagCode
A remote import could not be fetched (network failure, a non-2xx HTTP
status, or a value that is not a fetchable http(s) URL).
Sourcepub const MANI_102: DiagCode
pub const MANI_102: DiagCode
Fetched content hashes to a value that does not match the SHA-256 the lockfile pins for the same URL (ADR-0002 §7).
Trait Implementations§
impl Copy for DiagCode
impl Eq for DiagCode
impl StructuralPartialEq for DiagCode
Auto Trait Implementations§
impl Freeze for DiagCode
impl RefUnwindSafe for DiagCode
impl Send for DiagCode
impl Sync for DiagCode
impl Unpin for DiagCode
impl UnsafeUnpin for DiagCode
impl UnwindSafe for DiagCode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> HashEqLike<&T> for T
impl<T> HashEqLike<&T> for T
Source§impl<T> HashEqLike<Cow<'_, T>> for T
impl<T> HashEqLike<Cow<'_, T>> for T
Source§impl<T> HashEqLike<T> for T
impl<T> HashEqLike<T> for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more