@@ -11,11 +11,11 @@ use rustc_infer::infer::{
1111use rustc_infer:: traits:: query:: NoSolution ;
1212use rustc_infer:: traits:: solve:: { MaybeCause , NestedNormalizationGoals } ;
1313use rustc_infer:: traits:: ObligationCause ;
14- use rustc_macros:: { extension, HashStable } ;
14+ use rustc_macros:: { extension, HashStable , HashStable_NoContext , TyDecodable , TyEncodable } ;
1515use rustc_middle:: bug;
1616use rustc_middle:: infer:: canonical:: CanonicalVarInfos ;
1717use rustc_middle:: traits:: solve:: {
18- inspect, CanonicalInput , CanonicalResponse , Certainty , NestedGoals , PredefinedOpaques ,
18+ inspect, CanonicalInput , CanonicalResponse , Certainty , PredefinedOpaques ,
1919 PredefinedOpaquesData , QueryResult ,
2020} ;
2121use rustc_middle:: traits:: specialization_graph;
@@ -25,6 +25,8 @@ use rustc_middle::ty::{
2525} ;
2626use rustc_session:: config:: DumpSolverProofTree ;
2727use rustc_span:: DUMMY_SP ;
28+ use rustc_type_ir:: { self as ir, Interner } ;
29+ use rustc_type_ir_macros:: { Lift_Generic , TypeFoldable_Generic , TypeVisitable_Generic } ;
2830
2931use crate :: traits:: coherence;
3032use crate :: traits:: vtable:: { count_own_vtable_entries, prepare_vtable_segments, VtblSegment } ;
@@ -101,7 +103,7 @@ pub struct EvalCtxt<'a, 'tcx> {
101103#[ derive( derivative:: Derivative ) ]
102104#[ derivative( Clone ( bound = "" ) , Debug ( bound = "" ) , Default ( bound = "" ) ) ]
103105#[ derive( TypeVisitable_Generic , TypeFoldable_Generic , Lift_Generic ) ]
104- #[ cfg_attr ( feature = "nightly" , derive( TyDecodable , TyEncodable , HashStable_NoContext ) ) ]
106+ #[ derive( TyDecodable , TyEncodable , HashStable_NoContext ) ]
105107// FIXME: This can be made crate-private once `EvalCtxt` also lives in this crate.
106108pub struct NestedGoals < I : Interner > {
107109 /// These normalizes-to goals are treated specially during the evaluation
@@ -114,9 +116,9 @@ pub struct NestedGoals<I: Interner> {
114116 ///
115117 /// Forgetting to replace the RHS with a fresh inference variable when we evaluate
116118 /// this goal results in an ICE..
117- pub normalizes_to_goals : Vec < Goal < I , NormalizesTo < I > > > ,
119+ pub normalizes_to_goals : Vec < ir :: solve :: Goal < I , ir :: NormalizesTo < I > > > ,
118120 /// The rest of the goals which have not yet processed or remain ambiguous.
119- pub goals : Vec < ( GoalSource , Goal < I , I :: Predicate > ) > ,
121+ pub goals : Vec < ( GoalSource , ir :: solve :: Goal < I , I :: Predicate > ) > ,
120122}
121123
122124impl < I : Interner > NestedGoals < I > {
0 commit comments