pub struct Row { /* private fields */ }Expand description
One descriptor row, in the harness’s field shape, plus the lens the stamp declares it under.
The lens is not a row field — the harness’s roster has no seat for it — and it is carried here because the stamp’s grammar demands one: a row arrives as <lens>: <expression>, and a producer that did not name its lens would be handing the stamp an unnamable row.
There is no attachment seat and no origin seat. An attachment’s three parts live in the consumption target and arrive as expressions at the carrier’s invocation; an origin is the producer’s own act, composed inside the rendering, so a row that cannot express one cannot express the wrong one.
Implementations§
Source§impl Row
impl Row
Sourcepub fn declared(
lens: FunctionName,
references: References,
roles: Vec<Name>,
tags: Vec<Name>,
) -> Result<Self, DeclarationError>
pub fn declared( lens: FunctionName, references: References, roles: Vec<Name>, tags: Vec<Name>, ) -> Result<Self, DeclarationError>
Declare one descriptor row.
There is no suite parameter and no origin parameter, and neither absence is a dropped fact: a row’s execution suite is its group’s, and a row’s origin is the producer’s own act.
§Errors
Returns DeclarationError::Doubled where a roster states one label twice — refused rather than folded away, because collapsing a duplicate silently would be this side normalizing an authoring defect the harness itself refuses — and DeclarationError::Unbounded where a roster outgrows its declared magnitude.
The checks are dependent and in that order, so exactly one cause is true of any refused row.
Sourcepub const fn lens(&self) -> &FunctionName
pub const fn lens(&self) -> &FunctionName
The lens the stamp declares this row’s named test function under.
Sourcepub const fn references(&self) -> &References
pub const fn references(&self) -> &References
The four namespaced references this row states about itself.
The tags this row carries, in the order they were declared.