@@ -334,27 +334,27 @@ pub type TraitObligations<'tcx> = Vec<TraitObligation<'tcx>>;
334
334
/// are used for representing the trait system in the form of
335
335
/// logic programming clauses. They are part of the interface
336
336
/// for the chalk SLG solver.
337
- #[ derive( Clone , Copy , PartialEq , Eq , Hash , Debug , HashStable , TypeFoldable ) ]
337
+ #[ derive( Clone , Copy , PartialEq , Eq , Hash , Debug , HashStable , TypeFoldable , Lift ) ]
338
338
pub enum WhereClause < ' tcx > {
339
339
Implemented ( ty:: TraitPredicate < ' tcx > ) ,
340
340
ProjectionEq ( ty:: ProjectionPredicate < ' tcx > ) ,
341
341
RegionOutlives ( ty:: RegionOutlivesPredicate < ' tcx > ) ,
342
342
TypeOutlives ( ty:: TypeOutlivesPredicate < ' tcx > ) ,
343
343
}
344
344
345
- #[ derive( Clone , Copy , PartialEq , Eq , Hash , Debug , HashStable , TypeFoldable ) ]
345
+ #[ derive( Clone , Copy , PartialEq , Eq , Hash , Debug , HashStable , TypeFoldable , Lift ) ]
346
346
pub enum WellFormed < ' tcx > {
347
347
Trait ( ty:: TraitPredicate < ' tcx > ) ,
348
348
Ty ( Ty < ' tcx > ) ,
349
349
}
350
350
351
- #[ derive( Clone , Copy , PartialEq , Eq , Hash , Debug , HashStable , TypeFoldable ) ]
351
+ #[ derive( Clone , Copy , PartialEq , Eq , Hash , Debug , HashStable , TypeFoldable , Lift ) ]
352
352
pub enum FromEnv < ' tcx > {
353
353
Trait ( ty:: TraitPredicate < ' tcx > ) ,
354
354
Ty ( Ty < ' tcx > ) ,
355
355
}
356
356
357
- #[ derive( Clone , Copy , PartialEq , Eq , Hash , Debug , HashStable , TypeFoldable ) ]
357
+ #[ derive( Clone , Copy , PartialEq , Eq , Hash , Debug , HashStable , TypeFoldable , Lift ) ]
358
358
pub enum DomainGoal < ' tcx > {
359
359
Holds ( WhereClause < ' tcx > ) ,
360
360
WellFormed ( WellFormed < ' tcx > ) ,
@@ -370,7 +370,7 @@ pub enum QuantifierKind {
370
370
Existential ,
371
371
}
372
372
373
- #[ derive( Copy , Clone , PartialEq , Eq , Hash , Debug , HashStable , TypeFoldable ) ]
373
+ #[ derive( Copy , Clone , PartialEq , Eq , Hash , Debug , HashStable , TypeFoldable , Lift ) ]
374
374
pub enum GoalKind < ' tcx > {
375
375
Implies ( Clauses < ' tcx > , Goal < ' tcx > ) ,
376
376
And ( Goal < ' tcx > , Goal < ' tcx > ) ,
0 commit comments