File tree Expand file tree Collapse file tree 4 files changed +10
-10
lines changed Expand file tree Collapse file tree 4 files changed +10
-10
lines changed Original file line number Diff line number Diff line change @@ -199,12 +199,12 @@ impl TyExt for Ty {
199
199
. map ( |pred| pred. clone ( ) . substitute ( & Interner , & substs) )
200
200
. filter ( |wc| match & wc. skip_binders ( ) {
201
201
WhereClause :: Implemented ( tr) => {
202
- tr. self_type_parameter ( & Interner ) == self
202
+ & tr. self_type_parameter ( & Interner ) == self
203
203
}
204
204
WhereClause :: AliasEq ( AliasEq {
205
205
alias : AliasTy :: Projection ( proj) ,
206
206
ty : _,
207
- } ) => proj. self_type_parameter ( & Interner ) == self ,
207
+ } ) => & proj. self_type_parameter ( & Interner ) == self ,
208
208
_ => false ,
209
209
} )
210
210
. collect :: < Vec < _ > > ( ) ;
Original file line number Diff line number Diff line change @@ -616,12 +616,12 @@ impl HirDisplay for Ty {
616
616
. map ( |pred| pred. clone ( ) . substitute ( & Interner , & substs) )
617
617
. filter ( |wc| match & wc. skip_binders ( ) {
618
618
WhereClause :: Implemented ( tr) => {
619
- tr. self_type_parameter ( & Interner ) == self
619
+ & tr. self_type_parameter ( & Interner ) == self
620
620
}
621
621
WhereClause :: AliasEq ( AliasEq {
622
622
alias : AliasTy :: Projection ( proj) ,
623
623
ty : _,
624
- } ) => proj. self_type_parameter ( & Interner ) == self ,
624
+ } ) => & proj. self_type_parameter ( & Interner ) == self ,
625
625
_ => false ,
626
626
} )
627
627
. collect :: < Vec < _ > > ( ) ;
Original file line number Diff line number Diff line change @@ -509,7 +509,7 @@ pub(super) fn generic_predicate_to_inline_bound(
509
509
let ( pred, binders) = pred. as_ref ( ) . into_value_and_skipped_binders ( ) ;
510
510
match pred {
511
511
WhereClause :: Implemented ( trait_ref) => {
512
- if trait_ref. self_type_parameter ( & Interner ) != & self_ty_shifted_in {
512
+ if trait_ref. self_type_parameter ( & Interner ) != self_ty_shifted_in {
513
513
// we can only convert predicates back to type bounds if they
514
514
// have the expected self type
515
515
return None ;
@@ -522,7 +522,7 @@ pub(super) fn generic_predicate_to_inline_bound(
522
522
Some ( chalk_ir:: Binders :: new ( binders, rust_ir:: InlineBound :: TraitBound ( trait_bound) ) )
523
523
}
524
524
WhereClause :: AliasEq ( AliasEq { alias : AliasTy :: Projection ( projection_ty) , ty } ) => {
525
- if projection_ty. self_type_parameter ( & Interner ) != & self_ty_shifted_in {
525
+ if projection_ty. self_type_parameter ( & Interner ) != self_ty_shifted_in {
526
526
return None ;
527
527
}
528
528
let trait_ = projection_ty. trait_ ( db) ;
Original file line number Diff line number Diff line change @@ -30,8 +30,8 @@ pub struct ProjectionTy {
30
30
}
31
31
32
32
impl ProjectionTy {
33
- pub fn self_type_parameter ( & self , interner : & Interner ) -> & Ty {
34
- & self . substitution . interned ( ) [ 0 ] . assert_ty_ref ( interner)
33
+ pub fn self_type_parameter ( & self , interner : & Interner ) -> Ty {
34
+ self . substitution . interned ( ) [ 0 ] . assert_ty_ref ( interner) . clone ( )
35
35
}
36
36
}
37
37
@@ -413,8 +413,8 @@ pub struct TraitRef {
413
413
}
414
414
415
415
impl TraitRef {
416
- pub fn self_type_parameter ( & self , interner : & Interner ) -> & Ty {
417
- & self . substitution . at ( interner, 0 ) . assert_ty_ref ( interner)
416
+ pub fn self_type_parameter ( & self , interner : & Interner ) -> Ty {
417
+ self . substitution . at ( interner, 0 ) . assert_ty_ref ( interner) . clone ( )
418
418
}
419
419
}
420
420
You can’t perform that action at this time.
0 commit comments