pub enum CacheResult<T> {
Unknown,
Terminal(usize),
Rewrite(T),
}Expand description
Return type for RewriteCache Due to the nature of Rewriting, there may be repeated subtrees where no rule can be applied. In that case, we can compute it once and store it in cache stating no rules applicable.
Variants§
Unknown
The Subtree does not exist in cache.
Terminal(usize)
The Subtree exists in cache but no rule is applicable.
Rewrite(T)
The Subtree exists in cache and there is a pre computed value.
Auto Trait Implementations§
impl<T> Freeze for CacheResult<T>where
T: Freeze,
impl<T> RefUnwindSafe for CacheResult<T>where
T: RefUnwindSafe,
impl<T> Send for CacheResult<T>where
T: Send,
impl<T> Sync for CacheResult<T>where
T: Sync,
impl<T> Unpin for CacheResult<T>where
T: Unpin,
impl<T> UnsafeUnpin for CacheResult<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for CacheResult<T>where
T: UnwindSafe,
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.