pub struct Function { /* private fields */ }Expand description
A function in the e-graph.
This contains the schema information of the function and the backend id of the function in the e-graph.
Implementations§
Source§impl Function
impl Function
Sourcepub fn schema(&self) -> &ResolvedSchema
pub fn schema(&self) -> &ResolvedSchema
Get the schema of the function.
Sourcepub fn can_subsume(&self) -> bool
pub fn can_subsume(&self) -> bool
Whether this function supports subsumption.
Sourcepub fn is_let_binding(&self) -> bool
pub fn is_let_binding(&self) -> bool
Whether this is a let binding
Whether this function is internally hidden (e.g., compiler-generated helper tables that should not appear in user-facing listings).
Sourcepub fn term_constructor(&self) -> Option<&str>
pub fn term_constructor(&self) -> Option<&str>
The term-constructor name associated with this function table, if any. Set on view tables created by the term/proof encoding to refer back to the user-visible constructor name.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Function
impl !RefUnwindSafe for Function
impl Send for Function
impl Sync for Function
impl Unpin for Function
impl !UnwindSafe for Function
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more