pub enum InvariantPattern {
Literal,
Erased,
ExternalFVar,
ExternalProj,
InvariantCtor,
}Expand description
Recognizes structural patterns in let-values that are always loop-invariant.
Variants§
Literal
A literal constant.
Erased
An erased value (always invariant).
ExternalFVar
A free-variable reference that is not defined inside the loop.
ExternalProj
A projection of an external variable.
InvariantCtor
A constructor whose all args are invariant.
Trait Implementations§
Source§impl Clone for InvariantPattern
impl Clone for InvariantPattern
Source§fn clone(&self) -> InvariantPattern
fn clone(&self) -> InvariantPattern
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for InvariantPattern
impl RefUnwindSafe for InvariantPattern
impl Send for InvariantPattern
impl Sync for InvariantPattern
impl Unpin for InvariantPattern
impl UnsafeUnpin for InvariantPattern
impl UnwindSafe for InvariantPattern
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