@@ -412,7 +412,7 @@ fn ty_search_pat(ty: &Ty<'_>) -> (Pat, Pat) {
412
412
}
413
413
414
414
fn ast_ty_search_pat ( ty : & ast:: Ty ) -> ( Pat , Pat ) {
415
- use ast:: { FnRetTy , MutTy , TyKind } ;
415
+ use ast:: { FnRetTy , MutTy , TraitObjectSyntax , TyKind } ;
416
416
417
417
match & ty. kind {
418
418
TyKind :: Slice ( ..) | TyKind :: Array ( ..) => ( Pat :: Str ( "[" ) , Pat :: Str ( "]" ) ) ,
@@ -483,10 +483,14 @@ fn ast_ty_search_pat(ty: &ast::Ty) -> (Pat, Pat) {
483
483
( start, end)
484
484
} ,
485
485
TyKind :: Infer => ( Pat :: Str ( "_" ) , Pat :: Str ( "_" ) ) ,
486
- TyKind :: TraitObject ( _, tagged_ptr) if let TraitObjectSyntax :: Dyn = tagged_ptr. tag ( ) => {
487
- ( Pat :: Str ( "dyn" ) , Pat :: Str ( "" ) )
486
+ TyKind :: TraitObject ( _, trait_obj_syntax) => {
487
+ if let TraitObjectSyntax :: Dyn = trait_obj_syntax {
488
+ ( Pat :: Str ( "dyn" ) , Pat :: Str ( "" ) )
489
+ } else {
490
+ // NOTE: `TraitObject` is incomplete. It will always return true then.
491
+ ( Pat :: Str ( "" ) , Pat :: Str ( "" ) )
492
+ }
488
493
} ,
489
- // NOTE: `TraitObject` is incomplete. It will always return true then.
490
494
_ => ( Pat :: Str ( "" ) , Pat :: Str ( "" ) ) ,
491
495
}
492
496
}
0 commit comments