@@ -11,11 +11,11 @@ use rustc_infer::infer::{
11
11
use rustc_infer:: traits:: query:: NoSolution ;
12
12
use rustc_infer:: traits:: solve:: { MaybeCause , NestedNormalizationGoals } ;
13
13
use rustc_infer:: traits:: ObligationCause ;
14
- use rustc_macros:: { extension, HashStable } ;
14
+ use rustc_macros:: { extension, HashStable , HashStable_NoContext , TyDecodable , TyEncodable } ;
15
15
use rustc_middle:: bug;
16
16
use rustc_middle:: infer:: canonical:: CanonicalVarInfos ;
17
17
use rustc_middle:: traits:: solve:: {
18
- inspect, CanonicalInput , CanonicalResponse , Certainty , NestedGoals , PredefinedOpaques ,
18
+ inspect, CanonicalInput , CanonicalResponse , Certainty , PredefinedOpaques ,
19
19
PredefinedOpaquesData , QueryResult ,
20
20
} ;
21
21
use rustc_middle:: traits:: specialization_graph;
@@ -25,6 +25,8 @@ use rustc_middle::ty::{
25
25
} ;
26
26
use rustc_session:: config:: DumpSolverProofTree ;
27
27
use 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 } ;
28
30
29
31
use crate :: traits:: coherence;
30
32
use crate :: traits:: vtable:: { count_own_vtable_entries, prepare_vtable_segments, VtblSegment } ;
@@ -101,7 +103,7 @@ pub struct EvalCtxt<'a, 'tcx> {
101
103
#[ derive( derivative:: Derivative ) ]
102
104
#[ derivative( Clone ( bound = "" ) , Debug ( bound = "" ) , Default ( bound = "" ) ) ]
103
105
#[ derive( TypeVisitable_Generic , TypeFoldable_Generic , Lift_Generic ) ]
104
- #[ cfg_attr ( feature = "nightly" , derive( TyDecodable , TyEncodable , HashStable_NoContext ) ) ]
106
+ #[ derive( TyDecodable , TyEncodable , HashStable_NoContext ) ]
105
107
// FIXME: This can be made crate-private once `EvalCtxt` also lives in this crate.
106
108
pub struct NestedGoals < I : Interner > {
107
109
/// These normalizes-to goals are treated specially during the evaluation
@@ -114,9 +116,9 @@ pub struct NestedGoals<I: Interner> {
114
116
///
115
117
/// Forgetting to replace the RHS with a fresh inference variable when we evaluate
116
118
/// 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 > > > ,
118
120
/// 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 > ) > ,
120
122
}
121
123
122
124
impl < I : Interner > NestedGoals < I > {
0 commit comments