Skip to content

Commit af7d3e5

Browse files
committed
Remove unused Lift derives.
I found these by commenting out all `Lift` derives and then adding back the ones that were necessary to successfully compile.
1 parent 6b1980f commit af7d3e5

File tree

17 files changed

+49
-51
lines changed

17 files changed

+49
-51
lines changed

Diff for: compiler/rustc_middle/src/infer/canonical.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ use std::ops::Index;
3434
/// variables have been rewritten to "canonical vars". These are
3535
/// numbered starting from 0 in order of first appearance.
3636
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, TyDecodable, TyEncodable)]
37-
#[derive(HashStable, TypeFoldable, TypeVisitable, Lift)]
37+
#[derive(HashStable, TypeFoldable, TypeVisitable)]
3838
pub struct Canonical<'tcx, V> {
3939
pub value: V,
4040
pub max_universe: ty::UniverseIndex,
@@ -72,7 +72,7 @@ impl<'tcx> ty::TypeFoldable<TyCtxt<'tcx>> for CanonicalVarInfos<'tcx> {
7272
/// variables. You will need to supply it later to instantiate the
7373
/// canonicalized query response.
7474
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, TyDecodable, TyEncodable)]
75-
#[derive(HashStable, TypeFoldable, TypeVisitable, Lift)]
75+
#[derive(HashStable, TypeFoldable, TypeVisitable)]
7676
pub struct CanonicalVarValues<'tcx> {
7777
pub var_values: ty::GenericArgsRef<'tcx>,
7878
}
@@ -311,7 +311,7 @@ pub enum CanonicalTyVarKind {
311311
/// After we execute a query with a canonicalized key, we get back a
312312
/// `Canonical<QueryResponse<..>>`. You can use
313313
/// `instantiate_query_result` to access the data in this result.
314-
#[derive(Clone, Debug, HashStable, TypeFoldable, TypeVisitable, Lift)]
314+
#[derive(Clone, Debug, HashStable, TypeFoldable, TypeVisitable)]
315315
pub struct QueryResponse<'tcx, R> {
316316
pub var_values: CanonicalVarValues<'tcx>,
317317
pub region_constraints: QueryRegionConstraints<'tcx>,
@@ -326,7 +326,7 @@ pub struct QueryResponse<'tcx, R> {
326326
}
327327

328328
#[derive(Clone, Debug, Default, PartialEq, Eq, Hash)]
329-
#[derive(HashStable, TypeFoldable, TypeVisitable, Lift)]
329+
#[derive(HashStable, TypeFoldable, TypeVisitable)]
330330
pub struct QueryRegionConstraints<'tcx> {
331331
pub outlives: Vec<QueryOutlivesConstraint<'tcx>>,
332332
pub member_constraints: Vec<MemberConstraint<'tcx>>,

Diff for: compiler/rustc_middle/src/infer/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use rustc_span::Span;
1313
/// R0 member of [O1..On]
1414
/// ```
1515
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
16-
#[derive(HashStable, TypeFoldable, TypeVisitable, Lift)]
16+
#[derive(HashStable, TypeFoldable, TypeVisitable)]
1717
pub struct MemberConstraint<'tcx> {
1818
/// The `DefId` and args of the opaque type causing this constraint.
1919
/// Used for error reporting.

Diff for: compiler/rustc_middle/src/mir/interpret/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ pub use self::pointer::{Pointer, PointerArithmetic, Provenance};
162162
/// - A constant
163163
/// - A static
164164
#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash, TyEncodable, TyDecodable)]
165-
#[derive(HashStable, Lift, TypeFoldable, TypeVisitable)]
165+
#[derive(HashStable, TypeFoldable, TypeVisitable)]
166166
pub struct GlobalId<'tcx> {
167167
/// For a constant or static, the `Instance` of the item itself.
168168
/// For a promoted global, the `Instance` of the function they belong to.

Diff for: compiler/rustc_middle/src/mir/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -2295,7 +2295,7 @@ pub struct Constant<'tcx> {
22952295
}
22962296

