pub struct CompatibilityExplain {
pub verdict: CompatibilityVerdict,
pub added_fields: [&'static str; 16],
pub added_count: u8,
pub removed_fields: [&'static str; 16],
pub removed_count: u8,
pub changed_fields: [&'static str; 16],
pub changed_count: u8,
pub semantic_drift: bool,
pub summary: &'static str,
}Expand description
A structured, human-readable explanation of a compatibility verdict.
Goes beyond the raw verdict to tell operators why a transition is safe or dangerous, what segments are involved, and what action is needed.
Fields§
§verdict: CompatibilityVerdictThe computed verdict.
added_fields: [&'static str; 16]Fields that were added in the newer layout.
added_count: u8Number of valid entries in added_fields.
removed_fields: [&'static str; 16]Fields that were removed in the newer layout (breaking).
removed_count: u8Number of valid entries in removed_fields.
changed_fields: [&'static str; 16]Fields that were changed (type or size mismatch).
changed_count: u8Number of valid entries in changed_fields.
semantic_drift: boolWhether the semantic hash changed (meaning shifted even if wire is the same).
summary: &'static strOne-line human-readable summary.
Implementations§
Source§impl CompatibilityExplain
impl CompatibilityExplain
Sourcepub fn between(older: &LayoutManifest, newer: &LayoutManifest) -> Self
pub fn between(older: &LayoutManifest, newer: &LayoutManifest) -> Self
Generate a full explanation from two layout manifests.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CompatibilityExplain
impl RefUnwindSafe for CompatibilityExplain
impl Send for CompatibilityExplain
impl Sync for CompatibilityExplain
impl Unpin for CompatibilityExplain
impl UnsafeUnpin for CompatibilityExplain
impl UnwindSafe for CompatibilityExplain
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