pub struct Provenance { /* private fields */ }Expand description
The inspectable record of ONE derivation.
The identity answers “which thing is this?” and is thirty-two bytes; the record answers “where did those thirty-two bytes come from?” and is inspection material. They are separate values so neither constrains the other: the transcript can be complete because it is not stored, and the record can be honest because it is written once where the derivation happened rather than copied everywhere the identity goes.
The material is stated by its LENGTH and not carried, because material is unbounded and a record that copied it would double every rendering in memory to say something the rendered unit already holds. That length is not a fold and identifies nothing; the identity is what commits to the material, at full width.
Implementations§
Source§impl Provenance
impl Provenance
Sourcepub const fn subject_stem(&self) -> &'static str
pub const fn subject_stem(&self) -> &'static str
The stem of whoever owns the subject this derivation named.
Sourcepub const fn generator(&self) -> GeneratorIdentity
pub const fn generator(&self) -> GeneratorIdentity
The generator that derived it.
Sourcepub const fn material_length(&self) -> u64
pub const fn material_length(&self) -> u64
How many bytes of material went into the transcript.
Sourcepub fn under_current_shape(&self) -> bool
pub fn under_current_shape(&self) -> bool
Whether this derivation was recorded under the generator and rendered shape this crate declares today.
§Nonclaims
A false says a different generator shape produced the record.
It says nothing about whether the material moved, whether the identity would re-derive the same, or whether anything needs redoing.
Trait Implementations§
Source§impl Clone for Provenance
impl Clone for Provenance
Source§fn clone(&self) -> Provenance
fn clone(&self) -> Provenance
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more