22972297
#[derive(Clone, Copy, PartialEq, Eq, TyEncodable, TyDecodable, Hash, HashStable, Debug)]
2298-
#[derive(Lift, TypeFoldable, TypeVisitable)]
2298+
#[derive(TypeFoldable, TypeVisitable)]
22992299
pub enum ConstantKind<'tcx> {
23002300
/// This constant came from the type system.
23012301
///
@@ -2615,7 +2615,7 @@ impl<'tcx> ConstantKind<'tcx> {
26152615
}
26162616

26172617
/// An unevaluated (potentially generic) constant used in MIR.
2618-
#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord, TyEncodable, TyDecodable, Lift)]
2618+
#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord, TyEncodable, TyDecodable)]
26192619
#[derive(Hash, HashStable, TypeFoldable, TypeVisitable)]
26202620
pub struct UnevaluatedConst<'tcx> {
26212621
pub def: DefId,

Diff for: compiler/rustc_middle/src/mir/query.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ rustc_data_structures::static_assert_size!(ConstraintCategory<'_>, 16);
334334
///
335335
/// See also `rustc_const_eval::borrow_check::constraints`.
336336
#[derive(Copy, Clone, Debug, Eq, PartialEq, PartialOrd, Ord, Hash)]
337-
#[derive(TyEncodable, TyDecodable, HashStable, Lift, TypeVisitable, TypeFoldable)]
337+
#[derive(TyEncodable, TyDecodable, HashStable, TypeVisitable, TypeFoldable)]
338338
pub enum ConstraintCategory<'tcx> {
339339
Return(ReturnConstraint),
340340
Yield,

Diff for: compiler/rustc_middle/src/traits/mod.rs

+12-12
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ pub enum Reveal {
8686
///
8787
/// We do not want to intern this as there are a lot of obligation causes which
8888
/// only live for a short period of time.
89-
#[derive(Clone, Debug, PartialEq, Eq, Lift, HashStable, TyEncodable, TyDecodable)]
89+
#[derive(Clone, Debug, PartialEq, Eq, HashStable, TyEncodable, TyDecodable)]
9090
#[derive(TypeVisitable, TypeFoldable)]
9191
pub struct ObligationCause<'tcx> {
9292
pub span: Span,
@@ -194,15 +194,15 @@ impl<'tcx> ObligationCause<'tcx> {
194194
}
195195
}
196196

197-
#[derive(Clone, Debug, PartialEq, Eq, Lift, HashStable, TyEncodable, TyDecodable)]
197+
#[derive(Clone, Debug, PartialEq, Eq, HashStable, TyEncodable, TyDecodable)]
198198
#[derive(TypeVisitable, TypeFoldable)]
199199
pub struct UnifyReceiverContext<'tcx> {
200200
pub assoc_item: ty::AssocItem,
201201
pub param_env: ty::ParamEnv<'tcx>,
202202
pub args: GenericArgsRef<'tcx>,
203203
}
204204

205-
#[derive(Clone, PartialEq, Eq, Lift, Default, HashStable)]
205+
#[derive(Clone, PartialEq, Eq, Default, HashStable)]
206206
#[derive(TypeVisitable, TypeFoldable, TyEncodable, TyDecodable)]
207207
pub struct InternedObligationCauseCode<'tcx> {
208208
/// `None` for `ObligationCauseCode::MiscObligation` (a common case, occurs ~60% of
@@ -238,7 +238,7 @@ impl<'tcx> std::ops::Deref for InternedObligationCauseCode<'tcx> {
238238
}
239239
}
240240

241-
#[derive(Clone, Debug, PartialEq, Eq, Lift, HashStable, TyEncodable, TyDecodable)]
241+
#[derive(Clone, Debug, PartialEq, Eq, HashStable, TyEncodable, TyDecodable)]
242242
#[derive(TypeVisitable, TypeFoldable)]
243243
pub enum ObligationCauseCode<'tcx> {
244244
/// Not well classified or should be obvious from the span.
@@ -470,7 +470,7 @@ pub enum WellFormedLoc {
470470
},
471471
}
472472

