]> git.lizzy.rs Git - rust.git/commitdiff
change impl_trait_ref query to return EarlyBinder; remove bound_impl_trait_ref query...
authorKyle Matsuda <kyle.yoshio.matsuda@gmail.com>
Tue, 10 Jan 2023 21:57:22 +0000 (14:57 -0700)
committerKyle Matsuda <kyle.yoshio.matsuda@gmail.com>
Sat, 14 Jan 2023 07:29:56 +0000 (00:29 -0700)
clippy_lints/src/derive.rs
clippy_lints/src/fallible_impl_from.rs
clippy_lints/src/from_over_into.rs
clippy_lints/src/implicit_saturating_sub.rs
clippy_lints/src/methods/implicit_clone.rs
clippy_lints/src/methods/suspicious_splitn.rs
clippy_lints/src/missing_doc.rs
clippy_lints/src/missing_inline.rs
clippy_lints/src/non_send_fields_in_send_ty.rs
clippy_lints/src/only_used_in_recursion.rs
clippy_lints/src/use_self.rs

index 6b2b18fff76e0564f79c340842c6dac7b995ddbf..248d7388410673c3da902461a252936750345e67 100644 (file)
@@ -247,7 +247,7 @@ fn check_hash_peq<'tcx>(
                     return;
                 }
 
-                let trait_ref = cx.tcx.bound_impl_trait_ref(impl_id).expect("must be a trait implementation");
+                let trait_ref = cx.tcx.impl_trait_ref(impl_id).expect("must be a trait implementation");
 
                 // Only care about `impl PartialEq<Foo> for Foo`
                 // For `impl PartialEq<B> for A, input_types is [A, B]
@@ -295,7 +295,7 @@ fn check_ord_partial_ord<'tcx>(
                     return;
                 }
 
-                let trait_ref = cx.tcx.bound_impl_trait_ref(impl_id).expect("must be a trait implementation");
+                let trait_ref = cx.tcx.impl_trait_ref(impl_id).expect("must be a trait implementation");
 
                 // Only care about `impl PartialOrd<Foo> for Foo`
                 // For `impl PartialOrd<B> for A, input_types is [A, B]
