pub struct InductionVar {
pub local_slot: u16,
pub is_module_binding: bool,
pub bound_cmp: IntCC,
pub bound_slot: Option<u16>,
pub step_value: Option<i64>,
}Expand description
An induction variable: a local or module binding that follows the pattern
var = var + step each iteration.
Fields§
§local_slot: u16The local variable slot used as induction variable
is_module_binding: boolWhether this is a module binding (true) or local variable (false)
bound_cmp: IntCCComparison condition used in loop test
bound_slot: Option<u16>The local slot that the induction var is compared against (bound)
step_value: Option<i64>The constant step value (e.g. 1 for i = i + 1), if detected
Trait Implementations§
Source§impl Clone for InductionVar
impl Clone for InductionVar
Auto Trait Implementations§
impl Freeze for InductionVar
impl RefUnwindSafe for InductionVar
impl Send for InductionVar
impl Sync for InductionVar
impl Unpin for InductionVar
impl UnsafeUnpin for InductionVar
impl UnwindSafe for InductionVar
Blanket Implementations§
impl<T> Allocation for T
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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