473-
#[derive(Clone, Debug, PartialEq, Eq, Lift, HashStable, TyEncodable, TyDecodable)]
473+
#[derive(Clone, Debug, PartialEq, Eq, HashStable, TyEncodable, TyDecodable)]
474474
#[derive(TypeVisitable, TypeFoldable)]
475475
pub struct ImplDerivedObligationCause<'tcx> {
476476
pub derived: DerivedObligationCause<'tcx>,
@@ -531,7 +531,7 @@ impl<'tcx> ty::Lift<'tcx> for StatementAsExpression {
531531
}
532532
}
533533

534-
#[derive(Clone, Debug, PartialEq, Eq, Lift, HashStable, TyEncodable, TyDecodable)]
534+
#[derive(Clone, Debug, PartialEq, Eq, HashStable, TyEncodable, TyDecodable)]
535535
#[derive(TypeVisitable, TypeFoldable)]
536536
pub struct MatchExpressionArmCause<'tcx> {
537537
pub arm_block_id: Option<hir::HirId>,
@@ -547,7 +547,7 @@ pub struct MatchExpressionArmCause<'tcx> {
547547
}
548548

549549
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
550-
#[derive(Lift, TypeFoldable, TypeVisitable, HashStable, TyEncodable, TyDecodable)]
550+
#[derive(TypeFoldable, TypeVisitable, HashStable, TyEncodable, TyDecodable)]
551551
pub struct IfExpressionCause<'tcx> {
552552
pub then_id: hir::HirId,
553553
pub else_id: hir::HirId,
@@ -557,7 +557,7 @@ pub struct IfExpressionCause<'tcx> {
557557
pub opt_suggest_box_span: Option<Span>,
558558
}
559559

560-
#[derive(Clone, Debug, PartialEq, Eq, Lift, HashStable, TyEncodable, TyDecodable)]
560+
#[derive(Clone, Debug, PartialEq, Eq, HashStable, TyEncodable, TyDecodable)]
561561
#[derive(TypeVisitable, TypeFoldable)]
562562
pub struct DerivedObligationCause<'tcx> {
563563
/// The trait predicate of the parent obligation that led to the
@@ -570,7 +570,7 @@ pub struct DerivedObligationCause<'tcx> {
570570
pub parent_code: InternedObligationCauseCode<'tcx>,
571571
}
572572

573-
#[derive(Clone, Debug, TypeVisitable, Lift)]
573+
#[derive(Clone, Debug, TypeVisitable)]
574574
pub enum SelectionError<'tcx> {
575575
/// The trait is not implemented.
576576
Unimplemented,
@@ -593,7 +593,7 @@ pub enum SelectionError<'tcx> {
593593
OpaqueTypeAutoTraitLeakageUnknown(DefId),
594594
}
595595

596-
#[derive(Clone, Debug, TypeVisitable, Lift)]
596+
#[derive(Clone, Debug, TypeVisitable)]
597597
pub struct SelectionOutputTypeParameterMismatch<'tcx> {
598598
pub found_trait_ref: ty::PolyTraitRef<'tcx>,
599599
pub expected_trait_ref: ty::PolyTraitRef<'tcx>,
@@ -638,7 +638,7 @@ pub type SelectionResult<'tcx, T> = Result<Option<T>, SelectionError<'tcx>>;
638638
/// ### The type parameter `N`
639639
///
640640
/// See explanation on `ImplSourceUserDefinedData`.
641-
#[derive(Clone, PartialEq, Eq, TyEncodable, TyDecodable, HashStable, Lift)]
641+
#[derive(Clone, PartialEq, Eq, TyEncodable, TyDecodable, HashStable)]
642642
#[derive(TypeFoldable, TypeVisitable)]
643643
pub enum ImplSource<'tcx, N> {
644644
/// ImplSource identifying a particular impl.
@@ -704,7 +704,7 @@ impl<'tcx, N> ImplSource<'tcx, N> {
704704
/// is `Obligation`, as one might expect. During codegen, however, this
705705
/// is `()`, because codegen only requires a shallow resolution of an
706706
/// impl, and nested obligations are satisfied later.
707-
#[derive(Clone, PartialEq, Eq, TyEncodable, TyDecodable, HashStable, Lift)]
707+
#[derive(Clone, PartialEq, Eq, TyEncodable, TyDecodable, HashStable)]
708708
#[derive(TypeFoldable, TypeVisitable)]
709709
pub struct ImplSourceUserDefinedData<'tcx, N> {
710710
pub impl_def_id: DefId,

Diff for: compiler/rustc_middle/src/traits/query.rs

+8-13
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ pub mod type_op {
1717
use crate::ty::{Predicate, Ty, TyCtxt, UserType};
1818
use std::fmt;
1919

20-
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, HashStable, Lift)]
21-
#[derive(TypeFoldable, TypeVisitable)]
20+
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, HashStable, TypeFoldable, TypeVisitable)]
2221
pub struct AscribeUserType<'tcx> {
2322
pub mir_ty: Ty<'tcx>,
2423
pub user_ty: UserType<'tcx>,
@@ -30,22 +29,19 @@ pub mod type_op {
3029
}
3130
}
3231

