pub struct RunFrozen {
pub completion: String,
pub evidence: Option<Vec<EvidenceCite>>,
pub cause: Option<FreezeCause>,
}Expand description
run_frozen: how a run ended, and what it cites for having ended
that way.
The three endings are spelled by Completion::name, which stays
the authority for the words: this struct carries whichever word that
method printed rather than an enum that would have to agree with it.
A run that ended any other way cites nothing, and the key is absent
rather than empty, exactly as the hand-written writer left it.
Fields§
§completion: String§evidence: Option<Vec<EvidenceCite>>§cause: Option<FreezeCause>Why the line was written by something other than the run’s own
driver (crates/kernel/spec/Event/Record.lean §8-82-2). Absent on every freeze a run wrote
for itself, so those lines keep the bytes they always had.
Implementations§
Source§impl RunFrozen
impl RunFrozen
Sourcepub fn of(completion: &Completion) -> RunFrozen
pub fn of(completion: &Completion) -> RunFrozen
The one projection from a verdict to the line that records it.
Reading is deliberately not the inverse: a Completion::Done
holds EventRefs, and minting those from a
line would forge the evidence the type exists to guarantee.
Sourcepub fn lost() -> RunFrozen
pub fn lost() -> RunFrozen
The freeze of a run whose process died before it froze itself: the one place that says which ending such a run has.
cancelled, because the run stopped without finishing - done
needs evidence the city recorded and it has none - and no ceiling
cut it, which is what limit says. The cause tells it apart from
a cancel somebody asked for (kernel D14).