Module rustc::middle::expr_use_visitor[][src]

🔬 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?

A different sort of visitor for walking fn bodies. Unlike the normal visitor, which just walks the entire body in one shot, the ExprUseVisitor determines how expressions are being used.

Re-exports

pub use self::LoanCause::*;
pub use self::ConsumeMode::*;
pub use self::MoveReason::*;
pub use self::MatchMode::*;
use self::TrackMatchMode::*;
use self::OverloadedCallType::*;
use hir::def::Def;
use hir::def_id::DefId;
use infer::InferCtxt;
use middle::mem_categorization as mc;
use middle::region;
use ty;
use ty::TyCtxt;
use ty::adjustment;
use hir;
use hir::PatKind;
use rustc_data_structures::sync::Lrc;
use std::rc::Rc;
use syntax::ast;
use syntax::ptr::P;
use syntax::ptr::P;
use syntax_pos::Span;
use util::nodemap::ItemLocalSet;
use util::nodemap::ItemLocalSet;

Structs

ExprUseVisitor [
Experimental
]

Enums

ConsumeMode [
Experimental
]
LoanCause [
Experimental
]
MatchMode [
Experimental
]
MoveReason [
Experimental
]
MutateMode [
Experimental
]
OverloadedCallType [
Experimental
]
TrackMatchMode [
Experimental
]

Traits

Delegate [
Experimental
]

This trait defines the callbacks you can expect to receive when employing the ExprUseVisitor.

Functions

copy_or_move [
Experimental
]