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>