mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-26 13:01:27 +03:00
Updates derive_where and removes workaround
This commit is contained in:
+2
-2
@@ -1140,9 +1140,9 @@ version = "0.1.96"
|
||||
|
||||
[[package]]
|
||||
name = "derive-where"
|
||||
version = "1.6.0"
|
||||
version = "1.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ef941ded77d15ca19b40374869ac6000af1c9f2a4c0f3d4c70926287e6364a8f"
|
||||
checksum = "d08b3a0bcc0d079199cd476b2cae8435016ec11d1c0986c6901c5ac223041534"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
||||
@@ -7,7 +7,7 @@ edition = "2024"
|
||||
# tidy-alphabetical-start
|
||||
arrayvec = { version = "0.7", default-features = false }
|
||||
bitflags = "2.4.1"
|
||||
derive-where = "1.2.7"
|
||||
derive-where = "1.6.1"
|
||||
ena = "0.14.4"
|
||||
indexmap = "2.0.0"
|
||||
rustc-hash = "2.0.0"
|
||||
|
||||
@@ -26,11 +26,7 @@
|
||||
/// for more details.
|
||||
///
|
||||
/// `Decodable` and `Encodable` are implemented for `Binder<T>` using the `impl_binder_encode_decode!` macro.
|
||||
// FIXME(derive-where#136): Need to use separate `derive_where` for
|
||||
// `Copy` and `Ord` to prevent the emitted `Clone` and `PartialOrd`
|
||||
// impls from incorrectly relying on `T: Copy` and `T: Ord`.
|
||||
#[derive_where(Copy; I: Interner, T: Copy)]
|
||||
#[derive_where(Clone, Hash, PartialEq, Debug; I: Interner, T)]
|
||||
#[derive_where(Clone, Copy, Hash, PartialEq, Debug; I: Interner, T)]
|
||||
#[derive(GenericTypeVisitable)]
|
||||
#[cfg_attr(feature = "nightly", derive(HashStable_NoContext))]
|
||||
pub struct Binder<I: Interner, T> {
|
||||
@@ -365,12 +361,7 @@ fn visit_region(&mut self, r: I::Region) -> Self::Result {
|
||||
/// `instantiate`.
|
||||
///
|
||||
/// See <https://rustc-dev-guide.rust-lang.org/ty_module/early_binder.html> for more details.
|
||||
// FIXME(derive-where#136): Need to use separate `derive_where` for
|
||||
// `Copy` and `Ord` to prevent the emitted `Clone` and `PartialOrd`
|
||||
// impls from incorrectly relying on `T: Copy` and `T: Ord`.
|
||||
#[derive_where(Ord; I: Interner, T: Ord)]
|
||||
#[derive_where(Copy; I: Interner, T: Copy)]
|
||||
#[derive_where(Clone, PartialOrd, PartialEq, Hash, Debug; I: Interner, T)]
|
||||
#[derive_where(Clone, Copy, PartialOrd, Ord, PartialEq, Hash, Debug; I: Interner, T)]
|
||||
#[derive(GenericTypeVisitable)]
|
||||
#[cfg_attr(
|
||||
feature = "nightly",
|
||||
@@ -964,12 +955,7 @@ pub enum BoundVarIndexKind {
|
||||
/// The "placeholder index" fully defines a placeholder region, type, or const. Placeholders are
|
||||
/// identified by both a universe, as well as a name residing within that universe. Distinct bound
|
||||
/// regions/types/consts within the same universe simply have an unknown relationship to one
|
||||
// FIXME(derive-where#136): Need to use separate `derive_where` for
|
||||
// `Copy` and `Ord` to prevent the emitted `Clone` and `PartialOrd`
|
||||
// impls from incorrectly relying on `T: Copy` and `T: Ord`.
|
||||
#[derive_where(Ord; I: Interner, T: Ord)]
|
||||
#[derive_where(Copy; I: Interner, T: Copy)]
|
||||
#[derive_where(Clone, PartialOrd, PartialEq, Eq, Hash; I: Interner, T)]
|
||||
#[derive_where(Clone, Copy, PartialOrd, Ord, PartialEq, Eq, Hash; I: Interner, T)]
|
||||
#[derive(TypeVisitable_Generic, TypeFoldable_Generic)]
|
||||
#[cfg_attr(
|
||||
feature = "nightly",
|
||||
|
||||
Reference in New Issue
Block a user