]> git.lizzy.rs Git - rust.git/commitdiff
Try to fix compilation error on rustc 1.19.0-nightly (4ed2edaaf 2017-06-01)
authormessense <messense@icloud.com>
Fri, 2 Jun 2017 04:13:04 +0000 (12:13 +0800)
committermessense <messense@icloud.com>
Fri, 2 Jun 2017 04:13:04 +0000 (12:13 +0800)
clippy_lints/src/consts.rs
clippy_lints/src/escape.rs
clippy_lints/src/eval_order_dependence.rs
clippy_lints/src/functions.rs
clippy_lints/src/len_zero.rs
clippy_lints/src/loops.rs
clippy_lints/src/mut_reference.rs
clippy_lints/src/needless_borrow.rs
clippy_lints/src/utils/mod.rs

index e094e8da3fcacb90898e158da79fd7604e308c49..8d18e613e134bffe7dd0aedbb1ac0b76fa1c82eb 100644 (file)
@@ -286,9 +286,7 @@ fn fetch_path(&mut self, qpath: &QPath, id: NodeId) -> Option<Constant> {
         match def {
             Def::Const(def_id) |
             Def::AssociatedConst(def_id) => {
-                let substs = self.tables
-                    .node_id_item_substs(id)
-                    .unwrap_or_else(|| self.tcx.intern_substs(&[]));
+                let substs = self.tables.node_substs(id);
                 let substs = if self.substs.is_empty() {
                     substs
                 } else {
index a36951b5f365f687d0693b2d7d200f7deec0b5c5..c68209b438389278448d79019c764053d8cdc614 100644 (file)
@@ -160,14 +160,14 @@ fn borrow(
 
         if let Categorization::Local(lid) = cmt.cat {
             if self.set.contains(&lid) {
-                if let Some(&Adjust::DerefRef { autoderefs, .. }) =
+                if let Some(&Adjust::Deref(ref overloaded)) =
                     self.tables
                         .adjustments
                         .get(&borrow_id)
                         .map(|a| &a.kind) {
                     if LoanCause::AutoRef == loan_cause {
                         // x.foo()
-                        if autoderefs == 0 {
+                        if overloaded == 0 {
                             self.set.remove(&lid); // Used without autodereffing (i.e. x.clone())
                         }
                     } else {
@@ -175,14 +175,14 @@ fn borrow(
                     }
                 } else if LoanCause::AddrOf == loan_cause {
                     // &x
-                    if let Some(&Adjust::DerefRef { autoderefs, .. }) =
+                    if let Some(&Adjust::Deref(ref overloaded)) =
                         self.tables
                             .adjustments
                             .get(&self.tcx
                                 .hir
                                 .get_parent_node(borrow_id))
                             .map(|a| &a.kind) {
-                        if autoderefs <= 1 {
+                        if overloaded <= 1 {
                             // foo(&x) where no extra autoreffing is happening
                             self.set.remove(&lid);
                         }
index 9f694dd1cff72b3046380022ea098e9ded11b1c4..36cae6968d444e12095ab889c704634cdb0be5e3 100644 (file)
@@ -137,11 +137,8 @@ fn visit_expr(&mut self, e: &'tcx Expr) {
                 }
             },
             ExprMethodCall(..) => {
-                let method_call = ty::MethodCall::expr(e.id);
                 let borrowed_table = self.cx.tables;
-                let method_type = borrowed_table.method_map.get(&method_call).expect("This should never happen.");
-                let result_ty = method_type.ty.fn_ret();
-                if let ty::TyNever = self.cx.tcx.erase_late_bound_regions(&result_ty).sty {
+                if borrowed_table.expr_ty(e).is_never() {
                     self.report_diverging_sub_expr(e);
                 }
             },
index 0c4712a591172bbd6ae276abe2ebb13c79c71a6f..62a843885c76f96de0f77467387dab10d1347a42 100644 (file)
@@ -184,8 +184,8 @@ fn visit_expr(&mut self, expr: &'tcx hir::Expr) {
                 }
             },
             hir::ExprMethodCall(_, _, ref args) => {
-                let method_call = ty::MethodCall::expr(expr.id);
-                let base_type = self.cx.tables.method_map[&method_call].ty;
+                let def_id = self.cx.tables.type_dependent_defs[&expr.id].def_id();
+                let base_type = self.cx.tcx.type_of(def_id);
 
                 if type_is_unsafe_function(base_type) {
                     for arg in args {
index 148eb616be0caf9b748a899f757fca9e43c33ffa..611987ae163013d5bcefd949401f650366ece4a0 100644 (file)
@@ -95,7 +95,7 @@ fn is_named_self(cx: &LateContext, item: &TraitItemRef, name: &str) -> bool {
             {
                 let did = cx.tcx.hir.local_def_id(item.id.node_id);
                 let impl_ty = cx.tcx.type_of(did);
-                impl_ty.fn_args().skip_binder().len() == 1
+                impl_ty.fn_sig().inputs().skip_binder().len() == 1
             }
         } else {
             false
@@ -122,7 +122,7 @@ fn is_named_self(cx: &LateContext, item: &ImplItemRef, name: &str) -> bool {
             {
                 let did = cx.tcx.hir.local_def_id(item.id.node_id);
                 let impl_ty = cx.tcx.type_of(did);
-                impl_ty.fn_args().skip_binder().len() == 1
+                impl_ty.fn_sig().inputs().skip_binder().len() == 1
             }
         } else {
             false
index 70e7e99a66dfb20e3dcdc05f7272cd9f72620072..2e373988887ab2a5a2761ff605a6af840ba033f6 100644 (file)
@@ -676,13 +676,8 @@ fn check_for_loop_arg(cx: &LateContext, pat: &Pat, arg: &Expr, expr: &Expr) {
                     lint_iter_method(cx, args, arg, &method_name);
                 }
             } else if method_name == "into_iter" && match_trait_method(cx, arg, &paths::INTO_ITERATOR) {
-                let method_call = ty::MethodCall::expr(arg.id);
-                let fn_ty = cx.tables
-                    .method_map
-                    .get(&method_call)
-                    .map(|method_callee| method_callee.ty)
-                    .expect("method calls need an entry in the method map");
-                let fn_arg_tys = fn_ty.fn_args();
+                let fn_ty = cx.tables.expr_ty(arg);
+                let fn_arg_tys = fn_ty.fn_sig().inputs();
                 assert_eq!(fn_arg_tys.skip_binder().len(), 1);
                 if fn_arg_tys.skip_binder()[0].is_region_ptr() {
                     lint_iter_method(cx, args, arg, &method_name);
index 07c941ecee6b1270d427e7a0635e0c05ed5cc7f1..4712cdde4b9ecf13ff57e357c97a704dafbc9022 100644 (file)
@@ -1,5 +1,5 @@
 use rustc::lint::*;
-use rustc::ty::{TypeAndMut, TypeVariants, MethodCall, TyS};
+use rustc::ty::{TypeAndMut, TypeVariants, TyS};
 use rustc::hir::*;
 use utils::span_lint;
 
@@ -49,9 +49,8 @@ fn check_expr(&mut self, cx: &LateContext<'a, 'tcx>, e: &'tcx Expr) {
                 }
             },
             ExprMethodCall(ref name, _, ref arguments) => {
-                let method_call = MethodCall::expr(e.id);
-                let method_type = borrowed_table.method_map.get(&method_call).expect("This should never happen.");
-                check_arguments(cx, arguments, method_type.ty, &name.node.as_str())
+                let method_type = borrowed_table.expr_ty(e);
+                check_arguments(cx, arguments, method_type, &name.node.as_str())
             },
             _ => (),
         }
index 740dd2bcb3fcf225c336689ba57667ffffa5ef6b..1d1d1b1f45da3c923b3c2da2622b0f210d07903c 100644 (file)
@@ -41,7 +41,7 @@ fn check_expr(&mut self, cx: &LateContext<'a, 'tcx>, e: &'tcx Expr) {
         }
         if let ExprAddrOf(MutImmutable, ref inner) = e.node {
             if let ty::TyRef(..) = cx.tables.expr_ty(inner).sty {
-                if let Some(&ty::adjustment::Adjust::DerefRef { autoderefs, autoref, .. }) =
+                if let Some(&ty::adjustment::Adjust::Deref(ref overloaded)) =
                     cx.tables.adjustments.get(&e.id).map(|a| &a.kind) {
                     if autoderefs > 1 && autoref.is_some() {
                         span_lint(cx,
index f5f1fe030f4011b77c8234e7be1880ec1649d2a8..e7065c16039c6ed7669d05cf65e6560e165218d8 100644 (file)
@@ -184,12 +184,8 @@ pub fn match_type(cx: &LateContext, ty: ty::Ty, path: &[&str]) -> bool {
 
 /// Check if the method call given in `expr` belongs to given type.
 pub fn match_impl_method(cx: &LateContext, expr: &Expr, path: &[&str]) -> bool {
-    let method_call = ty::MethodCall::expr(expr.id);
-
-    let trt_id = cx.tables
-        .method_map
-        .get(&method_call)
-        .and_then(|callee| cx.tcx.impl_of_method(callee.def_id));
+    let method_call = cx.tables.type_dependent_defs[&expr.id];
+    let trt_id = cx.tcx.impl_of_method(method_call.def_id());
     if let Some(trt_id) = trt_id {
         match_def_path(cx.tcx, trt_id, path)
     } else {
@@ -199,12 +195,8 @@ pub fn match_impl_method(cx: &LateContext, expr: &Expr, path: &[&str]) -> bool {
 
 /// Check if the method call given in `expr` belongs to given trait.
 pub fn match_trait_method(cx: &LateContext, expr: &Expr, path: &[&str]) -> bool {
-    let method_call = ty::MethodCall::expr(expr.id);
-
-    let trt_id = cx.tables
-        .method_map
-        .get(&method_call)
-        .and_then(|callee| cx.tcx.trait_of_item(callee.def_id));
+    let method_call = cx.tables.type_dependent_defs[&expr.id];
+    let trt_id = cx.tcx.trait_of_item(method_call.def_id());
     if let Some(trt_id) = trt_id {
         match_def_path(cx.tcx, trt_id, path)
     } else {