Struct rustc::middle::borrowck::BorrowckCtxt[src]

pub struct BorrowckCtxt<'a> {
    // some fields omitted
}

Methods

impl<'a> BorrowckCtxt<'a>

fn is_subregion_of(&self, r_sub: Region, r_sup: Region) -> bool

fn is_subscope_of(&self, r_sub: NodeId, r_sup: NodeId) -> bool

fn mc(&self) -> MemCategorizationContext<'a, ctxt>

fn cat_expr(&self, expr: &Expr) -> cmt

fn cat_expr_unadjusted(&self, expr: &Expr) -> cmt

fn cat_expr_autoderefd(&self, expr: &Expr, adj: &AutoAdjustment) -> cmt

fn cat_def(&self, id: NodeId, span: Span, ty: t, def: Def) -> cmt

fn cat_captured_var(&self, closure_id: NodeId, closure_span: Span, upvar_def: Def) -> cmt

fn cat_discr(&self, cmt: cmt, match_id: NodeId) -> cmt

fn cat_pattern(&self, cmt: cmt, pat: &Pat, op: |cmt, &Pat|)

fn report(&self, err: BckError)

fn report_use_of_moved_value(&self, use_span: Span, use_kind: MovedValueUseKind, lp: &LoanPath, move: &Move, moved_lp: &LoanPath)

fn report_reassigned_immutable_variable(&self, span: Span, lp: &LoanPath, assign: &Assignment)

fn span_err(&self, s: Span, m: &str)

fn span_note(&self, s: Span, m: &str)

fn span_end_note(&self, s: Span, m: &str)

fn bckerr_to_str(&self, err: &BckError) -> String

fn report_aliasability_violation(&self, span: Span, kind: AliasableViolationKind, cause: AliasableReason)

fn note_and_explain_bckerr(&self, err: BckError)

fn append_loan_path_to_str(&self, loan_path: &LoanPath, out: &mut String)

fn append_autoderefd_loan_path_to_str(&self, loan_path: &LoanPath, out: &mut String)

fn loan_path_to_str(&self, loan_path: &LoanPath) -> String

fn cmt_to_str(&self, cmt: &cmt_) -> String

Trait Implementations

impl<'a> Visitor<()> for BorrowckCtxt<'a>

fn visit_fn(&mut self, fk: &FnKind, fd: &FnDecl, b: &Block, s: Span, n: NodeId, _: ())

fn visit_item(&mut self, item: &Item, _: ())

fn visit_ident<E: Clone>(&mut self, _sp: Span, _ident: Ident, _e: E)

fn visit_mod<E: Clone>(&mut self, m: &Mod, _s: Span, _n: u32, e: E)

fn visit_view_item<E: Clone>(&mut self, i: &ViewItem, e: E)

fn visit_foreign_item<E: Clone>(&mut self, i: &ForeignItem, e: E)

fn visit_local<E: Clone>(&mut self, l: &Local, e: E)

fn visit_block<E: Clone>(&mut self, b: &Block, e: E)

fn visit_stmt<E: Clone>(&mut self, s: &Spanned<Stmt_>, e: E)

fn visit_arm<E: Clone>(&mut self, a: &Arm, e: E)

fn visit_pat<E: Clone>(&mut self, p: &Pat, e: E)

fn visit_decl<E: Clone>(&mut self, d: &Spanned<Decl_>, e: E)

fn visit_expr<E: Clone>(&mut self, ex: &Expr, e: E)

fn visit_expr_post<E: Clone>(&mut self, _ex: &Expr, _e: E)

fn visit_ty<E: Clone>(&mut self, t: &Ty, e: E)

fn visit_generics<E: Clone>(&mut self, g: &Generics, e: E)

fn visit_ty_method<E: Clone>(&mut self, t: &TypeMethod, e: E)

fn visit_trait_method<E: Clone>(&mut self, t: &TraitMethod, e: E)

fn visit_struct_def<E: Clone>(&mut self, s: &StructDef, Ident, &Generics, u32, e: E)

fn visit_struct_field<E: Clone>(&mut self, s: &Spanned<StructField_>, e: E)

fn visit_variant<E: Clone>(&mut self, v: &Spanned<Variant_>, g: &Generics, e: E)

fn visit_opt_lifetime_ref<E: Clone>(&mut self, _span: Span, opt_lifetime: &Option<Lifetime>, env: E)

fn visit_lifetime_ref<E: Clone>(&mut self, _lifetime: &Lifetime, _e: E)

fn visit_lifetime_decl<E: Clone>(&mut self, _lifetime: &Lifetime, _e: E)

fn visit_explicit_self<E: Clone>(&mut self, es: &Spanned<ExplicitSelf_>, e: E)

fn visit_mac<E: Clone>(&mut self, macro: &Spanned<Mac_>, e: E)

fn visit_path<E: Clone>(&mut self, path: &Path, _id: u32, e: E)

fn visit_attribute<E: Clone>(&mut self, _attr: &Spanned<Attribute_>, _e: E)