index a8085122ccf95cdbe990f7f862b566ba14668b17..2ef547526d4f7961027d20dbb77f7e846435b992 100644 (file)
@@ -55,7 +55,7 @@ fn check_item(&mut self, cx: &LateContext<'tcx>, item: &'tcx hir::Item<'_>) {
         // check for `impl From<???> for ..`
         if_chain! {
             if let hir::ItemKind::Impl(impl_) = &item.kind;
-            if let Some(impl_trait_ref) = cx.tcx.bound_impl_trait_ref(item.owner_id.to_def_id());
+            if let Some(impl_trait_ref) = cx.tcx.impl_trait_ref(item.owner_id);
             if cx.tcx.is_diagnostic_item(sym::From, impl_trait_ref.skip_binder().def_id);
             then {
                 lint_impl_body(cx, item.span, impl_.items);
index 97d414bfa95e434bc4fa77408a1ee829e2c15294..bd66ace4500a8d305f55ec1e430e1785e09d3348 100644 (file)
@@ -76,7 +76,7 @@ fn check_item(&mut self, cx: &LateContext<'tcx>, item: &'tcx Item<'_>) {
             && let Some(into_trait_seg) = hir_trait_ref.path.segments.last()
             // `impl Into<target_ty> for self_ty`
             && let Some(GenericArgs { args: [GenericArg::Type(target_ty)], .. }) = into_trait_seg.args
-            && let Some(middle_trait_ref) = cx.tcx.bound_impl_trait_ref(item.owner_id.to_def_id()).map(ty::EarlyBinder::subst_identity)
+            && let Some(middle_trait_ref) = cx.tcx.impl_trait_ref(item.owner_id).map(ty::EarlyBinder::subst_identity)
             && cx.tcx.is_diagnostic_item(sym::Into, middle_trait_ref.def_id)
             && !matches!(middle_trait_ref.substs.type_at(1).kind(), ty::Alias(ty::Opaque, _))
         {
index 37e33529a9a60ca1d9bf8192511630ec355059a9..29d59c26d92c4a2f697399ff93df5c753bc89152 100644 (file)
@@ -101,7 +101,7 @@ fn check_expr(&mut self, cx: &LateContext<'tcx>, expr: &'tcx Expr<'tcx>) {
                             if name.ident.as_str() == "MIN";
                             if let Some(const_id) = cx.typeck_results().type_dependent_def_id(cond_num_val.hir_id);
                             if let Some(impl_id) = cx.tcx.impl_of_method(const_id);
-                            if let None = cx.tcx.bound_impl_trait_ref(impl_id); // An inherent impl
+                            if let None = cx.tcx.impl_trait_ref(impl_id); // An inherent impl
                             if cx.tcx.type_of(impl_id).is_integral();
                             then {
                                 print_lint_and_sugg(cx, var_name, expr)
@@ -114,7 +114,7 @@ fn check_expr(&mut self, cx: &LateContext<'tcx>, expr: &'tcx Expr<'tcx>) {
                             if name.ident.as_str() == "min_value";
                             if let Some(func_id) = cx.typeck_results().type_dependent_def_id(func.hir_id);
                             if let Some(impl_id) = cx.tcx.impl_of_method(func_id);
-                            if let None = cx.tcx.bound_impl_trait_ref(impl_id); // An inherent impl
+                            if let None = cx.tcx.impl_trait_ref(impl_id); // An inherent impl
                             if cx.tcx.type_of(impl_id).is_integral();
                             then {
                                 print_lint_and_sugg(cx, var_name, expr)
index 16a25a98800de191643fcbf674c4da0273db7056..06ecbce4e70e940bed5d941b41be29198817ef6c 100644 (file)
@@ -53,7 +53,7 @@ pub fn is_clone_like(cx: &LateContext<'_>, method_name: &str, method_def_id: hir
         "to_vec" => cx
             .tcx
             .impl_of_method(method_def_id)
-            .filter(|&impl_did| cx.tcx.type_of(impl_did).is_slice() && cx.tcx.bound_impl_trait_ref(impl_did).is_none())
+            .filter(|&impl_did| cx.tcx.type_of(impl_did).is_slice() && cx.tcx.impl_trait_ref(impl_did).is_none())
             .is_some(),
         _ => false,
     }
index dba0663467b7d28e83fa2a66e87ce0df9f4edbc8..219a9edd65768eeb3124f3c174375e5fce335058 100644 (file)
@@ -12,7 +12,7 @@ pub(super) fn check(cx: &LateContext<'_>, method_name: &str, expr: &Expr<'_>, se
         if count <= 1;
         if let Some(call_id) = cx.typeck_results().type_dependent_def_id(expr.hir_id);
         if let Some(impl_id) = cx.tcx.impl_of_method(call_id);
-        if cx.tcx.bound_impl_trait_ref(impl_id).is_none();
+        if cx.tcx.impl_trait_ref(impl_id).is_none();
         let self_ty = cx.tcx.type_of(impl_id);
         if self_ty.is_slice() || self_ty.is_str();
         then {
index d0c99b352452faa413e18c131d8e4f325add219b..6fd100762b49dd7caacd956f9b6596f050d053db 100644 (file)
@@ -175,7 +175,7 @@ fn check_trait_item(&mut self, cx: &LateContext<'tcx>, trait_item: &'tcx hir::Tr
     fn check_impl_item(&mut self, cx: &LateContext<'tcx>, impl_item: &'tcx hir::ImplItem<'_>) {
         // If the method is an impl for a trait, don't doc.
         if let Some(cid) = cx.tcx.associated_item(impl_item.owner_id).impl_container(cx.tcx) {
-            if cx.tcx.bound_impl_trait_ref(cid).is_some() {
+            if cx.tcx.impl_trait_ref(cid).is_some() {
                 return;
             }
         } else {
index 0594fb175458d41d3a88874eca41075e868dff3f..5a459548153aab242c7a0d4b6aa800e50d522fc2 100644 (file)
@@ -155,7 +155,7 @@ fn check_impl_item(&mut self, cx: &LateContext<'tcx>, impl_item: &'tcx hir::Impl
         let container_id = assoc_item.container_id(cx.tcx);
         let trait_def_id = match assoc_item.container {
             TraitContainer => Some(container_id),
-            ImplContainer => cx.tcx.bound_impl_trait_ref(container_id).map(|t| t.skip_binder().def_id),
+            ImplContainer => cx.tcx.impl_trait_ref(container_id).map(|t| t.skip_binder().def_id),
         };
 
         if let Some(trait_def_id) = trait_def_id {
index 9c112ade948ff9a40dcca33005cd53d5222108b0..839c3a3815c29ef5a55b0bcf877b680916a41923 100644 (file)
@@ -89,7 +89,7 @@ fn check_item(&mut self, cx: &LateContext<'tcx>, item: &'tcx Item<'_>) {
             if let Some(trait_id) = trait_ref.trait_def_id();
             if send_trait == trait_id;
             if hir_impl.polarity == ImplPolarity::Positive;
-            if let Some(ty_trait_ref) = cx.tcx.bound_impl_trait_ref(item.owner_id.to_def_id());
+            if let Some(ty_trait_ref) = cx.tcx.impl_trait_ref(item.owner_id);
             if let self_ty = ty_trait_ref.subst_identity().self_ty();
             if let ty::Adt(adt_def, impl_trait_substs) = self_ty.kind();
             then {
index 82b1716a216e6c4b3f34268a109cd69b48f6c923..7b1d974f2f877e51f0c1d4fe29a89d57d383fb87 100644 (file)
@@ -244,7 +244,7 @@ fn check_body(&mut self, cx: &LateContext<'tcx>, body: &'tcx Body<'tcx>) {
             })) => {
                 #[allow(trivial_casts)]
                 if let Some(Node::Item(item)) = get_parent_node(cx.tcx, owner_id.into())
-                    && let Some(trait_ref) = cx.tcx.bound_impl_trait_ref(item.owner_id.to_def_id()).map(|t| t.subst_identity())
+                    && let Some(trait_ref) = cx.tcx.impl_trait_ref(item.owner_id).map(|t| t.subst_identity())
                     && let Some(trait_item_id) = cx.tcx.associated_item(owner_id).trait_item_def_id
                 {
                     (
index 9f31a13aa984bed491ac0cb08312a81b50789aad..6ae9d9d63538006d7d4e759b17217a07d98424b5 100644 (file)
@@ -133,7 +133,7 @@ fn check_impl_item(&mut self, cx: &LateContext<'_>, impl_item: &hir::ImplItem<'_
                 ref mut types_to_skip,
                 ..
             }) = self.stack.last_mut();
-            if let Some(impl_trait_ref) = cx.tcx.bound_impl_trait_ref(impl_id.to_def_id());
+            if let Some(impl_trait_ref) = cx.tcx.impl_trait_ref(impl_id);
             then {
                 // `self_ty` is the semantic self type of `impl <trait> for <type>`. This cannot be
                 // `Self`.