pub struct HeterogeneousEq<A, B> {
pub left: A,
pub right: B,
pub justification: &'static str,
}Expand description
A heterogeneous equality witness between values of potentially different types.
Fields§
§left: AThe left-hand value.
right: BThe right-hand value.
justification: &'static strA human-readable justification.
Implementations§
Source§impl<A, B> HeterogeneousEq<A, B>
impl<A, B> HeterogeneousEq<A, B>
Source§impl<A: Clone + PartialEq> HeterogeneousEq<A, A>
impl<A: Clone + PartialEq> HeterogeneousEq<A, A>
Sourcepub fn is_homogeneous_eq(&self) -> bool
pub fn is_homogeneous_eq(&self) -> bool
When both sides have the same type, check propositional equality.
Sourcepub fn to_homogeneous(&self) -> Option<EqualityWitness<A>>
pub fn to_homogeneous(&self) -> Option<EqualityWitness<A>>
Extract a homogeneous EqualityWitness if values are equal.
Auto Trait Implementations§
impl<A, B> Freeze for HeterogeneousEq<A, B>
impl<A, B> RefUnwindSafe for HeterogeneousEq<A, B>where
A: RefUnwindSafe,
B: RefUnwindSafe,
impl<A, B> Send for HeterogeneousEq<A, B>
impl<A, B> Sync for HeterogeneousEq<A, B>
impl<A, B> Unpin for HeterogeneousEq<A, B>
impl<A, B> UnsafeUnpin for HeterogeneousEq<A, B>where
A: UnsafeUnpin,
B: UnsafeUnpin,
impl<A, B> UnwindSafe for HeterogeneousEq<A, B>where
A: UnwindSafe,
B: UnwindSafe,
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