33-
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, HashStable, Lift)]
34-
#[derive(TypeFoldable, TypeVisitable)]
32+
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, HashStable, TypeFoldable, TypeVisitable)]
3533
pub struct Eq<'tcx> {
3634
pub a: Ty<'tcx>,
3735
pub b: Ty<'tcx>,
3836
}
3937

40-
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, HashStable, Lift)]
41-
#[derive(TypeFoldable, TypeVisitable)]
38+
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, HashStable, TypeFoldable, TypeVisitable)]
4239
pub struct Subtype<'tcx> {
4340
pub sub: Ty<'tcx>,
4441
pub sup: Ty<'tcx>,
4542
}
4643

47-
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, HashStable, Lift)]
48-
#[derive(TypeFoldable, TypeVisitable)]
44+
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, HashStable, TypeFoldable, TypeVisitable)]
4945
pub struct ProvePredicate<'tcx> {
5046
pub predicate: Predicate<'tcx>,
5147
}
@@ -56,8 +52,7 @@ pub mod type_op {
5652
}
5753
}
5854

59-
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, HashStable, Lift)]
60-
#[derive(TypeFoldable, TypeVisitable)]
55+
#[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, HashStable, TypeFoldable, TypeVisitable)]
6156
pub struct Normalize<T> {
6257
pub value: T,
6358
}
@@ -101,7 +96,7 @@ impl<'tcx> From<TypeError<'tcx>> for NoSolution {
10196
}
10297
}
10398

104-
#[derive(Clone, Debug, Default, HashStable, TypeFoldable, TypeVisitable, Lift)]
99+
#[derive(Clone, Debug, Default, HashStable, TypeFoldable, TypeVisitable)]
105100
pub struct DropckOutlivesResult<'tcx> {
106101
pub kinds: Vec<GenericArg<'tcx>>,
107102
pub overflows: Vec<Ty<'tcx>>,
@@ -194,7 +189,7 @@ pub struct MethodAutoderefBadTy<'tcx> {
194189
}
195190

