diff options
| author | Pavel Grigorenko <GrigorenkoPV@ya.ru> | 2024-06-27 01:29:49 +0300 |
|---|---|---|
| committer | Pavel Grigorenko <GrigorenkoPV@ya.ru> | 2024-07-12 21:33:02 +0300 |
| commit | fd16a0efeb3ae37960daeb9d5bd3600a1632c16f (patch) | |
| tree | 447df97f8e8ce38200d16b195a58a4f296f21948 | |
| parent | 5d76a13bbedebd773b4960432bff14f40acf3840 (diff) | |
| download | rust-fd16a0efeb3ae37960daeb9d5bd3600a1632c16f.tar.gz rust-fd16a0efeb3ae37960daeb9d5bd3600a1632c16f.zip | |
rustc_middle: derivative -> derive-where
| -rw-r--r-- | Cargo.lock | 13 | ||||
| -rw-r--r-- | compiler/rustc_middle/Cargo.toml | 2 | ||||
| -rw-r--r-- | compiler/rustc_middle/src/mir/query.rs | 13 |
3 files changed, 17 insertions, 11 deletions
diff --git a/Cargo.lock b/Cargo.lock index eba4eed3686..66007b2b6fe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1058,6 +1058,17 @@ dependencies = [ ] [[package]] +name = "derive-where" +version = "1.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.67", +] + +[[package]] name = "derive_builder" version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -4348,7 +4359,7 @@ name = "rustc_middle" version = "0.0.0" dependencies = [ "bitflags 2.5.0", - "derivative", + "derive-where", "either", "field-offset", "gsgdt", diff --git a/compiler/rustc_middle/Cargo.toml b/compiler/rustc_middle/Cargo.toml index 3dc592980fd..30f26d563ad 100644 --- a/compiler/rustc_middle/Cargo.toml +++ b/compiler/rustc_middle/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" [dependencies] # tidy-alphabetical-start bitflags = "2.4.1" -derivative = "2.2.0" +derive-where = "1.2.7" either = "1.5.0" field-offset = "0.3.5" gsgdt = "0.1.2" diff --git a/compiler/rustc_middle/src/mir/query.rs b/compiler/rustc_middle/src/mir/query.rs index cd8e28522ec..acf4414c4d6 100644 --- a/compiler/rustc_middle/src/mir/query.rs +++ b/compiler/rustc_middle/src/mir/query.rs @@ -2,6 +2,7 @@ use crate::mir; use crate::ty::{self, CoroutineArgsExt, OpaqueHiddenType, Ty, TyCtxt}; +use derive_where::derive_where; use rustc_data_structures::fx::FxIndexMap; use rustc_errors::ErrorGuaranteed; use rustc_hir::def_id::LocalDefId; @@ -224,13 +225,7 @@ rustc_data_structures::static_assert_size!(ConstraintCategory<'_>, 16); /// See also `rustc_const_eval::borrow_check::constraints`. #[derive(Copy, Clone, Debug, Eq, PartialEq, Hash)] #[derive(TyEncodable, TyDecodable, HashStable, TypeVisitable, TypeFoldable)] -#[derive(derivative::Derivative)] -#[derivative( - PartialOrd, - Ord, - PartialOrd = "feature_allow_slow_enum", - Ord = "feature_allow_slow_enum" -)] +#[derive_where(PartialOrd, Ord)] pub enum ConstraintCategory<'tcx> { Return(ReturnConstraint), Yield, @@ -240,7 +235,7 @@ pub enum ConstraintCategory<'tcx> { Cast { /// Whether this is an unsizing cast and if yes, this contains the target type. /// Region variables are erased to ReErased. - #[derivative(PartialOrd = "ignore", Ord = "ignore")] + #[derive_where(skip)] unsize_to: Option<Ty<'tcx>>, }, @@ -250,7 +245,7 @@ pub enum ConstraintCategory<'tcx> { ClosureBounds, /// Contains the function type if available. - CallArgument(#[derivative(PartialOrd = "ignore", Ord = "ignore")] Option<Ty<'tcx>>), + CallArgument(#[derive_where(skip)] Option<Ty<'tcx>>), CopyBound, SizedBound, Assignment, |
