@@ -76,7 +76,7 @@ pub(super) enum CandidateSource {
76
76
/// let _y = x.clone();
77
77
/// }
78
78
/// ```
79
- AliasBound ( usize ) ,
79
+ AliasBound ( ) ,
80
80
}
81
81
82
82
pub ( super ) trait GoalKind < ' tcx > : TypeFoldable < ' tcx > + Copy + Eq {
@@ -217,8 +217,6 @@ impl<'tcx> EvalCtxt<'_, 'tcx> {
217
217
// NOTE: Alternatively we could call `evaluate_goal` here and only have a `Normalized` candidate.
218
218
// This doesn't work as long as we use `CandidateSource` in winnowing.
219
219
let goal = goal. with ( tcx, goal. predicate . with_self_ty ( tcx, normalized_ty) ) ;
220
- // FIXME: This is broken if we care about the `usize` of `AliasBound` because the self type
221
- // could be normalized to yet another projection with different item bounds.
222
220
let normalized_candidates = self . assemble_and_evaluate_candidates ( goal) ;
223
221
for mut normalized_candidate in normalized_candidates {
224
222
normalized_candidate. result =
@@ -342,15 +340,15 @@ impl<'tcx> EvalCtxt<'_, 'tcx> {
342
340
ty:: Alias ( _, alias_ty) => alias_ty,
343
341
} ;
344
342
345
- for ( i , ( assumption, _) ) in self
343
+ for ( _ , ( assumption, _) ) in self
346
344
. tcx ( )
347
345
. bound_explicit_item_bounds ( alias_ty. def_id )
348
346
. subst_iter_copied ( self . tcx ( ) , alias_ty. substs )
349
347
. enumerate ( )
350
348
{
351
349
match G :: consider_assumption ( self , goal, assumption) {
352
350
Ok ( result) => {
353
- candidates. push ( Candidate { source : CandidateSource :: AliasBound ( i ) , result } )
351
+ candidates. push ( Candidate { source : CandidateSource :: AliasBound ( ) , result } )
354
352
}
355
353
Err ( NoSolution ) => ( ) ,
356
354
}
0 commit comments