Trait rustc::middle::expr_use_visitor::Delegate [−][src]
pub trait Delegate<'tcx> { fn consume(
&mut self,
consume_id: NodeId,
consume_span: Span,
cmt: &cmt_<'tcx>,
mode: ConsumeMode
); fn matched_pat(
&mut self,
matched_pat: &Pat,
cmt: &cmt_<'tcx>,
mode: MatchMode
); fn consume_pat(
&mut self,
consume_pat: &Pat,
cmt: &cmt_<'tcx>,
mode: ConsumeMode
); fn borrow(
&mut self,
borrow_id: NodeId,
borrow_span: Span,
cmt: &cmt_<'tcx>,
loan_region: Region<'tcx>,
bk: BorrowKind,
loan_cause: LoanCause
); fn decl_without_init(&mut self, id: NodeId, span: Span); fn mutate(
&mut self,
assignment_id: NodeId,
assignment_span: Span,
assignee_cmt: &cmt_<'tcx>,
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?
This trait defines the callbacks you can expect to receive when employing the ExprUseVisitor.
Required Methods
fn consume(
&mut self,
consume_id: NodeId,
consume_span: Span,
cmt: &cmt_<'tcx>,
mode: ConsumeMode
)
&mut self,
consume_id: NodeId,
consume_span: Span,
cmt: &cmt_<'tcx>,
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 matched_pat(&mut self, matched_pat: &Pat, cmt: &cmt_<'tcx>, mode: 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_<'tcx>,
mode: ConsumeMode
)
&mut self,
consume_pat: &Pat,
cmt: &cmt_<'tcx>,
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
)
&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)
🔬 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_<'tcx>,
mode: MutateMode
)
&mut self,
assignment_id: NodeId,
assignment_span: Span,
assignee_cmt: &cmt_<'tcx>,
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?