struct ComputeUpdates<'a, 'b, 'c> {
analysis: &'a mut CheckFlagCorrectness<'b, 'c>,
block_id: BlockId,
}Fields§
§analysis: &'a mut CheckFlagCorrectness<'b, 'c>§block_id: BlockIdTrait Implementations§
Source§impl VisitBody for ComputeUpdates<'_, '_, '_>
impl VisitBody for ComputeUpdates<'_, '_, '_>
Source§fn enter_operand(&mut self, operand: &Operand)
fn enter_operand(&mut self, operand: &Operand)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_ullbc_statement(&mut self, statement: &Statement)
fn exit_ullbc_statement(&mut self, statement: &Statement)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit<'a, T: BodyVisitable>(&'a mut self, x: &T) -> ControlFlow<Self::Break>
fn visit<'a, T: BodyVisitable>(&'a mut self, x: &T) -> ControlFlow<Self::Break>
Visit a visitable type. This calls the appropriate method of this trait on
x
(visit_$ty if it exists, visit_inner if not).Source§fn visit_by_val<T: BodyVisitable>(self, x: &T) -> ControlFlow<Self::Break, Self>
fn visit_by_val<T: BodyVisitable>(self, x: &T) -> ControlFlow<Self::Break, Self>
Convenience alias for method chaining.
Source§fn visit_by_val_infallible<T: BodyVisitable>(self, x: &T) -> Self
fn visit_by_val_infallible<T: BodyVisitable>(self, x: &T) -> Self
Convenience when the visitor does not return early.
Source§fn visit_inner<T>(&mut self, x: &T) -> ControlFlow<Self::Break>where
T: BodyVisitable + for<'s> Drive<'s, BodyVisitableWrapper<Self>>,
fn visit_inner<T>(&mut self, x: &T) -> ControlFlow<Self::Break>where
T: BodyVisitable + for<'s> Drive<'s, BodyVisitableWrapper<Self>>,
Visit the contents of
x. This calls self.visit() on each field of T. This
is available for any type whose contents are all #trait_name.Source§fn visit_body(&mut self, x: &Body) -> ControlFlow<Self::Break>
fn visit_body(&mut self, x: &Body) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_body(&mut self, x: &Body)
fn enter_body(&mut self, x: &Body)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_body(&mut self, x: &Body)
fn exit_body(&mut self, x: &Body)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_locals(&mut self, x: &Locals) -> ControlFlow<Self::Break>
fn visit_locals(&mut self, x: &Locals) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_locals(&mut self, x: &Locals)
fn enter_locals(&mut self, x: &Locals)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_locals(&mut self, x: &Locals)
fn exit_locals(&mut self, x: &Locals)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_local(&mut self, x: &Local) -> ControlFlow<Self::Break>
fn visit_local(&mut self, x: &Local) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_local(&mut self, x: &Local)
fn enter_local(&mut self, x: &Local)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_local(&mut self, x: &Local)
fn exit_local(&mut self, x: &Local)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_local_id(&mut self, x: &LocalId) -> ControlFlow<Self::Break>
fn visit_local_id(&mut self, x: &LocalId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_local_id(&mut self, x: &LocalId)
fn enter_local_id(&mut self, x: &LocalId)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_local_id(&mut self, x: &LocalId)
fn exit_local_id(&mut self, x: &LocalId)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_aggregate_kind(
&mut self,
x: &AggregateKind,
) -> ControlFlow<Self::Break>
fn visit_aggregate_kind( &mut self, x: &AggregateKind, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_aggregate_kind(&mut self, x: &AggregateKind)
fn enter_aggregate_kind(&mut self, x: &AggregateKind)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_aggregate_kind(&mut self, x: &AggregateKind)
fn exit_aggregate_kind(&mut self, x: &AggregateKind)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_asm_operand(&mut self, x: &AsmOperand) -> ControlFlow<Self::Break>
fn visit_asm_operand(&mut self, x: &AsmOperand) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_asm_operand(&mut self, x: &AsmOperand)
fn enter_asm_operand(&mut self, x: &AsmOperand)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_asm_operand(&mut self, x: &AsmOperand)
fn exit_asm_operand(&mut self, x: &AsmOperand)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_call(&mut self, x: &Call) -> ControlFlow<Self::Break>
fn visit_call(&mut self, x: &Call) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_call(&mut self, x: &Call)
fn enter_call(&mut self, x: &Call)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_call(&mut self, x: &Call)
fn exit_call(&mut self, x: &Call)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_fn_operand(&mut self, x: &FnOperand) -> ControlFlow<Self::Break>
fn visit_fn_operand(&mut self, x: &FnOperand) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_fn_operand(&mut self, x: &FnOperand)
fn enter_fn_operand(&mut self, x: &FnOperand)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_fn_operand(&mut self, x: &FnOperand)
fn exit_fn_operand(&mut self, x: &FnOperand)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_fn_ptr(&mut self, x: &FnPtr) -> ControlFlow<Self::Break>
fn visit_fn_ptr(&mut self, x: &FnPtr) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_fn_ptr(&mut self, x: &FnPtr)
fn enter_fn_ptr(&mut self, x: &FnPtr)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_fn_ptr(&mut self, x: &FnPtr)
fn exit_fn_ptr(&mut self, x: &FnPtr)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_operand(&mut self, x: &Operand) -> ControlFlow<Self::Break>
fn visit_operand(&mut self, x: &Operand) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn exit_operand(&mut self, x: &Operand)
fn exit_operand(&mut self, x: &Operand)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_place(&mut self, x: &Place) -> ControlFlow<Self::Break>
fn visit_place(&mut self, x: &Place) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_place(&mut self, x: &Place)
fn enter_place(&mut self, x: &Place)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_place(&mut self, x: &Place)
fn exit_place(&mut self, x: &Place)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_projection_elem(
&mut self,
x: &ProjectionElem,
) -> ControlFlow<Self::Break>
fn visit_projection_elem( &mut self, x: &ProjectionElem, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_projection_elem(&mut self, x: &ProjectionElem)
fn enter_projection_elem(&mut self, x: &ProjectionElem)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_projection_elem(&mut self, x: &ProjectionElem)
fn exit_projection_elem(&mut self, x: &ProjectionElem)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_rvalue(&mut self, x: &Rvalue) -> ControlFlow<Self::Break>
fn visit_rvalue(&mut self, x: &Rvalue) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_rvalue(&mut self, x: &Rvalue)
fn enter_rvalue(&mut self, x: &Rvalue)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_rvalue(&mut self, x: &Rvalue)
fn exit_rvalue(&mut self, x: &Rvalue)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_llbc_block(&mut self, x: &Block) -> ControlFlow<Self::Break>
fn visit_llbc_block(&mut self, x: &Block) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_llbc_block(&mut self, x: &Block)
fn enter_llbc_block(&mut self, x: &Block)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_llbc_block(&mut self, x: &Block)
fn exit_llbc_block(&mut self, x: &Block)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_llbc_statement(&mut self, x: &Statement) -> ControlFlow<Self::Break>
fn visit_llbc_statement(&mut self, x: &Statement) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_llbc_statement(&mut self, x: &Statement)
fn enter_llbc_statement(&mut self, x: &Statement)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_llbc_statement(&mut self, x: &Statement)
fn exit_llbc_statement(&mut self, x: &Statement)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_ullbc_block(&mut self, x: &BlockData) -> ControlFlow<Self::Break>
fn visit_ullbc_block(&mut self, x: &BlockData) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_ullbc_block(&mut self, x: &BlockData)
fn enter_ullbc_block(&mut self, x: &BlockData)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_ullbc_block(&mut self, x: &BlockData)
fn exit_ullbc_block(&mut self, x: &BlockData)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_ullbc_statement(&mut self, x: &Statement) -> ControlFlow<Self::Break>
fn visit_ullbc_statement(&mut self, x: &Statement) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_ullbc_statement(&mut self, x: &Statement)
fn enter_ullbc_statement(&mut self, x: &Statement)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn visit_ullbc_terminator(&mut self, x: &Terminator) -> ControlFlow<Self::Break>
fn visit_ullbc_terminator(&mut self, x: &Terminator) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_ullbc_terminator(&mut self, x: &Terminator)
fn enter_ullbc_terminator(&mut self, x: &Terminator)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_ullbc_terminator(&mut self, x: &Terminator)
fn exit_ullbc_terminator(&mut self, x: &Terminator)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Source§fn visit_ullbc_block_id(&mut self, x: &BlockId) -> ControlFlow<Self::Break>
fn visit_ullbc_block_id(&mut self, x: &BlockId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty. When overriding this method,
call self.visit_inner(x) to keep recursively visiting the type, or don’t call
it if the contents of x should not be visited. Read moreSource§fn enter_ullbc_block_id(&mut self, x: &BlockId)
fn enter_ullbc_block_id(&mut self, x: &BlockId)
Called when starting to visit a
$ty (unless visit_$ty is overriden).Source§fn exit_ullbc_block_id(&mut self, x: &BlockId)
fn exit_ullbc_block_id(&mut self, x: &BlockId)
Called when finished visiting a
$ty (unless visit_$ty is overriden).Auto Trait Implementations§
impl<'a, 'b, 'c> !UnwindSafe for ComputeUpdates<'a, 'b, 'c>
impl<'a, 'b, 'c> Freeze for ComputeUpdates<'a, 'b, 'c>
impl<'a, 'b, 'c> RefUnwindSafe for ComputeUpdates<'a, 'b, 'c>
impl<'a, 'b, 'c> Send for ComputeUpdates<'a, 'b, 'c>
impl<'a, 'b, 'c> Sync for ComputeUpdates<'a, 'b, 'c>
impl<'a, 'b, 'c> Unpin for ComputeUpdates<'a, 'b, 'c>
impl<'a, 'b, 'c> UnsafeUnpin for ComputeUpdates<'a, 'b, 'c>
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> ⓘ
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