pub struct EtaEqualityOracle { /* private fields */ }Expand description
A simple equality oracle for eta-normal forms.
Implementations§
Source§impl EtaEqualityOracle
impl EtaEqualityOracle
Sourcepub fn new(canon_map: EtaCanonMap) -> Self
pub fn new(canon_map: EtaCanonMap) -> Self
Create an oracle with an existing canon map.
Sourcepub fn are_eta_equal(&self, a: u64, b: u64) -> bool
pub fn are_eta_equal(&self, a: u64, b: u64) -> bool
Check if two expression ids are eta-equal (same canonical form).
Sourcepub fn class_count(&self) -> usize
pub fn class_count(&self) -> usize
Return the number of canonical classes.
Auto Trait Implementations§
impl Freeze for EtaEqualityOracle
impl RefUnwindSafe for EtaEqualityOracle
impl Send for EtaEqualityOracle
impl Sync for EtaEqualityOracle
impl Unpin for EtaEqualityOracle
impl UnsafeUnpin for EtaEqualityOracle
impl UnwindSafe for EtaEqualityOracle
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