pub struct IdentityRules;
Expand description
A normalization rule that applies simple algebraic identities.
Trait Implementations§
Source§impl Default for IdentityRules
impl Default for IdentityRules
Source§fn default() -> IdentityRules
fn default() -> IdentityRules
Returns the “default value” for a type. Read more
Source§impl RewriteRule for IdentityRules
impl RewriteRule for IdentityRules
Source§fn rewrite(&self, node: NormalizedSelection) -> NormalizedSelection
fn rewrite(&self, node: NormalizedSelection) -> NormalizedSelection
Applies a rewrite step to a node whose children have already
been recursively rewritten.
Auto Trait Implementations§
impl Freeze for IdentityRules
impl RefUnwindSafe for IdentityRules
impl Send for IdentityRules
impl Sync for IdentityRules
impl Unpin for IdentityRules
impl UnwindSafe for IdentityRules
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> 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 moreSource§impl<T> RewriteRuleExt for Twhere
T: RewriteRule,
impl<T> RewriteRuleExt for Twhere
T: RewriteRule,
Source§fn then<R: RewriteRule>(self, other: R) -> (Self, R)
fn then<R: RewriteRule>(self, other: R) -> (Self, R)
Chains this rule with another rule, creating a composite rule
that applies
self
first, then other
.