pub struct IsomorphismProof {
pub change_description: String,
pub old_checksum: u64,
pub new_checksum: u64,
pub preserved_invariants: Vec<String>,
pub justification: String,
pub approved_by: Option<String>,
pub approved_at: Option<String>,
}Expand description
Evidence for an isomorphism proof.
When scheduler behavior changes, this documents why the change preserves correctness despite producing a different trace.
Fields§
§change_description: StringDescription of the change.
old_checksum: u64Old checksum before the change.
new_checksum: u64New checksum after the change.
preserved_invariants: Vec<String>Invariants that are preserved.
justification: StringJustification for why the traces are equivalent.
approved_by: Option<String>Who approved this change.
approved_at: Option<String>Timestamp of approval.
Implementations§
Source§impl IsomorphismProof
impl IsomorphismProof
Sourcepub fn new(
change_description: impl Into<String>,
old_checksum: u64,
new_checksum: u64,
) -> Self
pub fn new( change_description: impl Into<String>, old_checksum: u64, new_checksum: u64, ) -> Self
Create a new proof.
Sourcepub fn with_invariant(self, invariant: impl Into<String>) -> Self
pub fn with_invariant(self, invariant: impl Into<String>) -> Self
Add a preserved invariant.
Sourcepub fn with_justification(self, justification: impl Into<String>) -> Self
pub fn with_justification(self, justification: impl Into<String>) -> Self
Add justification.
Trait Implementations§
Source§impl Clone for IsomorphismProof
impl Clone for IsomorphismProof
Source§fn clone(&self) -> IsomorphismProof
fn clone(&self) -> IsomorphismProof
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for IsomorphismProof
impl RefUnwindSafe for IsomorphismProof
impl Send for IsomorphismProof
impl Sync for IsomorphismProof
impl Unpin for IsomorphismProof
impl UnsafeUnpin for IsomorphismProof
impl UnwindSafe for IsomorphismProof
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
Mutably borrows from an owned value. Read more