@@ -6,8 +6,8 @@ use rustc_infer::infer::InferCtxt;
66use  rustc_infer:: traits:: query:: NoSolution ; 
77use  rustc_infer:: traits:: solve:: { CandidateSource ,  GoalSource ,  MaybeCause } ; 
88use  rustc_infer:: traits:: { 
9-     self ,  FromSolverError ,  FulfillmentErrorLike ,   MismatchedProjectionTypes ,  Obligation , 
10-     ObligationCause ,   ObligationCauseCode ,  PredicateObligation ,  SelectionError ,  TraitEngine , 
9+     self ,  FromSolverError ,  MismatchedProjectionTypes ,  Obligation ,   ObligationCause , 
10+     ObligationCauseCode ,  PredicateObligation ,  SelectionError ,  TraitEngine , 
1111} ; 
1212use  rustc_middle:: bug; 
1313use  rustc_middle:: ty:: error:: { ExpectedFound ,  TypeError } ; 
@@ -31,7 +31,7 @@ use super::{Certainty, InferCtxtEvalExt};
3131/// 
3232/// It is also likely that we want to use slightly different datastructures 
3333/// here as this will have to deal with far more root goals than `evaluate_all`. 
34- pub  struct  FulfillmentCtxt < ' tcx ,  E :  FulfillmentErrorLike < ' tcx > >  { 
34+ pub  struct  FulfillmentCtxt < ' tcx ,  E :  ' tcx >  { 
3535    obligations :  ObligationStorage < ' tcx > , 
3636
3737    /// The snapshot in which this context was created. Using the context 
@@ -93,7 +93,7 @@ impl<'tcx> ObligationStorage<'tcx> {
9393    } 
9494} 
9595
96- impl < ' tcx ,  E :  FulfillmentErrorLike < ' tcx > >  FulfillmentCtxt < ' tcx ,  E >  { 
96+ impl < ' tcx ,  E :  ' tcx >  FulfillmentCtxt < ' tcx ,  E >  { 
9797    pub  fn  new ( infcx :  & InferCtxt < ' tcx > )  -> FulfillmentCtxt < ' tcx ,  E >  { 
9898        assert ! ( 
9999            infcx. next_trait_solver( ) , 
@@ -123,8 +123,9 @@ impl<'tcx, E: FulfillmentErrorLike<'tcx>> FulfillmentCtxt<'tcx, E> {
123123    } 
124124} 
125125
126- impl < ' tcx ,  E :  FromSolverError < ' tcx ,  NextSolverError < ' tcx > > >  TraitEngine < ' tcx ,  E > 
127-     for  FulfillmentCtxt < ' tcx ,  E > 
126+ impl < ' tcx ,  E >  TraitEngine < ' tcx ,  E >  for  FulfillmentCtxt < ' tcx ,  E > 
127+ where 
128+     E :  FromSolverError < ' tcx ,  NextSolverError < ' tcx > > , 
128129{ 
129130    #[ instrument( level = "trace" ,  skip( self ,  infcx) ) ]  
130131    fn  register_predicate_obligation ( 
0 commit comments