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: Symbol
The 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