pub struct ShapeEquivalence { /* private fields */ }Expand description
A simple structural equivalence oracle based on shape matching.
Implementations§
Source§impl ShapeEquivalence
impl ShapeEquivalence
Sourcepub fn new(registry: StructureRegistry) -> Self
pub fn new(registry: StructureRegistry) -> Self
Create an oracle with the given registry.
Sourcepub fn may_be_equal(&self, a: &StructShape, b: &StructShape) -> bool
pub fn may_be_equal(&self, a: &StructShape, b: &StructShape) -> bool
Return whether two struct shapes can possibly be equal.
Sourcepub fn is_expandable(&self, shape: &StructShape) -> bool
pub fn is_expandable(&self, shape: &StructShape) -> bool
Return whether a shape is eta-expandable (is a known structure ctor).
Auto Trait Implementations§
impl Freeze for ShapeEquivalence
impl RefUnwindSafe for ShapeEquivalence
impl Send for ShapeEquivalence
impl Sync for ShapeEquivalence
impl Unpin for ShapeEquivalence
impl UnsafeUnpin for ShapeEquivalence
impl UnwindSafe for ShapeEquivalence
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