196191
/// Result from the `normalize_projection_ty` query.
197-
#[derive(Clone, Debug, HashStable, TypeFoldable, TypeVisitable, Lift)]
192+
#[derive(Clone, Debug, HashStable, TypeFoldable, TypeVisitable)]
198193
pub struct NormalizationResult<'tcx> {
199194
/// Result of normalization.
200195
pub normalized_ty: Ty<'tcx>,
@@ -207,7 +202,7 @@ pub struct NormalizationResult<'tcx> {
207202
/// case they are called implied bounds). They are fed to the
208203
/// `OutlivesEnv` which in turn is supplied to the region checker and
209204
/// other parts of the inference system.
210-
#[derive(Clone, Debug, TypeFoldable, TypeVisitable, Lift, HashStable)]
205+
#[derive(Clone, Debug, TypeFoldable, TypeVisitable, HashStable)]
211206
pub enum OutlivesBound<'tcx> {
212207
RegionSubRegion(ty::Region<'tcx>, ty::Region<'tcx>),
213208
RegionSubParam(ty::Region<'tcx>, ty::ParamTy),

Diff for: compiler/rustc_middle/src/ty/adjustment.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ pub enum PointerCoercion {
7676
/// At some point, of course, `Box` should move out of the compiler, in which
7777
/// case this is analogous to transforming a struct. E.g., `Box<[i32; 4]>` ->
7878
/// `Box<[i32]>` is an `Adjust::Unsize` with the target `Box<[i32]>`.
79-
#[derive(Clone, TyEncodable, TyDecodable, HashStable, TypeFoldable, TypeVisitable, Lift)]
79+
#[derive(Clone, TyEncodable, TyDecodable, HashStable, TypeFoldable, TypeVisitable)]
8080
pub struct Adjustment<'tcx> {
8181
pub kind: Adjust<'tcx>,
8282
pub target: Ty<'tcx>,
@@ -88,7 +88,7 @@ impl<'tcx> Adjustment<'tcx> {
8888
}
8989
}
9090

91-
#[derive(Clone, Debug, TyEncodable, TyDecodable, HashStable, TypeFoldable, TypeVisitable, Lift)]
91+
#[derive(Clone, Debug, TyEncodable, TyDecodable, HashStable, TypeFoldable, TypeVisitable)]
9292
pub enum Adjust<'tcx> {
9393
/// Go from ! to any type.
9494
NeverToAny,
@@ -110,7 +110,7 @@ pub enum Adjust<'tcx> {
110110
/// The target type is `U` in both cases, with the region and mutability
111111
/// being those shared by both the receiver and the returned reference.
112112
#[derive(Copy, Clone, PartialEq, Debug, TyEncodable, TyDecodable, HashStable)]
113-
#[derive(TypeFoldable, TypeVisitable, Lift)]
113+
#[derive(TypeFoldable, TypeVisitable)]
114114
pub struct OverloadedDeref<'tcx> {
115115
pub region: ty::Region<'tcx>,
116116
pub mutbl: hir::Mutability,
@@ -182,7 +182,7 @@ impl From<AutoBorrowMutability> for hir::Mutability {
182182
}
183183

184184
#[derive(Copy, Clone, PartialEq, Debug, TyEncodable, TyDecodable, HashStable)]
185-
#[derive(TypeFoldable, TypeVisitable, Lift)]
185+
#[derive(TypeFoldable, TypeVisitable)]
186186
pub enum AutoBorrow<'tcx> {
187187
/// Converts from T to &T.
188188
Ref(ty::Region<'tcx>, AutoBorrowMutability),

Diff for: compiler/rustc_middle/src/ty/consts/kind.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use rustc_hir::def_id::DefId;
88
use rustc_macros::HashStable;
99

1010
/// An unevaluated (potentially generic) constant used in the type-system.
11-
#[derive(Copy, Clone, Eq, PartialEq, PartialOrd, Ord, TyEncodable, TyDecodable, Lift)]
11+
#[derive(Copy, Clone, Eq, PartialEq, PartialOrd, Ord, TyEncodable, TyDecodable)]
1212
#[derive(Hash, HashStable, TypeFoldable, TypeVisitable)]
1313
pub struct UnevaluatedConst<'tcx> {
1414
pub def: DefId,

Diff for: compiler/rustc_middle/src/ty/error.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use std::collections::hash_map::DefaultHasher;
1111
use std::hash::{Hash, Hasher};
1212
use std::path::PathBuf;
1313

14-
#[derive(Clone, Copy, Debug, PartialEq, Eq, TypeFoldable, TypeVisitable, Lift)]
14+
#[derive(Clone, Copy, Debug, PartialEq, Eq, TypeFoldable, TypeVisitable)]
1515
pub struct ExpectedFound<T> {
1616
pub expected: T,
1717
pub found: T,
@@ -28,7 +28,7 @@ impl<T> ExpectedFound<T> {
2828
}
2929

3030
// Data structures used in type unification
31-
#[derive(Copy, Clone, Debug, TypeVisitable, Lift, PartialEq, Eq)]
31+
#[derive(Copy, Clone, Debug, TypeVisitable, PartialEq, Eq)]
3232
#[rustc_pass_by_value]
3333
pub enum TypeError<'tcx> {
3434
Mismatch,

Diff for: compiler/rustc_middle/src/ty/generic_args.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1029,7 +1029,7 @@ impl<'a, 'tcx> ArgFolder<'a, 'tcx> {
10291029
/// Stores the user-given args to reach some fully qualified path
10301030
/// (e.g., `<T>::Item` or `<T as Trait>::Item`).
10311031
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, TyEncodable, TyDecodable)]
1032-
#[derive(HashStable, TypeFoldable, TypeVisitable, Lift)]
1032+
#[derive(HashStable, TypeFoldable, TypeVisitable)]
10331033
pub struct UserArgs<'tcx> {
10341034
/// The args for the item as given by the user.
10351035
pub args: GenericArgsRef<'tcx>,
@@ -1056,7 +1056,7 @@ pub struct UserArgs<'tcx> {
10561056
/// the self type, giving `Foo<?A>`. Finally, we unify that with
10571057
/// the self type here, which contains `?A` to be `&'static u32`
10581058
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, TyEncodable, TyDecodable)]
1059-
#[derive(HashStable, TypeFoldable, TypeVisitable, Lift)]
1059+
#[derive(HashStable, TypeFoldable, TypeVisitable)]
10601060
pub struct UserSelfTy<'tcx> {
10611061
pub impl_def_id: DefId,
10621062
pub self_ty: Ty<'tcx>,

