[][src]Trait rustc_middle::mir::visit::MutVisitor

pub trait MutVisitor<'tcx> {
    fn tcx<'a>(&'a self) -> TyCtxt<'tcx>;

    fn visit_body(&mut self, body: &mut Body<'tcx>) { ... }
fn visit_basic_block_data(
        &mut self,
        block: BasicBlock,
        data: &mut BasicBlockData<'tcx>
    ) { ... }
fn visit_source_scope_data(&mut self, scope_data: &mut SourceScopeData) { ... }
fn visit_statement(
        &mut self,
        statement: &mut Statement<'tcx>,
        location: Location
    ) { ... }
fn visit_assign(
        &mut self,
        place: &mut Place<'tcx>,
        rvalue: &mut Rvalue<'tcx>,
        location: Location
    ) { ... }
fn visit_terminator(
        &mut self,
        terminator: &mut Terminator<'tcx>,
        location: Location
    ) { ... }
fn visit_assert_message(
        &mut self,
        msg: &mut AssertMessage<'tcx>,
        location: Location
    ) { ... }
fn visit_rvalue(&mut self, rvalue: &mut Rvalue<'tcx>, location: Location) { ... }
fn visit_operand(&mut self, operand: &mut Operand<'tcx>, location: Location) { ... }
fn visit_ascribe_user_ty(
        &mut self,
        place: &mut Place<'tcx>,
        variance: &mut Variance,
        user_ty: &mut UserTypeProjection,
        location: Location
    ) { ... }
fn visit_retag(
        &mut self,
        kind: &mut RetagKind,
        place: &mut Place<'tcx>,
        location: Location
    ) { ... }
fn visit_place(
        &mut self,
        place: &mut Place<'tcx>,
        context: PlaceContext,
        location: Location
    ) { ... }
fn super_place(
        &mut self,
        place: &mut Place<'tcx>,
        context: PlaceContext,
        location: Location
    ) { ... }
fn process_projection<'a>(
        &mut self,
        projection: &'a [PlaceElem<'tcx>],
        location: Location
    ) -> Option<Vec<PlaceElem<'tcx>>> { ... }
fn process_projection_elem(
        &mut self,
        elem: PlaceElem<'tcx>,
        location: Location
    ) -> Option<PlaceElem<'tcx>> { ... }
fn visit_constant(
        &mut self,
        constant: &mut Constant<'tcx>,
        location: Location
    ) { ... }
fn visit_span(&mut self, span: &mut Span) { ... }
fn visit_source_info(&mut self, source_info: &mut SourceInfo) { ... }
fn visit_ty(&mut self, ty: &mut Ty<'tcx>, _: TyContext) { ... }
fn visit_user_type_projection(&mut self, ty: &mut UserTypeProjection) { ... }
fn visit_user_type_annotation(
        &mut self,
        index: UserTypeAnnotationIndex,
        ty: &mut CanonicalUserTypeAnnotation<'tcx>
    ) { ... }
fn visit_region(&mut self, region: &mut Region<'tcx>, _: Location) { ... }
fn visit_const(&mut self, constant: &mut &'tcx Const<'tcx>, _: Location) { ... }
fn visit_substs(&mut self, substs: &mut SubstsRef<'tcx>, _: Location) { ... }
fn visit_local_decl(
        &mut self,
        local: Local,
        local_decl: &mut LocalDecl<'tcx>
    ) { ... }
fn visit_var_debug_info(&mut self, var_debug_info: &mut VarDebugInfo<'tcx>) { ... }
fn visit_local(
        &mut self,
        _local: &mut Local,
        _context: PlaceContext,
        _location: Location
    ) { ... }
fn visit_source_scope(&mut self, scope: &mut SourceScope) { ... }
fn super_body(&mut self, body: &mut Body<'tcx>) { ... }
fn super_basic_block_data(
        &mut self,
        block: BasicBlock,
        data: &mut BasicBlockData<'tcx>
    ) { ... }
fn super_source_scope_data(&mut self, scope_data: &mut SourceScopeData) { ... }
fn super_statement(
        &mut self,
        statement: &mut Statement<'tcx>,
        location: Location
    ) { ... }
fn super_assign(
        &mut self,
        place: &mut Place<'tcx>,
        rvalue: &mut Rvalue<'tcx>,
        location: Location
    ) { ... }
fn super_terminator(
        &mut self,
        terminator: &mut Terminator<'tcx>,
        location: Location
    ) { ... }
fn super_assert_message(
        &mut self,
        msg: &mut AssertMessage<'tcx>,
        location: Location
    ) { ... }
fn super_rvalue(&mut self, rvalue: &mut Rvalue<'tcx>, location: Location) { ... }
fn super_operand(&mut self, operand: &mut Operand<'tcx>, location: Location) { ... }
fn super_ascribe_user_ty(
        &mut self,
        place: &mut Place<'tcx>,
        _variance: &mut Variance,
        user_ty: &mut UserTypeProjection,
        location: Location
    ) { ... }
fn super_retag(
        &mut self,
        _kind: &mut RetagKind,
        place: &mut Place<'tcx>,
        location: Location
    ) { ... }
fn super_local_decl(
        &mut self,
        local: Local,
        local_decl: &mut LocalDecl<'tcx>
    ) { ... }
fn super_var_debug_info(&mut self, var_debug_info: &mut VarDebugInfo<'tcx>) { ... }
fn super_source_scope(&mut self, _scope: &mut SourceScope) { ... }
fn super_constant(
        &mut self,
        constant: &mut Constant<'tcx>,
        location: Location
    ) { ... }
fn super_span(&mut self, _span: &mut Span) { ... }
fn super_source_info(&mut self, source_info: &mut SourceInfo) { ... }
fn super_user_type_projection(&mut self, _ty: &mut UserTypeProjection) { ... }
fn super_user_type_annotation(
        &mut self,
        _index: UserTypeAnnotationIndex,
        ty: &mut CanonicalUserTypeAnnotation<'tcx>
    ) { ... }
fn super_ty(&mut self, _ty: &mut Ty<'tcx>) { ... }
fn super_region(&mut self, _region: &mut Region<'tcx>) { ... }
fn super_const(&mut self, _const: &mut &'tcx Const<'tcx>) { ... }
fn super_substs(&mut self, _substs: &mut SubstsRef<'tcx>) { ... }
fn visit_location(&mut self, body: &mut Body<'tcx>, location: Location) { ... } }
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Required methods

fn tcx<'a>(&'a self) -> TyCtxt<'tcx>

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Loading content...

Provided methods

fn visit_body(&mut self, body: &mut Body<'tcx>)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_basic_block_data(
    &mut self,
    block: BasicBlock,
    data: &mut BasicBlockData<'tcx>
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_source_scope_data(&mut self, scope_data: &mut SourceScopeData)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_statement(
    &mut self,
    statement: &mut Statement<'tcx>,
    location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_assign(
    &mut self,
    place: &mut Place<'tcx>,
    rvalue: &mut Rvalue<'tcx>,
    location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_terminator(
    &mut self,
    terminator: &mut Terminator<'tcx>,
    location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_assert_message(
    &mut self,
    msg: &mut AssertMessage<'tcx>,
    location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_rvalue(&mut self, rvalue: &mut Rvalue<'tcx>, location: Location)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_operand(&mut self, operand: &mut Operand<'tcx>, location: Location)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_ascribe_user_ty(
    &mut self,
    place: &mut Place<'tcx>,
    variance: &mut Variance,
    user_ty: &mut UserTypeProjection,
    location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_retag(
    &mut self,
    kind: &mut RetagKind,
    place: &mut Place<'tcx>,
    location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_place(
    &mut self,
    place: &mut Place<'tcx>,
    context: PlaceContext,
    location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_place(
    &mut self,
    place: &mut Place<'tcx>,
    context: PlaceContext,
    location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn process_projection<'a>(
    &mut self,
    projection: &'a [PlaceElem<'tcx>],
    location: Location
) -> Option<Vec<PlaceElem<'tcx>>>

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn process_projection_elem(
    &mut self,
    elem: PlaceElem<'tcx>,
    location: Location
) -> Option<PlaceElem<'tcx>>

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_constant(&mut self, constant: &mut Constant<'tcx>, location: Location)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_span(&mut self, span: &mut Span)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_source_info(&mut self, source_info: &mut SourceInfo)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_ty(&mut self, ty: &mut Ty<'tcx>, _: TyContext)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_user_type_projection(&mut self, ty: &mut UserTypeProjection)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_user_type_annotation(
    &mut self,
    index: UserTypeAnnotationIndex,
    ty: &mut CanonicalUserTypeAnnotation<'tcx>
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_region(&mut self, region: &mut Region<'tcx>, _: Location)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_const(&mut self, constant: &mut &'tcx Const<'tcx>, _: Location)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_substs(&mut self, substs: &mut SubstsRef<'tcx>, _: Location)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_local_decl(&mut self, local: Local, local_decl: &mut LocalDecl<'tcx>)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_var_debug_info(&mut self, var_debug_info: &mut VarDebugInfo<'tcx>)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_local(
    &mut self,
    _local: &mut Local,
    _context: PlaceContext,
    _location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_source_scope(&mut self, scope: &mut SourceScope)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_body(&mut self, body: &mut Body<'tcx>)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_basic_block_data(
    &mut self,
    block: BasicBlock,
    data: &mut BasicBlockData<'tcx>
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_source_scope_data(&mut self, scope_data: &mut SourceScopeData)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_statement(
    &mut self,
    statement: &mut Statement<'tcx>,
    location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_assign(
    &mut self,
    place: &mut Place<'tcx>,
    rvalue: &mut Rvalue<'tcx>,
    location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_terminator(
    &mut self,
    terminator: &mut Terminator<'tcx>,
    location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_assert_message(
    &mut self,
    msg: &mut AssertMessage<'tcx>,
    location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_rvalue(&mut self, rvalue: &mut Rvalue<'tcx>, location: Location)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_operand(&mut self, operand: &mut Operand<'tcx>, location: Location)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_ascribe_user_ty(
    &mut self,
    place: &mut Place<'tcx>,
    _variance: &mut Variance,
    user_ty: &mut UserTypeProjection,
    location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_retag(
    &mut self,
    _kind: &mut RetagKind,
    place: &mut Place<'tcx>,
    location: Location
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_local_decl(&mut self, local: Local, local_decl: &mut LocalDecl<'tcx>)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_var_debug_info(&mut self, var_debug_info: &mut VarDebugInfo<'tcx>)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_source_scope(&mut self, _scope: &mut SourceScope)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_constant(&mut self, constant: &mut Constant<'tcx>, location: Location)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_span(&mut self, _span: &mut Span)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_source_info(&mut self, source_info: &mut SourceInfo)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_user_type_projection(&mut self, _ty: &mut UserTypeProjection)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_user_type_annotation(
    &mut self,
    _index: UserTypeAnnotationIndex,
    ty: &mut CanonicalUserTypeAnnotation<'tcx>
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_ty(&mut self, _ty: &mut Ty<'tcx>)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_region(&mut self, _region: &mut Region<'tcx>)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_const(&mut self, _const: &mut &'tcx Const<'tcx>)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn super_substs(&mut self, _substs: &mut SubstsRef<'tcx>)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn visit_location(&mut self, body: &mut Body<'tcx>, location: Location)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Loading content...

Implementors

Loading content...