@@ -415,7 +415,7 @@ fn ty_search_pat(ty: &Ty<'_>) -> (Pat, Pat) {
415
415
}
416
416
417
417
fn ast_ty_search_pat ( ty : & ast:: Ty ) -> ( Pat , Pat ) {
418
- use ast:: { FnRetTy , MutTy , TyKind } ;
418
+ use ast:: { FnRetTy , MutTy , TraitObjectSyntax , TyKind } ;
419
419
420
420
match & ty. kind {
421
421
TyKind :: Slice ( ..) | TyKind :: Array ( ..) => ( Pat :: Str ( "[" ) , Pat :: Str ( "]" ) ) ,
@@ -496,10 +496,14 @@ fn ast_ty_search_pat(ty: &ast::Ty) -> (Pat, Pat) {
496
496
( start, end)
497
497
} ,
498
498
TyKind :: Infer => ( Pat :: Str ( "_" ) , Pat :: Str ( "_" ) ) ,
499
- TyKind :: TraitObject ( _, tagged_ptr) if let TraitObjectSyntax :: Dyn = tagged_ptr. tag ( ) => {
500
- ( Pat :: Str ( "dyn" ) , Pat :: Str ( "" ) )
499
+ TyKind :: TraitObject ( _, trait_obj_syntax) => {
500
+ if let TraitObjectSyntax :: Dyn = trait_obj_syntax {
501
+ ( Pat :: Str ( "dyn" ) , Pat :: Str ( "" ) )
502
+ } else {
503
+ // NOTE: `TraitObject` is incomplete. It will always return true then.
504
+ ( Pat :: Str ( "" ) , Pat :: Str ( "" ) )
505
+ }
501
506
} ,
502
- // NOTE: `TraitObject` is incomplete. It will always return true then.
503
507
_ => ( Pat :: Str ( "" ) , Pat :: Str ( "" ) ) ,
504
508
}
505
509
}
0 commit comments