]> git.lizzy.rs Git - rust.git/commitdiff
Autoderef in librustc
authorJonas Schievink <jonas@schievink.net>
Tue, 9 Feb 2016 21:00:20 +0000 (22:00 +0100)
committerJonas Schievink <jonas@schievink.net>
Fri, 12 Feb 2016 18:28:42 +0000 (19:28 +0100)
18 files changed:
src/librustc/front/map/blocks.rs
src/librustc/front/map/mod.rs
src/librustc/middle/cfg/construct.rs
src/librustc/middle/check_match.rs
src/librustc/middle/const_eval.rs
src/librustc/middle/cstore.rs
src/librustc/middle/dead.rs
src/librustc/middle/expr_use_visitor.rs
src/librustc/middle/infer/error_reporting.rs
src/librustc/middle/infer/region_inference/graphviz.rs
src/librustc/middle/liveness.rs
src/librustc/middle/mem_categorization.rs
src/librustc/middle/reachable.rs
src/librustc/middle/region.rs
src/librustc/middle/resolve_lifetime.rs
src/librustc/middle/traits/error_reporting.rs
src/librustc/middle/traits/object_safety.rs
src/librustc/util/common.rs

index 0e24a4446fbe942f49385561552edcfad608cd2b..752b625f529c084ce3aa077a32bc92b5e1f693a8 100644 (file)
@@ -217,9 +217,9 @@ fn handle<A, I, M, C>(self, item_fn: I, method: M, closure: C) -> A where
                     item_fn(ItemFnParts {
                         id: i.id,
                         name: i.name,
-                        decl: &**decl,
+                        decl: &decl,
                         unsafety: unsafety,
-                        body: &**block,
+                        body: &block,
                         generics: generics,
                         abi: abi,
                         vis: i.vis,
@@ -246,7 +246,7 @@ fn handle<A, I, M, C>(self, item_fn: I, method: M, closure: C) -> A where
             }
             map::NodeExpr(e) => match e.node {
                 ast::ExprClosure(_, ref decl, ref block) =>
-                    closure(ClosureParts::new(&**decl, &**block, e.id, e.span)),
+                    closure(ClosureParts::new(&decl, &block, e.id, e.span)),
                 _ => panic!("expr FnLikeNode that is not fn-like"),
             },
             _ => panic!("other FnLikeNode that is not fn-like"),
index f398c465ffe6e72b587eb6def6ebb34af52933be..310e341749381e9e7eb4485a274c61067548b245 100644 (file)
@@ -795,7 +795,7 @@ fn find_first_mod_parent<'a>(map: &'a Map, mut id: NodeId) -> Option<(NodeId, Na
             loop {
                 match map.find(id) {
                     None => return None,
-                    Some(NodeItem(item)) if item_is_mod(&*item) =>
+                    Some(NodeItem(item)) if item_is_mod(&item) =>
                         return Some((id, item.name)),
                     _ => {}
                 }
@@ -967,16 +967,16 @@ pub trait NodePrinter {
 impl<'a> NodePrinter for pprust::State<'a> {
     fn print_node(&mut self, node: &Node) -> io::Result<()> {
         match *node {
-            NodeItem(a)        => self.print_item(&*a),
-            NodeForeignItem(a) => self.print_foreign_item(&*a),
+            NodeItem(a)        => self.print_item(&a),
+            NodeForeignItem(a) => self.print_foreign_item(&a),
             NodeTraitItem(a)   => self.print_trait_item(a),
             NodeImplItem(a)    => self.print_impl_item(a),
-            NodeVariant(a)     => self.print_variant(&*a),
-            NodeExpr(a)        => self.print_expr(&*a),
-            NodeStmt(a)        => self.print_stmt(&*a),
-            NodePat(a)         => self.print_pat(&*a),
-            NodeBlock(a)       => self.print_block(&*a),
-            NodeLifetime(a)    => self.print_lifetime(&*a),
+            NodeVariant(a)     => self.print_variant(&a),
+            NodeExpr(a)        => self.print_expr(&a),
+            NodeStmt(a)        => self.print_stmt(&a),
+            NodePat(a)         => self.print_pat(&a),
+            NodeBlock(a)       => self.print_block(&a),
+            NodeLifetime(a)    => self.print_lifetime(&a),
             NodeTyParam(_)     => panic!("cannot print TyParam"),
             // these cases do not carry enough information in the
             // ast_map to reconstruct their full structure for pretty
@@ -1055,26 +1055,26 @@ fn node_id_to_string(map: &Map, id: NodeId, include_id: bool) -> String {
                     map.path_to_string(id), id_str)
         }
         Some(NodeExpr(ref expr)) => {
-            format!("expr {}{}", pprust::expr_to_string(&**expr), id_str)
+            format!("expr {}{}", pprust::expr_to_string(&expr), id_str)
         }
         Some(NodeStmt(ref stmt)) => {
-            format!("stmt {}{}", pprust::stmt_to_string(&**stmt), id_str)
+            format!("stmt {}{}", pprust::stmt_to_string(&stmt), id_str)
         }
         Some(NodeLocal(ref pat)) => {
-            format!("local {}{}", pprust::pat_to_string(&**pat), id_str)
+            format!("local {}{}", pprust::pat_to_string(&pat), id_str)
         }
         Some(NodePat(ref pat)) => {
-            format!("pat {}{}", pprust::pat_to_string(&**pat), id_str)
+            format!("pat {}{}", pprust::pat_to_string(&pat), id_str)
         }
         Some(NodeBlock(ref block)) => {
-            format!("block {}{}", pprust::block_to_string(&**block), id_str)
+            format!("block {}{}", pprust::block_to_string(&block), id_str)
         }
         Some(NodeStructCtor(_)) => {
             format!("struct_ctor {}{}", map.path_to_string(id), id_str)
         }
         Some(NodeLifetime(ref l)) => {
             format!("lifetime {}{}",
-                    pprust::lifetime_to_string(&**l), id_str)
+                    pprust::lifetime_to_string(&l), id_str)
         }
         Some(NodeTyParam(ref ty_param)) => {
             format!("typaram {:?}{}", ty_param, id_str)
index a6bcf70925ca3eed134366574d61435b12e5d8de..6142f14db3ecce16a6bba1ad05ea33738b91b60d 100644 (file)
@@ -73,12 +73,12 @@ fn block(&mut self, blk: &hir::Block, pred: CFGIndex) -> CFGIndex {
     fn stmt(&mut self, stmt: &hir::Stmt, pred: CFGIndex) -> CFGIndex {
         match stmt.node {
             hir::StmtDecl(ref decl, id) => {
-                let exit = self.decl(&**decl, pred);
+                let exit = self.decl(&decl, pred);
                 self.add_ast_node(id, &[exit])
             }
 
             hir::StmtExpr(ref expr, id) | hir::StmtSemi(ref expr, id) => {
-                let exit = self.expr(&**expr, pred);
+                let exit = self.expr(&expr, pred);
                 self.add_ast_node(id, &[exit])
             }
         }
@@ -88,7 +88,7 @@ fn decl(&mut self, decl: &hir::Decl, pred: CFGIndex) -> CFGIndex {
         match decl.node {
             hir::DeclLocal(ref local) => {
                 let init_exit = self.opt_expr(&local.init, pred);
-                self.pat(&*local.pat, init_exit)
+                self.pat(&local.pat, init_exit)
             }
 
             hir::DeclItem(_) => {
@@ -111,7 +111,7 @@ fn pat(&mut self, pat: &hir::Pat, pred: CFGIndex) -> CFGIndex {
             hir::PatBox(ref subpat) |
             hir::PatRegion(ref subpat, _) |
             hir::PatIdent(_, _, Some(ref subpat)) => {
-                let subpat_exit = self.pat(&**subpat, pred);
+                let subpat_exit = self.pat(&subpat, pred);
                 self.add_ast_node(pat.id, &[subpat_exit])
             }
 
@@ -140,13 +140,13 @@ fn pats_all<'b, I: Iterator<Item=&'b P<hir::Pat>>>(&mut self,
                                           pats: I,
                                           pred: CFGIndex) -> CFGIndex {
         //! Handles case where all of the patterns must match.
-        pats.fold(pred, |pred, pat| self.pat(&**pat, pred))
+        pats.fold(pred, |pred, pat| self.pat(&pat, pred))
     }
 
     fn expr(&mut self, expr: &hir::Expr, pred: CFGIndex) -> CFGIndex {
         match expr.node {
             hir::ExprBlock(ref blk) => {
-                let blk_exit = self.block(&**blk, pred);
+                let blk_exit = self.block(&blk, pred);
                 self.add_ast_node(expr.id, &[blk_exit])
             }
 
@@ -165,8 +165,8 @@ fn expr(&mut self, expr: &hir::Expr, pred: CFGIndex) -> CFGIndex {
                 //    v 3   v 4
                 //   [..expr..]
                 //
-                let cond_exit = self.expr(&**cond, pred);                // 1
-                let then_exit = self.block(&**then, cond_exit);          // 2
+                let cond_exit = self.expr(&cond, pred);                // 1
+                let then_exit = self.block(&then, cond_exit);          // 2
                 self.add_ast_node(expr.id, &[cond_exit, then_exit])      // 3,4
             }
 
@@ -185,9 +185,9 @@ fn expr(&mut self, expr: &hir::Expr, pred: CFGIndex) -> CFGIndex {
                 //    v 4   v 5
                 //   [..expr..]
                 //
-                let cond_exit = self.expr(&**cond, pred);                // 1
-                let then_exit = self.block(&**then, cond_exit);          // 2
-                let else_exit = self.expr(&**otherwise, cond_exit);      // 3
+                let cond_exit = self.expr(&cond, pred);                // 1
+                let then_exit = self.block(&then, cond_exit);          // 2
+                let else_exit = self.expr(&otherwise, cond_exit);      // 3
                 self.add_ast_node(expr.id, &[then_exit, else_exit])      // 4, 5
             }
 
@@ -211,14 +211,14 @@ fn expr(&mut self, expr: &hir::Expr, pred: CFGIndex) -> CFGIndex {
 
                 // Is the condition considered part of the loop?
                 let loopback = self.add_dummy_node(&[pred]);              // 1
-                let cond_exit = self.expr(&**cond, loopback);             // 2
+                let cond_exit = self.expr(&cond, loopback);             // 2
                 let expr_exit = self.add_ast_node(expr.id, &[cond_exit]); // 3
                 self.loop_scopes.push(LoopScope {
                     loop_id: expr.id,
                     continue_index: loopback,
                     break_index: expr_exit
                 });
-                let body_exit = self.block(&**body, cond_exit);          // 4
+                let body_exit = self.block(&body, cond_exit);          // 4
                 self.add_contained_edge(body_exit, loopback);            // 5
                 self.loop_scopes.pop();
                 expr_exit
@@ -246,7 +246,7 @@ fn expr(&mut self, expr: &hir::Expr, pred: CFGIndex) -> CFGIndex {
                     continue_index: loopback,
                     break_index: expr_exit,
                 });
-                let body_exit = self.block(&**body, loopback);           // 3
+                let body_exit = self.block(&body, loopback);           // 3
                 self.add_contained_edge(body_exit, loopback);            // 4
                 self.loop_scopes.pop();
                 expr_exit
@@ -271,8 +271,8 @@ fn expr(&mut self, expr: &hir::Expr, pred: CFGIndex) -> CFGIndex {
                 //    v 3  v 4
                 //   [..exit..]
                 //
-                let l_exit = self.expr(&**l, pred);                      // 1
-                let r_exit = self.expr(&**r, l_exit);                    // 2
+                let l_exit = self.expr(&l, pred);                      // 1
+                let r_exit = self.expr(&r, l_exit);                    // 2
                 self.add_ast_node(expr.id, &[l_exit, r_exit])            // 3,4
             }
 
@@ -304,16 +304,16 @@ fn expr(&mut self, expr: &hir::Expr, pred: CFGIndex) -> CFGIndex {
             }
 
             hir::ExprCall(ref func, ref args) => {
-                self.call(expr, pred, &**func, args.iter().map(|e| &**e))
+                self.call(expr, pred, &func, args.iter().map(|e| &**e))
             }
 
             hir::ExprMethodCall(_, _, ref args) => {
-                self.call(expr, pred, &*args[0], args[1..].iter().map(|e| &**e))
+                self.call(expr, pred, &args[0], args[1..].iter().map(|e| &**e))
             }
 
             hir::ExprIndex(ref l, ref r) |
             hir::ExprBinary(_, ref l, ref r) if self.tcx.is_method_call(expr.id) => {
-                self.call(expr, pred, &**l, Some(&**r).into_iter())
+                self.call(expr, pred, &l, Some(&**r).into_iter())
             }
 
             hir::ExprRange(ref start, ref end) => {
@@ -323,7 +323,7 @@ fn expr(&mut self, expr: &hir::Expr, pred: CFGIndex) -> CFGIndex {
             }
 
             hir::ExprUnary(_, ref e) if self.tcx.is_method_call(expr.id) => {
-                self.call(expr, pred, &**e, None::<hir::Expr>.iter())
+                self.call(expr, pred, &e, None::<hir::Expr>.iter())
             }
 
             hir::ExprTup(ref exprs) => {
@@ -413,7 +413,7 @@ fn opt_expr(&mut self,
                 opt_expr: &Option<P<hir::Expr>>,
                 pred: CFGIndex) -> CFGIndex {
         //! Constructs graph for `opt_expr` evaluated, if Some
-        opt_expr.iter().fold(pred, |p, e| self.expr(&**e, p))
+        opt_expr.iter().fold(pred, |p, e| self.expr(&e, p))
     }
 
     fn straightline<'b, I: Iterator<Item=&'b hir::Expr>>(&mut self,
@@ -461,7 +461,7 @@ fn match_(&mut self, id: ast::NodeId, discr: &hir::Expr,
 
             for pat in &arm.pats {
                 // Visit the pattern, coming from the discriminant exit
-                let mut pat_exit = self.pat(&**pat, discr_exit);
+                let mut pat_exit = self.pat(&pat, discr_exit);
 
                 // If there is a guard expression, handle it here
                 if let Some(ref guard) = arm.guard {
@@ -469,10 +469,10 @@ fn match_(&mut self, id: ast::NodeId, discr: &hir::Expr,
                     // expression to target
                     let guard_start = self.add_dummy_node(&[pat_exit]);
                     // Visit the guard expression
-                    let guard_exit = self.expr(&**guard, guard_start);
+                    let guard_exit = self.expr(&guard, guard_start);
 
                     let this_has_bindings = pat_util::pat_contains_bindings_or_wild(
-                        &self.tcx.def_map.borrow(), &**pat);
+                        &self.tcx.def_map.borrow(), &pat);
 
                     // If both this pattern and the previous pattern
                     // were free of bindings, they must consist only
index 62b6279bb332947f7b6ffab0a7f7d309d82efb69..a32f5b8797d3e83237503f95a5da897e9df9b2cb 100644 (file)
@@ -72,7 +72,7 @@ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
         let &Matrix(ref m) = self;
         let pretty_printed_matrix: Vec<Vec<String>> = m.iter().map(|row| {
             row.iter()
-               .map(|&pat| pat_to_string(&*pat))
+               .map(|&pat| pat_to_string(&pat))
                .collect::<Vec<String>>()
         }).collect();
 
@@ -175,7 +175,7 @@ fn check_expr(cx: &mut MatchCheckCtxt, ex: &hir::Expr) {
                 // Second, if there is a guard on each arm, make sure it isn't
                 // assigning or borrowing anything mutably.
                 match arm.guard {
-                    Some(ref guard) => check_for_mutation_in_guard(cx, &**guard),
+                    Some(ref guard) => check_for_mutation_in_guard(cx, &guard),
                     None => {}
                 }
             }
@@ -196,14 +196,14 @@ fn check_expr(cx: &mut MatchCheckCtxt, ex: &hir::Expr) {
                 .iter()
                 .flat_map(|&(ref pats, _)| pats) {
                 // Third, check legality of move bindings.
-                check_legality_of_bindings_in_at_patterns(cx, &**pat);
+                check_legality_of_bindings_in_at_patterns(cx, &pat);
 
                 // Fourth, check if there are any references to NaN that we should warn about.
-                check_for_static_nan(cx, &**pat);
+                check_for_static_nan(cx, &pat);
 
                 // Fifth, check if for any of the patterns that match an enumerated type
                 // are bindings with the same name as one of the variants of said type.
-                check_for_bindings_named_the_same_as_variants(cx, &**pat);
+                check_for_bindings_named_the_same_as_variants(cx, &pat);
             }
 
             // Fourth, check for unreachable arms.
@@ -275,7 +275,7 @@ fn check_for_bindings_named_the_same_as_variants(cx: &MatchCheckCtxt, pat: &Pat)
 fn check_for_static_nan(cx: &MatchCheckCtxt, pat: &Pat) {
     front_util::walk_pat(pat, |p| {
         if let hir::PatLit(ref expr) = p.node {
-            match eval_const_expr_partial(cx.tcx, &**expr, ExprTypeChecked, None) {
+            match eval_const_expr_partial(cx.tcx, &expr, ExprTypeChecked, None) {
                 Ok(ConstVal::Float(f)) if f.is_nan() => {
                     span_warn!(cx.tcx.sess, p.span, E0003,
                                "unmatchable NaN in pattern, \
@@ -360,7 +360,7 @@ fn check_arms(cx: &MatchCheckCtxt,
 
 fn raw_pat<'a>(p: &'a Pat) -> &'a Pat {
     match p.node {
-        hir::PatIdent(_, _, Some(ref s)) => raw_pat(&**s),
+        hir::PatIdent(_, _, Some(ref s)) => raw_pat(&s),
         _ => p
     }
 }
@@ -679,7 +679,7 @@ fn is_useful(cx: &MatchCheckCtxt,
     let left_ty = if real_pat.id == DUMMY_NODE_ID {
         cx.tcx.mk_nil()
     } else {
-        let left_ty = cx.tcx.pat_ty(&*real_pat);
+        let left_ty = cx.tcx.pat_ty(&real_pat);
 
         match real_pat.node {
             hir::PatIdent(hir::BindByRef(..), _, _) => {
@@ -798,9 +798,9 @@ fn pat_constructors(cx: &MatchCheckCtxt, p: &Pat,
                 _ => vec!(Single)
             },
         hir::PatLit(ref expr) =>
-            vec!(ConstantValue(eval_const_expr(cx.tcx, &**expr))),
+            vec!(ConstantValue(eval_const_expr(cx.tcx, &expr))),
         hir::PatRange(ref lo, ref hi) =>
-            vec!(ConstantRange(eval_const_expr(cx.tcx, &**lo), eval_const_expr(cx.tcx, &**hi))),
+            vec!(ConstantRange(eval_const_expr(cx.tcx, &lo), eval_const_expr(cx.tcx, &hi))),
         hir::PatVec(ref before, ref slice, ref after) =>
             match left_ty.sty {
                 ty::TyArray(_, _) => vec!(Single),
@@ -941,7 +941,7 @@ pub fn specialize<'a>(cx: &MatchCheckCtxt, r: &[&'a Pat],
             Some(vec![&**inner]),
 
         hir::PatLit(ref expr) => {
-            let expr_value = eval_const_expr(cx.tcx, &**expr);
+            let expr_value = eval_const_expr(cx.tcx, &expr);
             match range_covered_by_constructor(constructor, &expr_value, &expr_value) {
                 Some(true) => Some(vec![]),
                 Some(false) => None,
@@ -953,8 +953,8 @@ pub fn specialize<'a>(cx: &MatchCheckCtxt, r: &[&'a Pat],
         }
 
         hir::PatRange(ref from, ref to) => {
-            let from_value = eval_const_expr(cx.tcx, &**from);
-            let to_value = eval_const_expr(cx.tcx, &**to);
+            let from_value = eval_const_expr(cx.tcx, &from);
+            let to_value = eval_const_expr(cx.tcx, &to);
             match range_covered_by_constructor(constructor, &from_value, &to_value) {
                 Some(true) => Some(vec![]),
                 Some(false) => None,
@@ -1012,7 +1012,7 @@ fn check_local(cx: &mut MatchCheckCtxt, loc: &hir::Local) {
 
     // Check legality of move bindings and `@` patterns.
     check_legality_of_move_bindings(cx, false, slice::ref_slice(&loc.pat));
-    check_legality_of_bindings_in_at_patterns(cx, &*loc.pat);
+    check_legality_of_bindings_in_at_patterns(cx, &loc.pat);
 }
 
 fn check_fn(cx: &mut MatchCheckCtxt,
@@ -1031,7 +1031,7 @@ fn check_fn(cx: &mut MatchCheckCtxt,
     for input in &decl.inputs {
         check_irrefutable(cx, &input.pat, true);
         check_legality_of_move_bindings(cx, false, slice::ref_slice(&input.pat));
-        check_legality_of_bindings_in_at_patterns(cx, &*input.pat);
+        check_legality_of_bindings_in_at_patterns(cx, &input.pat);
     }
 }
 
@@ -1058,7 +1058,7 @@ fn is_refutable<A, F>(cx: &MatchCheckCtxt, pat: &Pat, refutable: F) -> Option<A>
     match is_useful(cx, &pats, &[DUMMY_WILD_PAT], ConstructWitness) {
         UsefulWithWitness(pats) => {
             assert_eq!(pats.len(), 1);
-            Some(refutable(&*pats[0]))
+            Some(refutable(&pats[0]))
         },
         NotUseful => None,
         Useful => unreachable!()
@@ -1073,7 +1073,7 @@ fn check_legality_of_move_bindings(cx: &MatchCheckCtxt,
     let def_map = &tcx.def_map;
     let mut by_ref_span = None;
     for pat in pats {
-        pat_bindings(def_map, &**pat, |bm, _, span, _path| {
+        pat_bindings(def_map, &pat, |bm, _, span, _path| {
             match bm {
                 hir::BindByRef(_) => {
                     by_ref_span = Some(span);
@@ -1088,7 +1088,7 @@ fn check_legality_of_move_bindings(cx: &MatchCheckCtxt,
         // check legality of moving out of the enum
 
         // x @ Foo(..) is legal, but x @ Foo(y) isn't.
-        if sub.map_or(false, |p| pat_contains_bindings(&def_map.borrow(), &*p)) {
+        if sub.map_or(false, |p| pat_contains_bindings(&def_map.borrow(), &p)) {
             span_err!(cx.tcx.sess, p.span, E0007, "cannot bind by-move with sub-bindings");
         } else if has_guard {
             span_err!(cx.tcx.sess, p.span, E0008, "cannot bind by-move into a pattern guard");
@@ -1101,8 +1101,8 @@ fn check_legality_of_move_bindings(cx: &MatchCheckCtxt,
     };
 
     for pat in pats {
-        front_util::walk_pat(&**pat, |p| {
-            if pat_is_binding(&def_map.borrow(), &*p) {
+        front_util::walk_pat(&pat, |p| {
+            if pat_is_binding(&def_map.borrow(), &p) {
                 match p.node {
                     hir::PatIdent(hir::BindByValue(_), _, ref sub) => {
                         let pat_ty = tcx.node_id_to_type(p.id);
index 6650a06229adcd3ea4bb36e8b08b7999e932f97e..f9922f725c615f47cd0064375cb0c36f0137367c 100644 (file)
@@ -94,7 +94,7 @@ pub fn lookup_const_by_id<'a, 'tcx: 'a>(tcx: &'a ty::ctxt<'tcx>,
             None => None,
             Some(ast_map::NodeItem(it)) => match it.node {
                 hir::ItemConst(_, ref const_expr) => {
-                    Some(&*const_expr)
+                    Some(&const_expr)
                 }
                 _ => None
             },
@@ -129,7 +129,7 @@ pub fn lookup_const_by_id<'a, 'tcx: 'a>(tcx: &'a ty::ctxt<'tcx>,
             },
             Some(ast_map::NodeImplItem(ii)) => match ii.node {
                 hir::ImplItemKind::Const(_, ref expr) => {
-                    Some(&*expr)
+                    Some(&expr)
                 }
                 _ => None
             },
@@ -325,7 +325,7 @@ pub fn description(&self) -> &'static str {
 pub fn const_expr_to_pat(tcx: &ty::ctxt, expr: &Expr, span: Span) -> P<hir::Pat> {
     let pat = match expr.node {
         hir::ExprTup(ref exprs) =>
-            hir::PatTup(exprs.iter().map(|expr| const_expr_to_pat(tcx, &**expr, span)).collect()),
+            hir::PatTup(exprs.iter().map(|expr| const_expr_to_pat(tcx, &expr, span)).collect()),
 
         hir::ExprCall(ref callee, ref args) => {
             let def = *tcx.def_map.borrow().get(&callee.id).unwrap();
@@ -342,7 +342,7 @@ pub fn const_expr_to_pat(tcx: &ty::ctxt, expr: &Expr, span: Span) -> P<hir::Pat>
                 }),
                 _ => unreachable!()
             };
-            let pats = args.iter().map(|expr| const_expr_to_pat(tcx, &**expr, span)).collect();
+            let pats = args.iter().map(|expr| const_expr_to_pat(tcx, &expr, span)).collect();
             hir::PatEnum(path, Some(pats))
         }
 
@@ -351,7 +351,7 @@ pub fn const_expr_to_pat(tcx: &ty::ctxt, expr: &Expr, span: Span) -> P<hir::Pat>
                 span: codemap::DUMMY_SP,
                 node: hir::FieldPat {
                     name: field.name.node,
-                    pat: const_expr_to_pat(tcx, &*field.expr, span),
+                    pat: const_expr_to_pat(tcx, &field.expr, span),
                     is_shorthand: false,
                 },
             }).collect();
@@ -359,7 +359,7 @@ pub fn const_expr_to_pat(tcx: &ty::ctxt, expr: &Expr, span: Span) -> P<hir::Pat>
         }
 
         hir::ExprVec(ref exprs) => {
-            let pats = exprs.iter().map(|expr| const_expr_to_pat(tcx, &**expr, span)).collect();
+            let pats = exprs.iter().map(|expr| const_expr_to_pat(tcx, &expr, span)).collect();
             hir::PatVec(pats, None, hir::HirVec::new())
         }
 
@@ -850,7 +850,7 @@ pub fn eval_const_expr_partial<'tcx>(tcx: &ty::ctxt<'tcx>,
 
     let result = match e.node {
       hir::ExprUnary(hir::UnNeg, ref inner) => {
-        match try!(eval_const_expr_partial(tcx, &**inner, ty_hint, fn_args)) {
+        match try!(eval_const_expr_partial(tcx, &inner, ty_hint, fn_args)) {
           Float(f) => Float(-f),
           Int(n) =>  try!(const_int_checked_neg(n, e, expr_int_type)),
           Uint(i) => {
@@ -860,7 +860,7 @@ pub fn eval_const_expr_partial<'tcx>(tcx: &ty::ctxt<'tcx>,
         }
       }
       hir::ExprUnary(hir::UnNot, ref inner) => {
-        match try!(eval_const_expr_partial(tcx, &**inner, ty_hint, fn_args)) {
+        match try!(eval_const_expr_partial(tcx, &inner, ty_hint, fn_args)) {
           Int(i) => Int(!i),
           Uint(i) => const_uint_not(i, expr_uint_type),
           Bool(b) => Bool(!b),
@@ -872,8 +872,8 @@ pub fn eval_const_expr_partial<'tcx>(tcx: &ty::ctxt<'tcx>,
             hir::BiShl | hir::BiShr => ty_hint.checked_or(tcx.types.usize),
             _ => ty_hint
         };
-        match (try!(eval_const_expr_partial(tcx, &**a, ty_hint, fn_args)),
-               try!(eval_const_expr_partial(tcx, &**b, b_ty, fn_args))) {
+        match (try!(eval_const_expr_partial(tcx, &a, ty_hint, fn_args)),
+               try!(eval_const_expr_partial(tcx, &b, b_ty, fn_args))) {
           (Float(a), Float(b)) => {
             match op.node {
               hir::BiAdd => Float(a + b),
@@ -964,7 +964,7 @@ pub fn eval_const_expr_partial<'tcx>(tcx: &ty::ctxt<'tcx>,
         }
       }
       hir::ExprCast(ref base, ref target_ty) => {
-        let ety = ety.or_else(|| ast_ty_to_prim_ty(tcx, &**target_ty))
+        let ety = ety.or_else(|| ast_ty_to_prim_ty(tcx, &target_ty))
                 .unwrap_or_else(|| {
                     tcx.sess.span_fatal(target_ty.span,
                                         "target type not found for const cast")
@@ -982,7 +982,7 @@ pub fn eval_const_expr_partial<'tcx>(tcx: &ty::ctxt<'tcx>,
             }
         };
 
-        let val = try!(eval_const_expr_partial(tcx, &**base, base_hint, fn_args));
+        let val = try!(eval_const_expr_partial(tcx, &base, base_hint, fn_args));
         match cast_const(tcx, val, ety) {
             Ok(val) => val,
             Err(kind) => return Err(ConstEvalErr { span: e.span, kind: kind }),
@@ -1116,16 +1116,16 @@ pub fn eval_const_expr_partial<'tcx>(tcx: &ty::ctxt<'tcx>,
               assert!(old.is_none());
           }
           debug!("const call({:?})", call_args);
-          try!(eval_const_expr_partial(tcx, &**result, ty_hint, Some(&call_args)))
+          try!(eval_const_expr_partial(tcx, &result, ty_hint, Some(&call_args)))
       },
-      hir::ExprLit(ref lit) => lit_to_const(tcx.sess, e.span, &**lit, ety),
+      hir::ExprLit(ref lit) => lit_to_const(tcx.sess, e.span, &lit, ety),
       hir::ExprBlock(ref block) => {
         match block.expr {
-            Some(ref expr) => try!(eval_const_expr_partial(tcx, &**expr, ty_hint, fn_args)),
+            Some(ref expr) => try!(eval_const_expr_partial(tcx, &expr, ty_hint, fn_args)),
             None => unreachable!(),
         }
       }
-      hir::ExprType(ref e, _) => try!(eval_const_expr_partial(tcx, &**e, ty_hint, fn_args)),
+      hir::ExprType(ref e, _) => try!(eval_const_expr_partial(tcx, &e, ty_hint, fn_args)),
       hir::ExprTup(_) => Tuple(e.id),
       hir::ExprStruct(..) => Struct(e.id),
       hir::ExprIndex(ref arr, ref idx) => {
@@ -1144,7 +1144,7 @@ pub fn eval_const_expr_partial<'tcx>(tcx: &ty::ctxt<'tcx>,
         match arr {
             Array(_, n) if idx >= n => signal!(e, IndexOutOfBounds),
             Array(v, _) => if let hir::ExprVec(ref v) = tcx.map.expect_expr(v).node {
-                try!(eval_const_expr_partial(tcx, &*v[idx as usize], ty_hint, fn_args))
+                try!(eval_const_expr_partial(tcx, &v[idx as usize], ty_hint, fn_args))
             } else {
                 unreachable!()
             },
@@ -1152,7 +1152,7 @@ pub fn eval_const_expr_partial<'tcx>(tcx: &ty::ctxt<'tcx>,
             Repeat(_, n) if idx >= n => signal!(e, IndexOutOfBounds),
             Repeat(elem, _) => try!(eval_const_expr_partial(
                 tcx,
-                &*tcx.map.expect_expr(elem),
+                &tcx.map.expect_expr(elem),
                 ty_hint,
                 fn_args,
             )),
@@ -1172,7 +1172,7 @@ pub fn eval_const_expr_partial<'tcx>(tcx: &ty::ctxt<'tcx>,
           let len_hint = ty_hint.checked_or(tcx.types.usize);
           Repeat(
               e.id,
-              match try!(eval_const_expr_partial(tcx, &**n, len_hint, fn_args)) {
+              match try!(eval_const_expr_partial(tcx, &n, len_hint, fn_args)) {
                   Int(i) if i >= 0 => i as u64,
                   Int(_) => signal!(e, RepeatCountNotNatural),
                   Uint(i) => i,
@@ -1207,7 +1207,7 @@ pub fn eval_const_expr_partial<'tcx>(tcx: &ty::ctxt<'tcx>,
                 // if the idents are compared run-pass/issue-19244 fails
                 if let Some(f) = fields.iter().find(|f| f.name.node
                                                      == field_name.node) {
-                    return eval_const_expr_partial(tcx, &*f.expr, base_hint, fn_args)
+                    return eval_const_expr_partial(tcx, &f.expr, base_hint, fn_args)
                 } else {
                     signal!(e, MissingStructField);
                 }
index c2c23f6a0325094242c829c98012e6fe715cc62e..5de192ca4ebfb0019abcc6856e4f483adb4dbbc9 100644 (file)
@@ -254,8 +254,8 @@ pub fn visit<'ast,V>(&'ast self, visitor: &mut V)
         where V: Visitor<'ast>
     {
         match *self {
-            InlinedItem::Item(ref i) => visitor.visit_item(&**i),
-            InlinedItem::Foreign(ref i) => visitor.visit_foreign_item(&**i),
+            InlinedItem::Item(ref i) => visitor.visit_item(&i),
+            InlinedItem::Foreign(ref i) => visitor.visit_foreign_item(&i),
             InlinedItem::TraitItem(_, ref ti) => visitor.visit_trait_item(ti),
             InlinedItem::ImplItem(_, ref ii) => visitor.visit_impl_item(ii),
         }
index 7ed931265f22cea910118d353b2a56250087934c..ae2252b6df6ca88e33a304c6486fb1d12b6cf2dc 100644 (file)
@@ -183,17 +183,17 @@ fn visit_node(&mut self, node: &ast_map::Node) {
                                 .contains(&attr::ReprExtern)
                         });
 
-                        intravisit::walk_item(self, &*item);
+                        intravisit::walk_item(self, &item);
                     }
                     hir::ItemEnum(..) => {
                         self.inherited_pub_visibility = item.vis == hir::Public;
-                        intravisit::walk_item(self, &*item);
+                        intravisit::walk_item(self, &item);
                     }
                     hir::ItemFn(..)
                     | hir::ItemTy(..)
                     | hir::ItemStatic(..)
                     | hir::ItemConst(..) => {
-                        intravisit::walk_item(self, &*item);
+                        intravisit::walk_item(self, &item);
                     }
                     _ => ()
                 }
@@ -205,7 +205,7 @@ fn visit_node(&mut self, node: &ast_map::Node) {
                 intravisit::walk_impl_item(self, impl_item);
             }
             ast_map::NodeForeignItem(foreign_item) => {
-                intravisit::walk_foreign_item(self, &*foreign_item);
+                intravisit::walk_foreign_item(self, &foreign_item);
             }
             _ => ()
         }
@@ -237,10 +237,10 @@ fn visit_expr(&mut self, expr: &hir::Expr) {
                 self.lookup_and_handle_method(expr.id);
             }
             hir::ExprField(ref lhs, ref name) => {
-                self.handle_field_access(&**lhs, name.node);
+                self.handle_field_access(&lhs, name.node);
             }
             hir::ExprTupField(ref lhs, idx) => {
-                self.handle_tup_field_access(&**lhs, idx.node);
+                self.handle_tup_field_access(&lhs, idx.node);
             }
             _ => ()
         }
@@ -257,7 +257,7 @@ fn visit_arm(&mut self, arm: &hir::Arm) {
             // necessary for the pattern to match. Those construction sites
             // can't be reached unless the variant is constructed elsewhere.
             let len = self.ignore_variant_stack.len();
-            self.ignore_variant_stack.extend_from_slice(&*variants);
+            self.ignore_variant_stack.extend_from_slice(&variants);
             intravisit::walk_arm(self, arm);
             self.ignore_variant_stack.truncate(len);
         } else {
index b5baf84eef23da34faf5961af7e7c1d0755ee46c..5bdb553a2fea98708d3eb5bf50eeda3a955206ae 100644 (file)
@@ -303,7 +303,7 @@ fn walk_arg_patterns(&mut self,
                 ty::ReScope(fn_body_scope), // Args live only as long as the fn body.
                 arg_ty);
 
-            self.walk_irrefutable_pat(arg_cmt, &*arg.pat);
+            self.walk_irrefutable_pat(arg_cmt, &arg.pat);
         }
     }
 
@@ -324,7 +324,7 @@ fn delegate_consume(&mut self,
 
     fn consume_exprs(&mut self, exprs: &[P<hir::Expr>]) {
         for expr in exprs {
-            self.consume_expr(&**expr);
+            self.consume_expr(&expr);
         }
     }
 
@@ -372,40 +372,40 @@ pub fn walk_expr(&mut self, expr: &hir::Expr) {
             hir::ExprPath(..) => { }
 
             hir::ExprType(ref subexpr, _) => {
-                self.walk_expr(&**subexpr)
+                self.walk_expr(&subexpr)
             }
 
             hir::ExprUnary(hir::UnDeref, ref base) => {      // *base
-                if !self.walk_overloaded_operator(expr, &**base, Vec::new(), PassArgs::ByRef) {
-                    self.select_from_expr(&**base);
+                if !self.walk_overloaded_operator(expr, &base, Vec::new(), PassArgs::ByRef) {
+                    self.select_from_expr(&base);
                 }
             }
 
             hir::ExprField(ref base, _) => {         // base.f
-                self.select_from_expr(&**base);
+                self.select_from_expr(&base);
             }
 
             hir::ExprTupField(ref base, _) => {         // base.<n>
-                self.select_from_expr(&**base);
+                self.select_from_expr(&base);
             }
 
             hir::ExprIndex(ref lhs, ref rhs) => {       // lhs[rhs]
                 if !self.walk_overloaded_operator(expr,
-                                                  &**lhs,
-                                                  vec![&**rhs],
+                                                  &lhs,
+                                                  vec![&rhs],
                                                   PassArgs::ByValue) {
-                    self.select_from_expr(&**lhs);
-                    self.consume_expr(&**rhs);
+                    self.select_from_expr(&lhs);
+                    self.consume_expr(&rhs);
                 }
             }
 
             hir::ExprRange(ref start, ref end) => {
-                start.as_ref().map(|e| self.consume_expr(&**e));
-                end.as_ref().map(|e| self.consume_expr(&**e));
+                start.as_ref().map(|e| self.consume_expr(&e));
+                end.as_ref().map(|e| self.consume_expr(&e));
             }
 
             hir::ExprCall(ref callee, ref args) => {    // callee(args)
-                self.walk_callee(expr, &**callee);
+                self.walk_callee(expr, &callee);
                 self.consume_exprs(args);
             }
 
@@ -422,16 +422,16 @@ pub fn walk_expr(&mut self, expr: &hir::Expr) {
             }
 
             hir::ExprIf(ref cond_expr, ref then_blk, ref opt_else_expr) => {
-                self.consume_expr(&**cond_expr);
-                self.walk_block(&**then_blk);
+                self.consume_expr(&cond_expr);
+                self.walk_block(&then_blk);
                 if let Some(ref else_expr) = *opt_else_expr {
-                    self.consume_expr(&**else_expr);
+                    self.consume_expr(&else_expr);
                 }
             }
 
             hir::ExprMatch(ref discr, ref arms, _) => {
-                let discr_cmt = return_if_err!(self.mc.cat_expr(&**discr));
-                self.borrow_expr(&**discr, ty::ReEmpty, ty::ImmBorrow, MatchDiscriminant);
+                let discr_cmt = return_if_err!(self.mc.cat_expr(&discr));
+                self.borrow_expr(&discr, ty::ReEmpty, ty::ImmBorrow, MatchDiscriminant);
 
                 // treatment of the discriminant is handled while walking the arms.
                 for arm in arms {
@@ -451,20 +451,20 @@ pub fn walk_expr(&mut self, expr: &hir::Expr) {
                 let expr_ty = return_if_err!(self.typer.node_ty(expr.id));
                 if let ty::TyRef(&r, _) = expr_ty.sty {
                     let bk = ty::BorrowKind::from_mutbl(m);
-                    self.borrow_expr(&**base, r, bk, AddrOf);
+                    self.borrow_expr(&base, r, bk, AddrOf);
                 }
             }
 
             hir::ExprInlineAsm(ref ia) => {
                 for &(_, ref input) in &ia.inputs {
-                    self.consume_expr(&**input);
+                    self.consume_expr(&input);
                 }
 
                 for output in &ia.outputs {
                     if output.is_indirect {
-                        self.consume_expr(&*output.expr);
+                        self.consume_expr(&output.expr);
                     } else {
-                        self.mutate_expr(expr, &*output.expr,
+                        self.mutate_expr(expr, &output.expr,
                                          if output.is_rw {
                                              MutateMode::WriteAndRead
                                          } else {
@@ -479,12 +479,12 @@ pub fn walk_expr(&mut self, expr: &hir::Expr) {
             hir::ExprLit(..) => {}
 
             hir::ExprLoop(ref blk, _) => {
-                self.walk_block(&**blk);
+                self.walk_block(&blk);
             }
 
             hir::ExprWhile(ref cond_expr, ref blk, _) => {
-                self.consume_expr(&**cond_expr);
-                self.walk_block(&**blk);
+                self.consume_expr(&cond_expr);
+                self.walk_block(&blk);
             }
 
             hir::ExprUnary(op, ref lhs) => {
@@ -494,8 +494,8 @@ pub fn walk_expr(&mut self, expr: &hir::Expr) {
                     PassArgs::ByRef
                 };
 
-                if !self.walk_overloaded_operator(expr, &**lhs, Vec::new(), pass_args) {
-                    self.consume_expr(&**lhs);
+                if !self.walk_overloaded_operator(expr, &lhs, Vec::new(), pass_args) {
+                    self.consume_expr(&lhs);
                 }
             }
 
@@ -506,29 +506,29 @@ pub fn walk_expr(&mut self, expr: &hir::Expr) {
                     PassArgs::ByRef
                 };
 
-                if !self.walk_overloaded_operator(expr, &**lhs, vec![&**rhs], pass_args) {
-                    self.consume_expr(&**lhs);
-                    self.consume_expr(&**rhs);
+                if !self.walk_overloaded_operator(expr, &lhs, vec![&rhs], pass_args) {
+                    self.consume_expr(&lhs);
+                    self.consume_expr(&rhs);
                 }
             }
 
             hir::ExprBlock(ref blk) => {
-                self.walk_block(&**blk);
+                self.walk_block(&blk);
             }
 
             hir::ExprRet(ref opt_expr) => {
                 if let Some(ref expr) = *opt_expr {
-                    self.consume_expr(&**expr);
+                    self.consume_expr(&expr);
                 }
             }
 
             hir::ExprAssign(ref lhs, ref rhs) => {
-                self.mutate_expr(expr, &**lhs, MutateMode::JustWrite);
-                self.consume_expr(&**rhs);
+                self.mutate_expr(expr, &lhs, MutateMode::JustWrite);
+                self.consume_expr(&rhs);
             }
 
             hir::ExprCast(ref base, _) => {
-                self.consume_expr(&**base);
+                self.consume_expr(&base);
             }
 
             hir::ExprAssignOp(op, ref lhs, ref rhs) => {
@@ -536,14 +536,14 @@ pub fn walk_expr(&mut self, expr: &hir::Expr) {
                 assert!(::rustc_front::util::is_by_value_binop(op.node));
 
                 if !self.walk_overloaded_operator(expr, lhs, vec![rhs], PassArgs::ByValue) {
-                    self.mutate_expr(expr, &**lhs, MutateMode::WriteAndRead);
-                    self.consume_expr(&**rhs);
+                    self.mutate_expr(expr, &lhs, MutateMode::WriteAndRead);
+                    self.consume_expr(&rhs);
                 }
             }
 
             hir::ExprRepeat(ref base, ref count) => {
-                self.consume_expr(&**base);
-                self.consume_expr(&**count);
+                self.consume_expr(&base);
+                self.consume_expr(&count);
             }
 
             hir::ExprClosure(..) => {
@@ -551,7 +551,7 @@ pub fn walk_expr(&mut self, expr: &hir::Expr) {
             }
 
             hir::ExprBox(ref base) => {
-                self.consume_expr(&**base);
+                self.consume_expr(&base);
             }
         }
     }
@@ -602,7 +602,7 @@ fn walk_stmt(&mut self, stmt: &hir::Stmt) {
             hir::StmtDecl(ref decl, _) => {
                 match decl.node {
                     hir::DeclLocal(ref local) => {
-                        self.walk_local(&**local);
+                        self.walk_local(&local);
                     }
 
                     hir::DeclItem(_) => {
@@ -614,7 +614,7 @@ fn walk_stmt(&mut self, stmt: &hir::Stmt) {
 
             hir::StmtExpr(ref expr, _) |
             hir::StmtSemi(ref expr, _) => {
-                self.consume_expr(&**expr);
+                self.consume_expr(&expr);
             }
         }
     }
@@ -623,7 +623,7 @@ fn walk_local(&mut self, local: &hir::Local) {
         match local.init {
             None => {
                 let delegate = &mut self.delegate;
-                pat_util::pat_bindings(&self.typer.tcx.def_map, &*local.pat,
+                pat_util::pat_bindings(&self.typer.tcx.def_map, &local.pat,
                                        |_, id, span, _| {
                     delegate.decl_without_init(id, span);
                 })
@@ -634,9 +634,9 @@ fn walk_local(&mut self, local: &hir::Local) {
                 // initializers are considered
                 // "assigns", which is handled by
                 // `walk_pat`:
-                self.walk_expr(&**expr);
-                let init_cmt = return_if_err!(self.mc.cat_expr(&**expr));
-                self.walk_irrefutable_pat(init_cmt, &*local.pat);
+                self.walk_expr(&expr);
+                let init_cmt = return_if_err!(self.mc.cat_expr(&expr));
+                self.walk_irrefutable_pat(init_cmt, &local.pat);
             }
         }
     }
@@ -651,7 +651,7 @@ fn walk_block(&mut self, blk: &hir::Block) {
         }
 
         if let Some(ref tail_expr) = blk.expr {
-            self.consume_expr(&**tail_expr);
+            self.consume_expr(&tail_expr);
         }
     }
 
@@ -661,7 +661,7 @@ fn walk_struct_expr(&mut self,
                         opt_with: &Option<P<hir::Expr>>) {
         // Consume the expressions supplying values for each field.
         for field in fields {
-            self.consume_expr(&*field.expr);
+            self.consume_expr(&field.expr);
         }
 
         let with_expr = match *opt_with {
@@ -669,7 +669,7 @@ fn walk_struct_expr(&mut self,
             None => { return; }
         };
 
-        let with_cmt = return_if_err!(self.mc.cat_expr(&*with_expr));
+        let with_cmt = return_if_err!(self.mc.cat_expr(&with_expr));
 
         // Select just those fields of the `with`
         // expression that will actually be used
@@ -906,21 +906,21 @@ fn walk_overloaded_operator(&mut self,
     fn arm_move_mode(&mut self, discr_cmt: mc::cmt<'tcx>, arm: &hir::Arm) -> TrackMatchMode {
         let mut mode = Unknown;
         for pat in &arm.pats {
-            self.determine_pat_move_mode(discr_cmt.clone(), &**pat, &mut mode);
+            self.determine_pat_move_mode(discr_cmt.clone(), &pat, &mut mode);
         }
         mode
     }
 
     fn walk_arm(&mut self, discr_cmt: mc::cmt<'tcx>, arm: &hir::Arm, mode: MatchMode) {
         for pat in &arm.pats {
-            self.walk_pat(discr_cmt.clone(), &**pat, mode);
+            self.walk_pat(discr_cmt.clone(), &pat, mode);
         }
 
         if let Some(ref guard) = arm.guard {
-            self.consume_expr(&**guard);
+            self.consume_expr(&guard);
         }
 
-        self.consume_expr(&*arm.body);
+        self.consume_expr(&arm.body);
     }
 
     /// Walks a pat that occurs in isolation (i.e. top-level of fn
@@ -1029,7 +1029,7 @@ fn walk_pat(&mut self,
                         // matched.
 
                         let (slice_cmt, slice_mutbl, slice_r) =
-                            return_if_err!(mc.cat_slice_pattern(cmt_pat, &**slice_pat));
+                            return_if_err!(mc.cat_slice_pattern(cmt_pat, &slice_pat));
 
                         // Note: We declare here that the borrow
                         // occurs upon entering the `[...]`
index b83cd60031d13f2736b7b1e551a2cdaa47ff46d4..8c578bcd3d2aec38d38c2c4e7d6e582326a2eaa3 100644 (file)
@@ -145,7 +145,7 @@ fn explain_span(tcx: &ty::ctxt, heading: &str, span: Span)
                         _ => "expression",
                     },
                     Some(ast_map::NodeStmt(_)) => "statement",
-                    Some(ast_map::NodeItem(it)) => item_scope_tag(&*it),
+                    Some(ast_map::NodeItem(it)) => item_scope_tag(&it),
                     Some(_) | None => {
                         err.span_note(span, &unknown_scope());
                         return;
@@ -190,7 +190,7 @@ fn explain_span(tcx: &ty::ctxt, heading: &str, span: Span)
                         (format!("{} {}", prefix, msg), opt_span)
                     }
                     Some(ast_map::NodeItem(it)) => {
-                        let tag = item_scope_tag(&*it);
+                        let tag = item_scope_tag(&it);
                         let (msg, opt_span) = explain_span(self, tag, it.span);
                         (format!("{} {}", prefix, msg), opt_span)
                     }
@@ -1333,7 +1333,7 @@ fn rebuild_args_ty(&self,
                        -> hir::HirVec<hir::Arg> {
         let mut new_inputs = Vec::new();
         for arg in inputs {
-            let new_ty = self.rebuild_arg_ty_or_output(&*arg.ty, lifetime,
+            let new_ty = self.rebuild_arg_ty_or_output(&arg.ty, lifetime,
                                                        anon_nums, region_names);
             let possibly_new_arg = hir::Arg {
                 ty: new_ty,
@@ -1351,7 +1351,7 @@ fn rebuild_output(&self, ty: &hir::FunctionRetTy,
                       region_names: &HashSet<ast::Name>) -> hir::FunctionRetTy {
         match *ty {
             hir::Return(ref ret_ty) => hir::Return(
-                self.rebuild_arg_ty_or_output(&**ret_ty, lifetime, anon_nums, region_names)
+                self.rebuild_arg_ty_or_output(&ret_ty, lifetime, anon_nums, region_names)
             ),
             hir::DefaultReturn(span) => hir::DefaultReturn(span),
             hir::NoReturn(span) => hir::NoReturn(span)
@@ -1390,7 +1390,7 @@ fn rebuild_arg_ty_or_output(&self,
                         };
                         new_ty = self.rebuild_ty(new_ty, P(to));
                     }
-                    ty_queue.push(&*mut_ty.ty);
+                    ty_queue.push(&mut_ty.ty);
                 }
                 hir::TyPath(ref maybe_qself, ref path) => {
                     let a_def = match self.tcx.def_map.borrow().get(&cur_ty.id) {
@@ -1455,11 +1455,11 @@ fn rebuild_arg_ty_or_output(&self,
                 }
 
                 hir::TyPtr(ref mut_ty) => {
-                    ty_queue.push(&*mut_ty.ty);
+                    ty_queue.push(&mut_ty.ty);
                 }
                 hir::TyVec(ref ty) |
                 hir::TyFixedLengthVec(ref ty, _) => {
-                    ty_queue.push(&**ty);
+                    ty_queue.push(&ty);
                 }
                 hir::TyTup(ref tys) => ty_queue.extend(tys.iter().map(|ty| &**ty)),
                 _ => {}
@@ -1554,13 +1554,13 @@ fn rebuild_path(&self,
                     }
                 }
                 let new_types = data.types.iter().map(|t| {
-                    self.rebuild_arg_ty_or_output(&**t, lifetime, anon_nums, region_names)
+                    self.rebuild_arg_ty_or_output(&t, lifetime, anon_nums, region_names)
                 }).collect();
                 let new_bindings = data.bindings.iter().map(|b| {
                     hir::TypeBinding {
                         id: b.id,
                         name: b.name,
-                        ty: self.rebuild_arg_ty_or_output(&*b.ty,
+                        ty: self.rebuild_arg_ty_or_output(&b.ty,
                                                           lifetime,
                                                           anon_nums,
                                                           region_names),
index 439274cd476968718e0b4a2818bfe05f8656a1a4..dafa65c5bdca86663f39a664e1fb963ad92f4644 100644 (file)
@@ -76,7 +76,7 @@ pub fn maybe_print_constraints_for<'a, 'tcx>(region_vars: &RegionVarBindings<'a,
 
     let output_path = {
         let output_template = match requested_output {
-            Ok(ref s) if &**s == "help" => {
+            Ok(ref s) if s == "help" => {
                 static PRINTED_YET: AtomicBool = AtomicBool::new(false);
                 if !PRINTED_YET.load(Ordering::SeqCst) {
                     print_help_message();
index 5fa9d45934571105dbb43418fe0ac542e7877c4c..a487ddbc2b1c258aa5a3489e158f256a774c1ca2 100644 (file)
@@ -382,7 +382,7 @@ fn visit_fn(ir: &mut IrMaps,
 
     for arg in &decl.inputs {
         pat_util::pat_bindings(&ir.tcx.def_map,
-                               &*arg.pat,
+                               &arg.pat,
                                |_bm, arg_id, _x, path1| {
             debug!("adding argument {}", arg_id);
             let name = path1.node;
@@ -416,7 +416,7 @@ fn visit_fn(ir: &mut IrMaps,
 }
 
 fn visit_local(ir: &mut IrMaps, local: &hir::Local) {
-    pat_util::pat_bindings(&ir.tcx.def_map, &*local.pat, |_, p_id, sp, path1| {
+    pat_util::pat_bindings(&ir.tcx.def_map, &local.pat, |_, p_id, sp, path1| {
         debug!("adding local variable {}", p_id);
         let name = path1.node;
         ir.add_live_node_for_node(p_id, VarDefNode(sp));
@@ -430,7 +430,7 @@ fn visit_local(ir: &mut IrMaps, local: &hir::Local) {
 
 fn visit_arm(ir: &mut IrMaps, arm: &hir::Arm) {
     for pat in &arm.pats {
-        pat_util::pat_bindings(&ir.tcx.def_map, &**pat, |bm, p_id, sp, path1| {
+        pat_util::pat_bindings(&ir.tcx.def_map, &pat, |bm, p_id, sp, path1| {
             debug!("adding local variable {} from match with bm {:?}",
                    p_id, bm);
             let name = path1.node;
@@ -876,11 +876,11 @@ fn propagate_through_stmt(&mut self, stmt: &hir::Stmt, succ: LiveNode)
                               -> LiveNode {
         match stmt.node {
             hir::StmtDecl(ref decl, _) => {
-                self.propagate_through_decl(&**decl, succ)
+                self.propagate_through_decl(&decl, succ)
             }
 
             hir::StmtExpr(ref expr, _) | hir::StmtSemi(ref expr, _) => {
-                self.propagate_through_expr(&**expr, succ)
+                self.propagate_through_expr(&expr, succ)
             }
         }
     }
@@ -889,7 +889,7 @@ fn propagate_through_decl(&mut self, decl: &hir::Decl, succ: LiveNode)
                               -> LiveNode {
         match decl.node {
             hir::DeclLocal(ref local) => {
-                self.propagate_through_local(&**local, succ)
+                self.propagate_through_local(&local, succ)
             }
             hir::DeclItem(_) => succ,
         }
@@ -912,13 +912,13 @@ fn propagate_through_local(&mut self, local: &hir::Local, succ: LiveNode)
         // once at the func header but otherwise equivalent.
 
         let succ = self.propagate_through_opt_expr(local.init.as_ref().map(|e| &**e), succ);
-        self.define_bindings_in_pat(&*local.pat, succ)
+        self.define_bindings_in_pat(&local.pat, succ)
     }
 
     fn propagate_through_exprs(&mut self, exprs: &[P<Expr>], succ: LiveNode)
                                -> LiveNode {
         exprs.iter().rev().fold(succ, |succ, expr| {
-            self.propagate_through_expr(&**expr, succ)
+            self.propagate_through_expr(&expr, succ)
         })
     }
 
@@ -941,11 +941,11 @@ fn propagate_through_expr(&mut self, expr: &Expr, succ: LiveNode)
           }
 
           hir::ExprField(ref e, _) => {
-              self.propagate_through_expr(&**e, succ)
+              self.propagate_through_expr(&e, succ)
           }
 
           hir::ExprTupField(ref e, _) => {
-              self.propagate_through_expr(&**e, succ)
+              self.propagate_through_expr(&e, succ)
           }
 
           hir::ExprClosure(_, _, ref blk) => {
@@ -991,21 +991,21 @@ fn propagate_through_expr(&mut self, expr: &Expr, succ: LiveNode)
             //   (  succ  )
             //
             let else_ln = self.propagate_through_opt_expr(els.as_ref().map(|e| &**e), succ);
-            let then_ln = self.propagate_through_block(&**then, succ);
+            let then_ln = self.propagate_through_block(&then, succ);
             let ln = self.live_node(expr.id, expr.span);
             self.init_from_succ(ln, else_ln);
             self.merge_from_succ(ln, then_ln, false);
-            self.propagate_through_expr(&**cond, ln)
+            self.propagate_through_expr(&cond, ln)
           }
 
           hir::ExprWhile(ref cond, ref blk, _) => {
-            self.propagate_through_loop(expr, WhileLoop(&**cond), &**blk, succ)
+            self.propagate_through_loop(expr, WhileLoop(&cond), &blk, succ)
           }
 
           // Note that labels have been resolved, so we don't need to look
           // at the label ident
           hir::ExprLoop(ref blk, _) => {
-            self.propagate_through_loop(expr, LoopLoop, &**blk, succ)
+            self.propagate_through_loop(expr, LoopLoop, &blk, succ)
           }
 
           hir::ExprMatch(ref e, ref arms, _) => {
@@ -1028,7 +1028,7 @@ fn propagate_through_expr(&mut self, expr: &Expr, succ: LiveNode)
             let mut first_merge = true;
             for arm in arms {
                 let body_succ =
-                    self.propagate_through_expr(&*arm.body, succ);
+                    self.propagate_through_expr(&arm.body, succ);
                 let guard_succ =
                     self.propagate_through_opt_expr(arm.guard.as_ref().map(|e| &**e), body_succ);
                 // only consider the first pattern; any later patterns must have
@@ -1040,7 +1040,7 @@ fn propagate_through_expr(&mut self, expr: &Expr, succ: LiveNode)
                 self.merge_from_succ(ln, arm_succ, first_merge);
                 first_merge = false;
             };
-            self.propagate_through_expr(&**e, ln)
+            self.propagate_through_expr(&e, ln)
           }
 
           hir::ExprRet(ref o_e) => {
@@ -1080,17 +1080,17 @@ fn propagate_through_expr(&mut self, expr: &Expr, succ: LiveNode)
           hir::ExprAssign(ref l, ref r) => {
             // see comment on lvalues in
             // propagate_through_lvalue_components()
-            let succ = self.write_lvalue(&**l, succ, ACC_WRITE);
-            let succ = self.propagate_through_lvalue_components(&**l, succ);
-            self.propagate_through_expr(&**r, succ)
+            let succ = self.write_lvalue(&l, succ, ACC_WRITE);
+            let succ = self.propagate_through_lvalue_components(&l, succ);
+            self.propagate_through_expr(&r, succ)
           }
 
           hir::ExprAssignOp(_, ref l, ref r) => {
             // see comment on lvalues in
             // propagate_through_lvalue_components()
-            let succ = self.write_lvalue(&**l, succ, ACC_WRITE|ACC_READ);
-            let succ = self.propagate_through_expr(&**r, succ);
-            self.propagate_through_lvalue_components(&**l, succ)
+            let succ = self.write_lvalue(&l, succ, ACC_WRITE|ACC_READ);
+            let succ = self.propagate_through_expr(&r, succ);
+            self.propagate_through_lvalue_components(&l, succ)
           }
 
           // Uninteresting cases: just propagate in rev exec order
@@ -1100,27 +1100,27 @@ fn propagate_through_expr(&mut self, expr: &Expr, succ: LiveNode)
           }
 
           hir::ExprRepeat(ref element, ref count) => {
-            let succ = self.propagate_through_expr(&**count, succ);
-            self.propagate_through_expr(&**element, succ)
+            let succ = self.propagate_through_expr(&count, succ);
+            self.propagate_through_expr(&element, succ)
           }
 
           hir::ExprStruct(_, ref fields, ref with_expr) => {
             let succ = self.propagate_through_opt_expr(with_expr.as_ref().map(|e| &**e), succ);
             fields.iter().rev().fold(succ, |succ, field| {
-                self.propagate_through_expr(&*field.expr, succ)
+                self.propagate_through_expr(&field.expr, succ)
             })
           }
 
           hir::ExprCall(ref f, ref args) => {
             let diverges = !self.ir.tcx.is_method_call(expr.id) &&
-                self.ir.tcx.expr_ty_adjusted(&**f).fn_ret().diverges();
+                self.ir.tcx.expr_ty_adjusted(&f).fn_ret().diverges();
             let succ = if diverges {
                 self.s.exit_ln
             } else {
                 succ
             };
             let succ = self.propagate_through_exprs(&args[..], succ);
-            self.propagate_through_expr(&**f, succ)
+            self.propagate_through_expr(&f, succ)
           }
 
           hir::ExprMethodCall(_, _, ref args) => {
@@ -1139,24 +1139,24 @@ fn propagate_through_expr(&mut self, expr: &Expr, succ: LiveNode)
           }
 
           hir::ExprBinary(op, ref l, ref r) if ::rustc_front::util::lazy_binop(op.node) => {
-            let r_succ = self.propagate_through_expr(&**r, succ);
+            let r_succ = self.propagate_through_expr(&r, succ);
 
             let ln = self.live_node(expr.id, expr.span);
             self.init_from_succ(ln, succ);
             self.merge_from_succ(ln, r_succ, false);
 
-            self.propagate_through_expr(&**l, ln)
+            self.propagate_through_expr(&l, ln)
           }
 
           hir::ExprIndex(ref l, ref r) |
           hir::ExprBinary(_, ref l, ref r) => {
-            let r_succ = self.propagate_through_expr(&**r, succ);
-            self.propagate_through_expr(&**l, r_succ)
+            let r_succ = self.propagate_through_expr(&r, succ);
+            self.propagate_through_expr(&l, r_succ)
           }
 
           hir::ExprRange(ref e1, ref e2) => {
-            let succ = e2.as_ref().map_or(succ, |e| self.propagate_through_expr(&**e, succ));
-            e1.as_ref().map_or(succ, |e| self.propagate_through_expr(&**e, succ))
+            let succ = e2.as_ref().map_or(succ, |e| self.propagate_through_expr(&e, succ));
+            e1.as_ref().map_or(succ, |e| self.propagate_through_expr(&e, succ))
           }
 
           hir::ExprBox(ref e) |
@@ -1164,7 +1164,7 @@ fn propagate_through_expr(&mut self, expr: &Expr, succ: LiveNode)
           hir::ExprCast(ref e, _) |
           hir::ExprType(ref e, _) |
           hir::ExprUnary(_, ref e) => {
-            self.propagate_through_expr(&**e, succ)
+            self.propagate_through_expr(&e, succ)
           }
 
           hir::ExprInlineAsm(ref ia) => {
@@ -1174,17 +1174,17 @@ fn propagate_through_expr(&mut self, expr: &Expr, succ: LiveNode)
                     // see comment on lvalues
                     // in propagate_through_lvalue_components()
                     if out.is_indirect {
-                        self.propagate_through_expr(&*out.expr, succ)
+                        self.propagate_through_expr(&out.expr, succ)
                     } else {
                         let acc = if out.is_rw { ACC_WRITE|ACC_READ } else { ACC_WRITE };
-                        let succ = self.write_lvalue(&*out.expr, succ, acc);
-                        self.propagate_through_lvalue_components(&*out.expr, succ)
+                        let succ = self.write_lvalue(&out.expr, succ, acc);
+                        self.propagate_through_lvalue_components(&out.expr, succ)
                     }
                 }
             );
             // Inputs are executed first. Propagate last because of rev order
             ia.inputs.iter().rev().fold(succ, |succ, &(_, ref expr)| {
-                self.propagate_through_expr(&**expr, succ)
+                self.propagate_through_expr(&expr, succ)
             })
           }
 
@@ -1193,7 +1193,7 @@ fn propagate_through_expr(&mut self, expr: &Expr, succ: LiveNode)
           }
 
           hir::ExprBlock(ref blk) => {
-            self.propagate_through_block(&**blk, succ)
+            self.propagate_through_block(&blk, succ)
           }
         }
     }
@@ -1253,8 +1253,8 @@ fn propagate_through_lvalue_components(&mut self,
 
         match expr.node {
             hir::ExprPath(..) => succ,
-            hir::ExprField(ref e, _) => self.propagate_through_expr(&**e, succ),
-            hir::ExprTupField(ref e, _) => self.propagate_through_expr(&**e, succ),
+            hir::ExprField(ref e, _) => self.propagate_through_expr(&e, succ),
+            hir::ExprTupField(ref e, _) => self.propagate_through_expr(&e, succ),
             _ => self.propagate_through_expr(expr, succ)
         }
     }
@@ -1336,7 +1336,7 @@ fn propagate_through_loop(&mut self,
 
         let cond_ln = match kind {
             LoopLoop => ln,
-            WhileLoop(ref cond) => self.propagate_through_expr(&**cond, ln),
+            WhileLoop(ref cond) => self.propagate_through_expr(&cond, ln),
         };
         let body_ln = self.with_loop_nodes(expr.id, succ, ln, |this| {
             this.propagate_through_block(body, cond_ln)
@@ -1349,7 +1349,7 @@ fn propagate_through_loop(&mut self,
             let new_cond_ln = match kind {
                 LoopLoop => ln,
                 WhileLoop(ref cond) => {
-                    self.propagate_through_expr(&**cond, ln)
+                    self.propagate_through_expr(&cond, ln)
                 }
             };
             assert!(cond_ln == new_cond_ln);
@@ -1384,10 +1384,10 @@ fn with_loop_nodes<R, F>(&mut self,
 fn check_local(this: &mut Liveness, local: &hir::Local) {
     match local.init {
         Some(_) => {
-            this.warn_about_unused_or_dead_vars_in_pat(&*local.pat);
+            this.warn_about_unused_or_dead_vars_in_pat(&local.pat);
         },
         None => {
-            this.pat_bindings(&*local.pat, |this, ln, var, sp, id| {
+            this.pat_bindings(&local.pat, |this, ln, var, sp, id| {
                 this.warn_about_unused(sp, id, ln, var);
             })
         }
@@ -1409,28 +1409,28 @@ fn check_arm(this: &mut Liveness, arm: &hir::Arm) {
 fn check_expr(this: &mut Liveness, expr: &Expr) {
     match expr.node {
       hir::ExprAssign(ref l, _) => {
-        this.check_lvalue(&**l);
+        this.check_lvalue(&l);
 
         intravisit::walk_expr(this, expr);
       }
 
       hir::ExprAssignOp(_, ref l, _) => {
-        this.check_lvalue(&**l);
+        this.check_lvalue(&l);
 
         intravisit::walk_expr(this, expr);
       }
 
       hir::ExprInlineAsm(ref ia) => {
         for &(_, ref input) in &ia.inputs {
-          this.visit_expr(&**input);
+          this.visit_expr(&input);
         }
 
         // Output operands must be lvalues
         for out in &ia.outputs {
           if !out.is_indirect {
-            this.check_lvalue(&*out.expr);
+            this.check_lvalue(&out.expr);
           }
-          this.visit_expr(&*out.expr);
+          this.visit_expr(&out.expr);
         }
 
         intravisit::walk_expr(this, expr);
@@ -1496,7 +1496,7 @@ fn check_ret(&self,
                         None if !body.stmts.is_empty() =>
                             match body.stmts.first().unwrap().node {
                                 hir::StmtSemi(ref e, _) => {
-                                    self.ir.tcx.expr_ty(&**e) == t_ret
+                                    self.ir.tcx.expr_ty(&e) == t_ret
                                 },
                                 _ => false
                             },
@@ -1565,7 +1565,7 @@ fn should_warn(&self, var: Variable) -> Option<String> {
     fn warn_about_unused_args(&self, decl: &hir::FnDecl, entry_ln: LiveNode) {
         for arg in &decl.inputs {
             pat_util::pat_bindings(&self.ir.tcx.def_map,
-                                   &*arg.pat,
+                                   &arg.pat,
                                    |_bm, p_id, sp, path1| {
                 let var = self.variable(p_id, sp);
                 // Ignore unused self.
index affd963fb79172fc2dc055ed58493e3f1fd3315f..71af07c21cf500738d5e6127260b3f3a192ecb82 100644 (file)
@@ -463,12 +463,12 @@ pub fn cat_expr_unadjusted(&self, expr: &hir::Expr) -> McResult<cmt<'tcx>> {
         let expr_ty = try!(self.expr_ty(expr));
         match expr.node {
           hir::ExprUnary(hir::UnDeref, ref e_base) => {
-            let base_cmt = try!(self.cat_expr(&**e_base));
+            let base_cmt = try!(self.cat_expr(&e_base));
             self.cat_deref(expr, base_cmt, 0, None)
           }
 
           hir::ExprField(ref base, f_name) => {
-            let base_cmt = try!(self.cat_expr(&**base));
+            let base_cmt = try!(self.cat_expr(&base));
             debug!("cat_expr(cat_field): id={} expr={:?} base={:?}",
                    expr.id,
                    expr,
@@ -477,7 +477,7 @@ pub fn cat_expr_unadjusted(&self, expr: &hir::Expr) -> McResult<cmt<'tcx>> {
           }
 
           hir::ExprTupField(ref base, idx) => {
-            let base_cmt = try!(self.cat_expr(&**base));
+            let base_cmt = try!(self.cat_expr(&base));
             Ok(self.cat_tup_field(expr, base_cmt, idx.node, expr_ty))
           }
 
@@ -508,7 +508,7 @@ pub fn cat_expr_unadjusted(&self, expr: &hir::Expr) -> McResult<cmt<'tcx>> {
                     self.cat_deref_common(expr, base_cmt, 1, elem_ty, Some(context), true)
                 }
                 None => {
-                    self.cat_index(expr, try!(self.cat_expr(&**base)), context)
+                    self.cat_index(expr, try!(self.cat_expr(&base)), context)
                 }
             }
           }
@@ -519,7 +519,7 @@ pub fn cat_expr_unadjusted(&self, expr: &hir::Expr) -> McResult<cmt<'tcx>> {
           }
 
           hir::ExprType(ref e, _) => {
-            self.cat_expr(&**e)
+            self.cat_expr(&e)
           }
 
           hir::ExprAddrOf(..) | hir::ExprCall(..) |
@@ -584,7 +584,7 @@ pub fn cat_def(&self,
                           None => {
                               self.tcx().sess.span_bug(
                                   span,
-                                  &*format!("No closure kind for {:?}", closure_id));
+                                  &format!("No closure kind for {:?}", closure_id));
                           }
                       }
                   }
@@ -1234,29 +1234,29 @@ fn cat_pattern_<F>(&self, cmt: cmt<'tcx>, pat: &hir::Pat, op: &mut F)
                 Some(Def::Variant(..)) => {
                     // variant(x, y, z)
                     for (i, subpat) in subpats.iter().enumerate() {
-                        let subpat_ty = try!(self.pat_ty(&**subpat)); // see (*2)
+                        let subpat_ty = try!(self.pat_ty(&subpat)); // see (*2)
 
                         let subcmt =
                             self.cat_imm_interior(
                                 pat, cmt.clone(), subpat_ty,
                                 InteriorField(PositionalField(i)));
 
-                        try!(self.cat_pattern_(subcmt, &**subpat, op));
+                        try!(self.cat_pattern_(subcmt, &subpat, op));
                     }
                 }
                 Some(Def::Struct(..)) => {
                     for (i, subpat) in subpats.iter().enumerate() {
-                        let subpat_ty = try!(self.pat_ty(&**subpat)); // see (*2)
+                        let subpat_ty = try!(self.pat_ty(&subpat)); // see (*2)
                         let cmt_field =
                             self.cat_imm_interior(
                                 pat, cmt.clone(), subpat_ty,
                                 InteriorField(PositionalField(i)));
-                        try!(self.cat_pattern_(cmt_field, &**subpat, op));
+                        try!(self.cat_pattern_(cmt_field, &subpat, op));
                     }
                 }
                 Some(Def::Const(..)) | Some(Def::AssociatedConst(..)) => {
                     for subpat in subpats {
-                        try!(self.cat_pattern_(cmt.clone(), &**subpat, op));
+                        try!(self.cat_pattern_(cmt.clone(), &subpat, op));
                     }
                 }
                 _ => {
@@ -1272,7 +1272,7 @@ fn cat_pattern_<F>(&self, cmt: cmt<'tcx>, pat: &hir::Pat, op: &mut F)
           }
 
           hir::PatIdent(_, _, Some(ref subpat)) => {
-              try!(self.cat_pattern_(cmt, &**subpat, op));
+              try!(self.cat_pattern_(cmt, &subpat, op));
           }
 
           hir::PatIdent(_, _, None) => {
@@ -1282,21 +1282,21 @@ fn cat_pattern_<F>(&self, cmt: cmt<'tcx>, pat: &hir::Pat, op: &mut F)
           hir::PatStruct(_, ref field_pats, _) => {
             // {f1: p1, ..., fN: pN}
             for fp in field_pats {
-                let field_ty = try!(self.pat_ty(&*fp.node.pat)); // see (*2)
+                let field_ty = try!(self.pat_ty(&fp.node.pat)); // see (*2)
                 let cmt_field = self.cat_field(pat, cmt.clone(), fp.node.name, field_ty);
-                try!(self.cat_pattern_(cmt_field, &*fp.node.pat, op));
+                try!(self.cat_pattern_(cmt_field, &fp.node.pat, op));
             }
           }
 
           hir::PatTup(ref subpats) => {
             // (p1, ..., pN)
             for (i, subpat) in subpats.iter().enumerate() {
-                let subpat_ty = try!(self.pat_ty(&**subpat)); // see (*2)
+                let subpat_ty = try!(self.pat_ty(&subpat)); // see (*2)
                 let subcmt =
                     self.cat_imm_interior(
                         pat, cmt.clone(), subpat_ty,
                         InteriorField(PositionalField(i)));
-                try!(self.cat_pattern_(subcmt, &**subpat, op));
+                try!(self.cat_pattern_(subcmt, &subpat, op));
             }
           }
 
@@ -1305,7 +1305,7 @@ fn cat_pattern_<F>(&self, cmt: cmt<'tcx>, pat: &hir::Pat, op: &mut F)
             // PatRegion since that information is already contained
             // in the type.
             let subcmt = try!(self.cat_deref(pat, cmt, 0, None));
-              try!(self.cat_pattern_(subcmt, &**subpat, op));
+              try!(self.cat_pattern_(subcmt, &subpat, op));
           }
 
           hir::PatVec(ref before, ref slice, ref after) => {
@@ -1313,15 +1313,15 @@ fn cat_pattern_<F>(&self, cmt: cmt<'tcx>, pat: &hir::Pat, op: &mut F)
               let vec_cmt = try!(self.deref_vec(pat, cmt, context));
               let elt_cmt = try!(self.cat_index(pat, vec_cmt, context));
               for before_pat in before {
-                  try!(self.cat_pattern_(elt_cmt.clone(), &**before_pat, op));
+                  try!(self.cat_pattern_(elt_cmt.clone(), &before_pat, op));
               }
               if let Some(ref slice_pat) = *slice {
-                  let slice_ty = try!(self.pat_ty(&**slice_pat));
+                  let slice_ty = try!(self.pat_ty(&slice_pat));
                   let slice_cmt = self.cat_rvalue_node(pat.id(), pat.span(), slice_ty);
-                  try!(self.cat_pattern_(slice_cmt, &**slice_pat, op));
+                  try!(self.cat_pattern_(slice_cmt, &slice_pat, op));
               }
               for after_pat in after {
-                  try!(self.cat_pattern_(elt_cmt.clone(), &**after_pat, op));
+                  try!(self.cat_pattern_(elt_cmt.clone(), &after_pat, op));
               }
           }
 
index d2e1b3edc3a68e7af6f086f23a00bd9e9047dc41..614d9be147bd874d27ad4628a87fba03a361eda6 100644 (file)
@@ -65,7 +65,7 @@ fn method_might_be_inlined(tcx: &ty::ctxt, sig: &hir::MethodSig,
     if let Some(impl_node_id) = tcx.map.as_local_node_id(impl_src) {
         match tcx.map.find(impl_node_id) {
             Some(ast_map::NodeItem(item)) =>
-                item_might_be_inlined(&*item),
+                item_might_be_inlined(&item),
             Some(..) | None =>
                 tcx.sess.span_bug(impl_item.span, "impl did is not an item")
         }
@@ -166,7 +166,7 @@ fn def_id_represents_local_inlined_item(&self, def_id: DefId) -> bool {
         match self.tcx.map.find(node_id) {
             Some(ast_map::NodeItem(item)) => {
                 match item.node {
-                    hir::ItemFn(..) => item_might_be_inlined(&*item),
+                    hir::ItemFn(..) => item_might_be_inlined(&item),
                     _ => false,
                 }
             }
@@ -255,8 +255,8 @@ fn propagate_node(&mut self, node: &ast_map::Node,
             ast_map::NodeItem(item) => {
                 match item.node {
                     hir::ItemFn(_, _, _, _, _, ref search_block) => {
-                        if item_might_be_inlined(&*item) {
-                            intravisit::walk_block(self, &**search_block)
+                        if item_might_be_inlined(&item) {
+                            intravisit::walk_block(self, &search_block)
                         }
                     }
 
@@ -264,7 +264,7 @@ fn propagate_node(&mut self, node: &ast_map::Node,
                     // unconditionally, so we need to make sure that their
                     // contents are also reachable.
                     hir::ItemConst(_, ref init) => {
-                        self.visit_expr(&**init);
+                        self.visit_expr(&init);
                     }
 
                     // These are normal, nothing reachable about these
@@ -285,7 +285,7 @@ fn propagate_node(&mut self, node: &ast_map::Node,
                         // Keep going, nothing to get exported
                     }
                     hir::ConstTraitItem(_, Some(ref expr)) => {
-                        self.visit_expr(&*expr);
+                        self.visit_expr(&expr);
                     }
                     hir::MethodTraitItem(_, Some(ref body)) => {
                         intravisit::walk_block(self, body);
@@ -296,7 +296,7 @@ fn propagate_node(&mut self, node: &ast_map::Node,
             ast_map::NodeImplItem(impl_item) => {
                 match impl_item.node {
                     hir::ImplItemKind::Const(_, ref expr) => {
-                        self.visit_expr(&*expr);
+                        self.visit_expr(&expr);
                     }
                     hir::ImplItemKind::Method(ref sig, ref body) => {
                         let did = self.tcx.map.get_parent_did(search_item);
index bf21b607b778d7f57dab82347ca0742dc520db36..81d2f37bfd99e2158414f71b970773467f2d13d9 100644 (file)
@@ -933,13 +933,13 @@ fn resolve_local(visitor: &mut RegionResolutionVisitor, local: &hir::Local) {
 
     match local.init {
         Some(ref expr) => {
-            record_rvalue_scope_if_borrow_expr(visitor, &**expr, blk_scope);
+            record_rvalue_scope_if_borrow_expr(visitor, &expr, blk_scope);
 
             let is_borrow =
-                if let Some(ref ty) = local.ty { is_borrowed_ty(&**ty) } else { false };
+                if let Some(ref ty) = local.ty { is_borrowed_ty(&ty) } else { false };
 
-            if is_binding_pat(&*local.pat) || is_borrow {
-                record_rvalue_scope(visitor, &**expr, blk_scope);
+            if is_binding_pat(&local.pat) || is_borrow {
+                record_rvalue_scope(visitor, &expr, blk_scope);
             }
         }
 
@@ -961,22 +961,22 @@ fn is_binding_pat(pat: &hir::Pat) -> bool {
             hir::PatIdent(hir::BindByRef(_), _, _) => true,
 
             hir::PatStruct(_, ref field_pats, _) => {
-                field_pats.iter().any(|fp| is_binding_pat(&*fp.node.pat))
+                field_pats.iter().any(|fp| is_binding_pat(&fp.node.pat))
             }
 
             hir::PatVec(ref pats1, ref pats2, ref pats3) => {
-                pats1.iter().any(|p| is_binding_pat(&**p)) ||
-                pats2.iter().any(|p| is_binding_pat(&**p)) ||
-                pats3.iter().any(|p| is_binding_pat(&**p))
+                pats1.iter().any(|p| is_binding_pat(&p)) ||
+                pats2.iter().any(|p| is_binding_pat(&p)) ||
+                pats3.iter().any(|p| is_binding_pat(&p))
             }
 
             hir::PatEnum(_, Some(ref subpats)) |
             hir::PatTup(ref subpats) => {
-                subpats.iter().any(|p| is_binding_pat(&**p))
+                subpats.iter().any(|p| is_binding_pat(&p))
             }
 
             hir::PatBox(ref subpat) => {
-                is_binding_pat(&**subpat)
+                is_binding_pat(&subpat)
             }
 
             _ => false,
@@ -1006,30 +1006,30 @@ fn record_rvalue_scope_if_borrow_expr(visitor: &mut RegionResolutionVisitor,
                                           blk_id: CodeExtent) {
         match expr.node {
             hir::ExprAddrOf(_, ref subexpr) => {
-                record_rvalue_scope_if_borrow_expr(visitor, &**subexpr, blk_id);
-                record_rvalue_scope(visitor, &**subexpr, blk_id);
+                record_rvalue_scope_if_borrow_expr(visitor, &subexpr, blk_id);
+                record_rvalue_scope(visitor, &subexpr, blk_id);
             }
             hir::ExprStruct(_, ref fields, _) => {
                 for field in fields {
                     record_rvalue_scope_if_borrow_expr(
-                        visitor, &*field.expr, blk_id);
+                        visitor, &field.expr, blk_id);
                 }
             }
             hir::ExprVec(ref subexprs) |
             hir::ExprTup(ref subexprs) => {
                 for subexpr in subexprs {
                     record_rvalue_scope_if_borrow_expr(
-                        visitor, &**subexpr, blk_id);
+                        visitor, &subexpr, blk_id);
                 }
             }
             hir::ExprCast(ref subexpr, _) => {
-                record_rvalue_scope_if_borrow_expr(visitor, &**subexpr, blk_id)
+                record_rvalue_scope_if_borrow_expr(visitor, &subexpr, blk_id)
             }
             hir::ExprBlock(ref block) => {
                 match block.expr {
                     Some(ref subexpr) => {
                         record_rvalue_scope_if_borrow_expr(
-                            visitor, &**subexpr, blk_id);
+                            visitor, &subexpr, blk_id);
                     }
                     None => { }
                 }
@@ -1072,7 +1072,7 @@ fn record_rvalue_scope<'a>(visitor: &mut RegionResolutionVisitor,
                 hir::ExprField(ref subexpr, _) |
                 hir::ExprTupField(ref subexpr, _) |
                 hir::ExprIndex(ref subexpr, _) => {
-                    expr = &**subexpr;
+                    expr = &subexpr;
                 }
                 _ => {
                     return;
index 4bdf716e6370904dd4a01a9927e7650addbc848f..f29e14f67d73fa7b3407ecd70d2e08b53be9dd80 100644 (file)
@@ -256,7 +256,7 @@ fn visit_generics(&mut self, generics: &hir::Generics) {
         for ty_param in generics.ty_params.iter() {
             walk_list!(self, visit_ty_param_bound, &ty_param.bounds);
             match ty_param.default {
-                Some(ref ty) => self.visit_ty(&**ty),
+                Some(ref ty) => self.visit_ty(&ty),
                 None => {}
             }
         }
@@ -271,13 +271,13 @@ fn visit_generics(&mut self, generics: &hir::Generics) {
                         let result = self.with(LateScope(bound_lifetimes, self.scope),
                                                |old_scope, this| {
                             this.check_lifetime_defs(old_scope, bound_lifetimes);
-                            this.visit_ty(&**bounded_ty);
+                            this.visit_ty(&bounded_ty);
                             walk_list!(this, visit_ty_param_bound, bounds);
                         });
                         self.trait_ref_hack = false;
                         result
                     } else {
-                        self.visit_ty(&**bounded_ty);
+                        self.visit_ty(&bounded_ty);
                         walk_list!(self, visit_ty_param_bound, bounds);
                     }
                 }
@@ -295,7 +295,7 @@ fn visit_generics(&mut self, generics: &hir::Generics) {
                                                                          ref ty,
                                                                          .. }) => {
                     self.visit_path(path, id);
-                    self.visit_ty(&**ty);
+                    self.visit_ty(&ty);
                 }
             }
         }
@@ -810,7 +810,7 @@ fn early_bound_lifetime_names(generics: &hir::Generics) -> Vec<ast::Name> {
                 &hir::WherePredicate::BoundPredicate(hir::WhereBoundPredicate{ref bounds,
                                                                               ref bounded_ty,
                                                                               ..}) => {
-                    collector.visit_ty(&**bounded_ty);
+                    collector.visit_ty(&bounded_ty);
                     walk_list!(&mut collector, visit_ty_param_bound, bounds);
                 }
                 &hir::WherePredicate::RegionPredicate(hir::WhereRegionPredicate{ref lifetime,
index d09bbc37fe4688d4e015038f0921a6547f34baa1..fac53ec140dbcad62fdedcf5a2746e52d8e4d390 100644 (file)
@@ -770,7 +770,7 @@ fn note_obligation_cause_code<'a, 'tcx, T>(infcx: &InferCtxt<'a, 'tcx>,
                                        err,
                                        &parent_predicate,
                                        cause_span,
-                                       &*data.parent_code);
+                                       &data.parent_code);
         }
         ObligationCauseCode::ImplDerivedObligation(ref data) => {
             let parent_trait_ref = infcx.resolve_type_vars_if_possible(&data.parent_trait_ref);
@@ -784,7 +784,7 @@ fn note_obligation_cause_code<'a, 'tcx, T>(infcx: &InferCtxt<'a, 'tcx>,
                                        err,
                                        &parent_predicate,
                                        cause_span,
-                                       &*data.parent_code);
+                                       &data.parent_code);
         }
         ObligationCauseCode::CompareImplMethodObligation => {
             err.fileline_note(
index 0e4a42bd15134050e47e9b39bcffe3b9e272e96e..7ffdc3bdef27ad0fe491e07cec809ebf82e2262f 100644 (file)
@@ -116,7 +116,7 @@ fn object_safety_violations_for_trait<'tcx>(tcx: &ty::ctxt<'tcx>,
         .filter_map(|item| {
             match *item {
                 ty::MethodTraitItem(ref m) => {
-                    object_safety_violation_for_method(tcx, trait_def_id, &**m)
+                    object_safety_violation_for_method(tcx, trait_def_id, &m)
                         .map(|code| ObjectSafetyViolation::Method(m.clone(), code))
                 }
                 _ => None,
index 9441e34cb9b1fad3b011d6ede0475f96bf2fc14a..888a623b24a83d1960d14ffb14264d396faa09ef 100644 (file)
@@ -196,7 +196,7 @@ pub fn block_query<P>(b: &hir::Block, p: P) -> bool where P: FnMut(&hir::Expr) -
         p: p,
         flag: false,
     };
-    intravisit::walk_block(&mut v, &*b);
+    intravisit::walk_block(&mut v, &b);
     return v.flag;
 }