X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Flibrustc%2Fmiddle%2Fmem_categorization.rs;h=555f864befbe08bdb7f7e642d5bc13fe99032f32;hb=a004ff5cafb6111bcb3a00d67133a84ff727bad1;hp=51005ef8b97704c2c2b71846df9359cc52a38b18;hpb=009f2cf7dd97d952b78bb68a95f661cecfb1562f;p=rust.git diff --git a/src/librustc/middle/mem_categorization.rs b/src/librustc/middle/mem_categorization.rs index 51005ef8b97..555f864befb 100644 --- a/src/librustc/middle/mem_categorization.rs +++ b/src/librustc/middle/mem_categorization.rs @@ -77,6 +77,7 @@ use middle::infer; use middle::check_const; use middle::def; +use middle::ty::adjustment; use middle::ty::{self, Ty}; use rustc_front::hir::{MutImmutable, MutMutable}; @@ -421,16 +422,16 @@ pub fn cat_expr(&self, expr: &hir::Expr) -> McResult> { Some(adjustment) => { match *adjustment { - ty::AdjustDerefRef( - ty::AutoDerefRef { + adjustment::AdjustDerefRef( + adjustment::AutoDerefRef { autoref: None, unsize: None, autoderefs, ..}) => { // Equivalent to *expr or something similar. self.cat_expr_autoderefd(expr, autoderefs) } - ty::AdjustReifyFnPointer | - ty::AdjustUnsafeFnPointer | - ty::AdjustDerefRef(_) => { + adjustment::AdjustReifyFnPointer | + adjustment::AdjustUnsafeFnPointer | + adjustment::AdjustDerefRef(_) => { debug!("cat_expr({:?}): {:?}", adjustment, expr); @@ -473,7 +474,7 @@ pub fn cat_expr_unadjusted(&self, expr: &hir::Expr) -> McResult> { expr.id, expr, base_cmt); - Ok(self.cat_field(expr, base_cmt, f_name.node.name, expr_ty)) + Ok(self.cat_field(expr, base_cmt, f_name.node, expr_ty)) } hir::ExprTupField(ref base, idx) => { @@ -518,10 +519,6 @@ pub fn cat_expr_unadjusted(&self, expr: &hir::Expr) -> McResult> { self.cat_def(expr.id, expr.span, expr_ty, def) } - hir::ExprParen(ref e) => { - self.cat_expr(&**e) - } - hir::ExprAddrOf(..) | hir::ExprCall(..) | hir::ExprAssign(..) | hir::ExprAssignOp(..) | hir::ExprClosure(..) | hir::ExprRet(..) | @@ -554,7 +551,7 @@ pub fn cat_def(&self, } def::DefMod(_) | def::DefForeignMod(_) | def::DefUse(_) | def::DefTrait(_) | def::DefTy(..) | def::DefPrimTy(_) | - def::DefTyParam(..) | def::DefRegion(_) | + def::DefTyParam(..) | def::DefLabel(_) | def::DefSelfTy(..) | def::DefAssociatedTy(..) => { Ok(Rc::new(cmt_ { @@ -578,7 +575,7 @@ pub fn cat_def(&self, })) } - def::DefUpvar(var_id, _, fn_node_id) => { + def::DefUpvar(_, var_id, _, fn_node_id) => { let ty = try!(self.node_ty(fn_node_id)); match ty.sty { ty::TyClosure(closure_id, _) => { @@ -603,7 +600,7 @@ pub fn cat_def(&self, } } - def::DefLocal(vid) => { + def::DefLocal(_, vid) => { Ok(Rc::new(cmt_ { id: id, span: span, @@ -1275,7 +1272,7 @@ fn cat_pattern_(&self, cmt: cmt<'tcx>, pat: &hir::Pat, op: &mut F) // {f1: p1, ..., fN: pN} for fp in field_pats { let field_ty = try!(self.pat_ty(&*fp.node.pat)); // see (*2) - let cmt_field = self.cat_field(pat, cmt.clone(), fp.node.ident.name, field_ty); + let cmt_field = self.cat_field(pat, cmt.clone(), fp.node.name, field_ty); try!(self.cat_pattern_(cmt_field, &*fp.node.pat, op)); } }