Struct rustc_passes::rvalue_promotion::CheckCrateVisitor [−][src]
struct CheckCrateVisitor<'a, 'tcx: 'a> { tcx: TyCtxt<'a, 'tcx, 'tcx>, in_fn: bool, in_static: bool, mut_rvalue_borrows: NodeSet, param_env: ParamEnv<'tcx>, identity_substs: &'tcx Substs<'tcx>, tables: &'a TypeckTables<'tcx>, result: ItemLocalSet, }
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Fields
tcx: TyCtxt<'a, 'tcx, 'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
in_fn: bool
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
in_static: bool
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
mut_rvalue_borrows: NodeSet
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
param_env: ParamEnv<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
identity_substs: &'tcx Substs<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
tables: &'a TypeckTables<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
result: ItemLocalSet
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Methods
impl<'a, 'gcx> CheckCrateVisitor<'a, 'gcx>
[src]
impl<'a, 'gcx> CheckCrateVisitor<'a, 'gcx>
fn type_promotability(&mut self, ty: Ty<'gcx>) -> Promotability
[src]
fn type_promotability(&mut self, ty: Ty<'gcx>) -> Promotability
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn handle_const_fn_call(
&mut self,
def_id: DefId,
ret_ty: Ty<'gcx>,
span: Span
) -> Promotability
[src]
fn handle_const_fn_call(
&mut self,
def_id: DefId,
ret_ty: Ty<'gcx>,
span: Span
) -> Promotability
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn remove_mut_rvalue_borrow(&mut self, pat: &Pat) -> bool
[src]
fn remove_mut_rvalue_borrow(&mut self, pat: &Pat) -> bool
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
While the ExprUseVisitor
walks, we will identify which
expressions are borrowed, and insert their ids into this
table. Actually, we insert the "borrow-id", which is normally
the id of the expession being borrowed: but in the case of
ref mut
borrows, the id
of the pattern is
inserted. Therefore later we remove that entry from the table
and transfer it over to the value being matched. This will
then prevent said value from being promoted.
impl<'a, 'tcx> CheckCrateVisitor<'a, 'tcx>
[src]
impl<'a, 'tcx> CheckCrateVisitor<'a, 'tcx>
fn check_nested_body(&mut self, body_id: BodyId) -> Promotability
[src]
fn check_nested_body(&mut self, body_id: BodyId) -> Promotability
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn check_stmt(&mut self, stmt: &'tcx Stmt) -> Promotability
[src]
fn check_stmt(&mut self, stmt: &'tcx Stmt) -> Promotability
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn check_expr(&mut self, ex: &'tcx Expr) -> Promotability
[src]
fn check_expr(&mut self, ex: &'tcx Expr) -> Promotability
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn check_block(&mut self, block: &'tcx Block) -> Promotability
[src]
fn check_block(&mut self, block: &'tcx Block) -> Promotability
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Trait Implementations
impl<'a, 'gcx, 'tcx> Delegate<'tcx> for CheckCrateVisitor<'a, 'gcx>
[src]
impl<'a, 'gcx, 'tcx> Delegate<'tcx> for CheckCrateVisitor<'a, 'gcx>
fn consume(
&mut self,
_consume_id: NodeId,
_consume_span: Span,
_cmt: &cmt_,
_mode: ConsumeMode
)
[src]
fn consume(
&mut self,
_consume_id: NodeId,
_consume_span: Span,
_cmt: &cmt_,
_mode: ConsumeMode
)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn borrow(
&mut self,
borrow_id: NodeId,
_borrow_span: Span,
cmt: &cmt_<'tcx>,
_loan_region: Region<'tcx>,
bk: BorrowKind,
loan_cause: LoanCause
)
[src]
fn borrow(
&mut self,
borrow_id: NodeId,
_borrow_span: Span,
cmt: &cmt_<'tcx>,
_loan_region: Region<'tcx>,
bk: BorrowKind,
loan_cause: LoanCause
)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn decl_without_init(&mut self, _id: NodeId, _span: Span)
[src]
fn decl_without_init(&mut self, _id: NodeId, _span: Span)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn mutate(
&mut self,
_assignment_id: NodeId,
_assignment_span: Span,
_assignee_cmt: &cmt_,
_mode: MutateMode
)
[src]
fn mutate(
&mut self,
_assignment_id: NodeId,
_assignment_span: Span,
_assignee_cmt: &cmt_,
_mode: MutateMode
)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn matched_pat(&mut self, _: &Pat, _: &cmt_, _: MatchMode)
[src]
fn matched_pat(&mut self, _: &Pat, _: &cmt_, _: MatchMode)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn consume_pat(&mut self, _consume_pat: &Pat, _cmt: &cmt_, _mode: ConsumeMode)
[src]
fn consume_pat(&mut self, _consume_pat: &Pat, _cmt: &cmt_, _mode: ConsumeMode)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Auto Trait Implementations
impl<'a, 'tcx> !Send for CheckCrateVisitor<'a, 'tcx>
impl<'a, 'tcx> !Send for CheckCrateVisitor<'a, 'tcx>
impl<'a, 'tcx> !Sync for CheckCrateVisitor<'a, 'tcx>
impl<'a, 'tcx> !Sync for CheckCrateVisitor<'a, 'tcx>