about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAda Alakbarova <ada.alakbarova@proton.me>2025-08-06 23:09:38 +0200
committerAda Alakbarova <ada.alakbarova@proton.me>2025-08-22 15:03:24 +0200
commitc7b75880dc541b298918928a55e56aec2359f4a5 (patch)
tree8bfa432c96d2ab9391d60c87da2b8cdb37a1222e
parentf5292331c3f6c631b0c5544f8c4401c50d032fb7 (diff)
downloadrust-c7b75880dc541b298918928a55e56aec2359f4a5.tar.gz
rust-c7b75880dc541b298918928a55e56aec2359f4a5.zip
fix TraitObject
-rw-r--r--clippy_utils/src/check_proc_macro.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/clippy_utils/src/check_proc_macro.rs b/clippy_utils/src/check_proc_macro.rs
index c34d6c72f4c..2de131f05c2 100644
--- a/clippy_utils/src/check_proc_macro.rs
+++ b/clippy_utils/src/check_proc_macro.rs
@@ -415,7 +415,7 @@ fn ty_search_pat(ty: &Ty<'_>) -> (Pat, Pat) {
 }
 
 fn ast_ty_search_pat(ty: &ast::Ty) -> (Pat, Pat) {
-    use ast::{FnRetTy, MutTy, TyKind};
+    use ast::{FnRetTy, MutTy, TraitObjectSyntax, TyKind};
 
     match &ty.kind {
         TyKind::Slice(..) | TyKind::Array(..) => (Pat::Str("["), Pat::Str("]")),
@@ -496,10 +496,14 @@ fn ast_ty_search_pat(ty: &ast::Ty) -> (Pat, Pat) {
             (start, end)
         },
         TyKind::Infer => (Pat::Str("_"), Pat::Str("_")),
-        TyKind::TraitObject(_, tagged_ptr) if let TraitObjectSyntax::Dyn = tagged_ptr.tag() => {
-            (Pat::Str("dyn"), Pat::Str(""))
+        TyKind::TraitObject(_, trait_obj_syntax) => {
+            if let TraitObjectSyntax::Dyn = trait_obj_syntax {
+                (Pat::Str("dyn"), Pat::Str(""))
+            } else {
+                // NOTE: `TraitObject` is incomplete. It will always return true then.
+                (Pat::Str(""), Pat::Str(""))
+            }
         },
-        // NOTE: `TraitObject` is incomplete. It will always return true then.
         _ => (Pat::Str(""), Pat::Str("")),
     }
 }