Diff for: compiler/rustc_middle/src/ty/instance.rs

+3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ use std::fmt;
1818
/// Monomorphization happens on-the-fly and no monomorphized MIR is ever created. Instead, this type
1919
/// simply couples a potentially generic `InstanceDef` with some args, and codegen and const eval
2020
/// will do all required substitution as they run.
21+
///
22+
/// Note: the `Lift` impl is currently not used by rustc, but is used by
23+
/// rustc_codegen_cranelift when the `jit` feature is enabled.
2124
#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug, TyEncodable, TyDecodable)]
2225
#[derive(HashStable, Lift, TypeFoldable, TypeVisitable)]
2326
pub struct Instance<'tcx> {

Diff for: compiler/rustc_middle/src/ty/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1510,7 +1510,7 @@ impl<'a, 'tcx> IntoIterator for &'a InstantiatedPredicates<'tcx> {
15101510
}
15111511
}
15121512

1513-
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, HashStable, TyEncodable, TyDecodable, Lift)]
1513+
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, HashStable, TyEncodable, TyDecodable)]
15141514
#[derive(TypeFoldable, TypeVisitable)]
15151515
pub struct OpaqueTypeKey<'tcx> {
15161516
pub def_id: LocalDefId,
@@ -1793,7 +1793,7 @@ impl<'tcx> ParamEnv<'tcx> {
17931793
}
17941794

17951795
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, TypeFoldable, TypeVisitable)]
1796-
#[derive(HashStable, Lift)]
1796+
#[derive(HashStable)]
17971797
pub struct ParamEnvAnd<'tcx, T> {
17981798
pub param_env: ParamEnv<'tcx>,
17991799
pub value: T,

Diff for: compiler/rustc_middle/src/ty/sty.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ impl<'tcx> ClosureArgs<'tcx> {
351351
}
352352

353353
/// Similar to `ClosureArgs`; see the above documentation for more.
354-
#[derive(Copy, Clone, PartialEq, Eq, Debug, TypeFoldable, TypeVisitable, Lift)]
354+
#[derive(Copy, Clone, PartialEq, Eq, Debug, TypeFoldable, TypeVisitable)]
355355
pub struct GeneratorArgs<'tcx> {
356356
pub args: GenericArgsRef<'tcx>,
357357
}
@@ -1305,7 +1305,7 @@ impl<'tcx> AliasTy<'tcx> {
13051305
}
13061306
}
13071307

1308-
#[derive(Copy, Clone, Debug, TypeFoldable, TypeVisitable, Lift)]
1308+
#[derive(Copy, Clone, Debug, TypeFoldable, TypeVisitable)]
13091309
pub struct GenSig<'tcx> {
13101310
pub resume_ty: Ty<'tcx>,
13111311
pub yield_ty: Ty<'tcx>,

0 commit comments

Comments
 (0)