Skip to main content

TraitChange

Enum TraitChange 

Source
pub enum TraitChange {
    RequiredMethodAdded,
    DefaultMethodAdded,
    MethodRemoved,
    RequiredMethodSignatureChanged,
    DefaultMethodBodyChanged,
    SupertraitOrBoundChanged,
}
Expand description

Per-method or trait-level change classification. One-to-one with the bullets in README §3B. Confidence floor for anything requiring resolution (actual impl bodies) stays at Likely in v0.2 — we cannot prove which impls delegate vs override without rust-analyzer.

Variants§

§

RequiredMethodAdded

A new method was added without a default body. Every impl that does not supply it will fail to compile.

§

DefaultMethodAdded

A new method was added with a default body. Rarely breaking, but can shadow same-named methods on implementing types.

§

MethodRemoved

A method was removed. Breaks any caller that referenced it and any impl that still tries to define it.

§

RequiredMethodSignatureChanged

A required-method signature (args, return type, generics, where clause) changed. Impls with the old signature break at compile time.

§

DefaultMethodBodyChanged

Only the body of a default method changed. Runtime behavior shifts for impls that rely on the default; impls that override are unaffected. We cannot tell which is which without name resolution.

§

SupertraitOrBoundChanged

The trait’s supertrait list or generic bounds changed. Downstream generic code constrained by the trait may stop compiling.

Implementations§

Source§

impl TraitChange

Source

pub fn severity(self) -> SeverityClass

Severity class per README §3B. Required-side changes and removals are compile breaks on downstream impls; default-body changes are runtime-only and narrower; bound changes sit in the middle.

Source

pub fn tier(self) -> Tier

Confidence tier. All classifications stay at Likely or Possible in v0.2 — proving which impls actually delegate vs override needs resolved name lookup, which arrives with rust-analyzer in v0.3.

Source

pub fn confidence(self) -> f64

Numeric confidence score. Higher for changes that unambiguously break downstream compilation; lower for runtime-only or defaulted-only changes where impact depends on resolution.

Source

pub fn phrase(self) -> &'static str

Short human phrase for evidence/summary rendering. Callers are expected to prepend the trait and method names.

Trait Implementations§

Source§

impl Clone for TraitChange

Source§

fn clone(&self) -> TraitChange

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TraitChange

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for TraitChange

Source§

fn eq(&self, other: &TraitChange) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for TraitChange

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for TraitChange

Source§

impl Eq for TraitChange

Source§

impl StructuralPartialEq for TraitChange

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.