File tree Expand file tree Collapse file tree 1 file changed +4
-10
lines changed Expand file tree Collapse file tree 1 file changed +4
-10
lines changed Original file line number Diff line number Diff line change @@ -29,9 +29,6 @@ pub trait TyExt {
29
29
30
30
fn strip_references ( & self ) -> & Ty ;
31
31
32
- /// If this is a `dyn Trait` type, this returns the `Trait` part.
33
- fn dyn_trait_ref ( & self ) -> Option < & TraitRef > ;
34
-
35
32
/// If this is a `dyn Trait`, returns that trait.
36
33
fn dyn_trait ( & self ) -> Option < TraitId > ;
37
34
@@ -123,20 +120,17 @@ impl TyExt for Ty {
123
120
}
124
121
}
125
122
126
- fn dyn_trait_ref ( & self ) -> Option < & TraitRef > {
127
- match self . kind ( & Interner ) {
123
+ fn dyn_trait ( & self ) -> Option < TraitId > {
124
+ let trait_ref = match self . kind ( & Interner ) {
128
125
TyKind :: Dyn ( dyn_ty) => dyn_ty. bounds . skip_binders ( ) . interned ( ) . get ( 0 ) . and_then ( |b| {
129
126
match b. skip_binders ( ) {
130
127
WhereClause :: Implemented ( trait_ref) => Some ( trait_ref) ,
131
128
_ => None ,
132
129
}
133
130
} ) ,
134
131
_ => None ,
135
- }
136
- }
137
-
138
- fn dyn_trait ( & self ) -> Option < TraitId > {
139
- self . dyn_trait_ref ( ) . map ( |it| it. trait_id ) . map ( from_chalk_trait_id)
132
+ } ?;
133
+ Some ( from_chalk_trait_id ( trait_ref. trait_id ) )
140
134
}
141
135
142
136
fn strip_references ( & self ) -> & Ty {
You can’t perform that action at this time.
0 commit comments