Struct egg::Rewrite [−][src]
#[non_exhaustive]pub struct Rewrite<L, N> {
pub name: Symbol,
pub searcher: Arc<dyn Searcher<L, N> + Sync + Send>,
pub applier: Arc<dyn Applier<L, N> + Sync + Send>,
}Expand description
A rewrite that searches for the lefthand side and applies the righthand side.
The rewrite! is the easiest way to create rewrites.
A Rewrite consists principally of a Searcher (the lefthand
side) and an Applier (the righthand side).
It additionally stores a name used to refer to the rewrite and a
long name used for debugging.
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: SymbolThe name of the rewrite.
searcher: Arc<dyn Searcher<L, N> + Sync + Send>The searcher (left-hand side) of the rewrite.
applier: Arc<dyn Applier<L, N> + Sync + Send>The applier (right-hand side) of the rewrite.
Implementations
Trait Implementations
Auto Trait Implementations
impl<L, N> !RefUnwindSafe for Rewrite<L, N>
impl<L, N> !UnwindSafe for Rewrite<L, N>
Blanket Implementations
Mutably borrows from an owned value. Read more
