@@ -62,11 +62,7 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
62
62
match bound_pred. skip_binder ( ) {
63
63
ty:: ClauseKind :: Trait ( trait_pred) => {
64
64
assert_eq ! ( trait_pred. polarity, ty:: ImplPolarity :: Positive ) ;
65
- trait_bounds. push ( (
66
- bound_pred. rebind ( trait_pred. trait_ref ) ,
67
- span,
68
- trait_pred. constness ,
69
- ) ) ;
65
+ trait_bounds. push ( ( bound_pred. rebind ( trait_pred. trait_ref ) , span) ) ;
70
66
}
71
67
ty:: ClauseKind :: Projection ( proj) => {
72
68
projection_bounds. push ( ( bound_pred. rebind ( proj) , span) ) ;
@@ -86,7 +82,7 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
86
82
// Expand trait aliases recursively and check that only one regular (non-auto) trait
87
83
// is used and no 'maybe' bounds are used.
88
84
let expanded_traits =
89
- traits:: expand_trait_aliases ( tcx, trait_bounds. iter ( ) . map ( |& ( a, b, _ ) | ( a, b) ) ) ;
85
+ traits:: expand_trait_aliases ( tcx, trait_bounds. iter ( ) . map ( |& ( a, b) | ( a, b) ) ) ;
90
86
91
87
let ( mut auto_traits, regular_traits) : ( Vec < _ > , Vec < _ > ) = expanded_traits
92
88
. filter ( |i| i. trait_ref ( ) . self_ty ( ) . skip_binder ( ) == dummy_self)
@@ -126,7 +122,7 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
126
122
if regular_traits. is_empty ( ) && auto_traits. is_empty ( ) {
127
123
let trait_alias_span = trait_bounds
128
124
. iter ( )
129
- . map ( |& ( trait_ref, _, _ ) | trait_ref. def_id ( ) )
125
+ . map ( |& ( trait_ref, _) | trait_ref. def_id ( ) )
130
126
. find ( |& trait_ref| tcx. is_trait_alias ( trait_ref) )
131
127
. map ( |trait_ref| tcx. def_span ( trait_ref) ) ;
132
128
let reported =
@@ -157,10 +153,9 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
157
153
158
154
let regular_traits_refs_spans = trait_bounds
159
155
. into_iter ( )
160
- . filter ( |( trait_ref, _, _ ) | !tcx. trait_is_auto ( trait_ref. def_id ( ) ) ) ;
156
+ . filter ( |( trait_ref, _) | !tcx. trait_is_auto ( trait_ref. def_id ( ) ) ) ;
161
157
162
- for ( base_trait_ref, span, constness) in regular_traits_refs_spans {
163
- assert_eq ! ( constness, ty:: BoundConstness :: NotConst ) ;
158
+ for ( base_trait_ref, span) in regular_traits_refs_spans {
164
159
let base_pred: ty:: Predicate < ' tcx > = base_trait_ref. to_predicate ( tcx) ;
165
160
for pred in traits:: elaborate ( tcx, [ base_pred] ) {
166
161
debug ! ( "conv_object_ty_poly_trait_ref: observing object predicate `{:?}`" , pred) ;
0 commit comments