From 8ff5e3cf99f93f80b7d0c1cf2a6cf859a8dda563 Mon Sep 17 00:00:00 2001 From: Jacob Pratt <jacob@jhpratt.dev> Date: Mon, 11 Apr 2022 21:40:31 -0400 Subject: [PATCH 1/6] Bump stdarch --- library/stdarch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/stdarch b/library/stdarch index bcbe010614f39..d215afe9d1cf7 160000 --- a/library/stdarch +++ b/library/stdarch @@ -1 +1 @@ -Subproject commit bcbe010614f398ec86f3a9274d22e33e5f2ee60b +Subproject commit d215afe9d1cf79c5edb0dfd3cdf4c50aca1f1760 From 4fbe73e0b79afb9e2b352438bac743104f0d2ba6 Mon Sep 17 00:00:00 2001 From: Jacob Pratt <jacob@jhpratt.dev> Date: Thu, 7 Apr 2022 21:20:32 -0400 Subject: [PATCH 2/6] Remove use of `#[rustc_deprecated]` --- library/alloc/src/slice.rs | 2 +- library/core/src/alloc/layout.rs | 4 +- library/core/src/alloc/mod.rs | 4 +- library/core/src/array/iter.rs | 2 +- library/core/src/fmt/mod.rs | 6 +- library/core/src/hash/sip.rs | 31 ++++------ library/core/src/intrinsics.rs | 5 +- library/core/src/macros/mod.rs | 12 +--- library/core/src/mem/mod.rs | 6 +- library/core/src/num/f32.rs | 54 +++++------------ library/core/src/num/f64.rs | 58 ++++++------------- library/core/src/num/int_macros.rs | 4 +- library/core/src/num/shells/i128.rs | 4 +- library/core/src/num/shells/i16.rs | 4 +- library/core/src/num/shells/i32.rs | 4 +- library/core/src/num/shells/i64.rs | 4 +- library/core/src/num/shells/i8.rs | 4 +- library/core/src/num/shells/int_macros.rs | 4 +- library/core/src/num/shells/isize.rs | 4 +- library/core/src/num/shells/u128.rs | 4 +- library/core/src/num/shells/u16.rs | 4 +- library/core/src/num/shells/u32.rs | 4 +- library/core/src/num/shells/u64.rs | 4 +- library/core/src/num/shells/u8.rs | 4 +- library/core/src/num/shells/usize.rs | 4 +- library/core/src/num/uint_macros.rs | 4 +- library/core/src/str/iter.rs | 2 +- library/core/src/str/mod.rs | 26 +++------ library/core/src/sync/atomic.rs | 22 +++---- library/std/src/ascii.rs | 2 +- library/std/src/collections/mod.rs | 2 +- library/std/src/env.rs | 6 +- library/std/src/error.rs | 6 +- library/std/src/f32.rs | 16 ++--- library/std/src/f64.rs | 16 ++--- library/std/src/fs.rs | 6 +- library/std/src/net/tcp.rs | 10 +--- library/std/src/os/android/fs.rs | 6 +- library/std/src/os/android/raw.rs | 10 ++-- library/std/src/os/dragonfly/fs.rs | 6 +- library/std/src/os/dragonfly/raw.rs | 10 ++-- library/std/src/os/emscripten/fs.rs | 6 +- library/std/src/os/emscripten/raw.rs | 10 ++-- library/std/src/os/espidf/fs.rs | 6 +- library/std/src/os/espidf/raw.rs | 10 ++-- library/std/src/os/freebsd/fs.rs | 6 +- library/std/src/os/freebsd/raw.rs | 10 ++-- library/std/src/os/fuchsia/raw.rs | 10 ++-- library/std/src/os/haiku/fs.rs | 6 +- library/std/src/os/haiku/raw.rs | 10 ++-- library/std/src/os/illumos/fs.rs | 4 +- library/std/src/os/illumos/raw.rs | 4 +- library/std/src/os/ios/fs.rs | 6 +- library/std/src/os/ios/raw.rs | 10 ++-- library/std/src/os/l4re/fs.rs | 2 +- library/std/src/os/l4re/raw.rs | 10 ++-- library/std/src/os/linux/fs.rs | 2 +- library/std/src/os/linux/raw.rs | 10 ++-- library/std/src/os/macos/fs.rs | 6 +- library/std/src/os/macos/raw.rs | 10 ++-- library/std/src/os/netbsd/fs.rs | 6 +- library/std/src/os/netbsd/raw.rs | 10 ++-- library/std/src/os/openbsd/fs.rs | 6 +- library/std/src/os/openbsd/raw.rs | 10 ++-- library/std/src/os/redox/fs.rs | 6 +- library/std/src/os/redox/raw.rs | 10 ++-- library/std/src/os/solaris/fs.rs | 6 +- library/std/src/os/solaris/raw.rs | 10 ++-- library/std/src/os/unix/process.rs | 2 +- library/std/src/os/unix/raw.rs | 10 ++-- library/std/src/sync/condvar.rs | 2 +- library/std/src/sync/once.rs | 4 +- library/std/src/thread/mod.rs | 4 +- .../rustdoc/inline_cross/auxiliary/macros.rs | 5 +- src/test/rustdoc/issue-32374.rs | 4 +- src/test/rustdoc/rustc_deprecated-future.rs | 5 +- .../ui/deprecation/deprecation-in-future.rs | 2 +- 77 files changed, 274 insertions(+), 356 deletions(-) diff --git a/library/alloc/src/slice.rs b/library/alloc/src/slice.rs index 31edbe0c5afd5..68785c791590e 100644 --- a/library/alloc/src/slice.rs +++ b/library/alloc/src/slice.rs @@ -657,7 +657,7 @@ impl<T> [T] { /// ``` #[rustc_allow_incoherent_impl] #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated(since = "1.3.0", reason = "renamed to join")] + #[deprecated(since = "1.3.0", note = "renamed to join")] pub fn connect<Separator>(&self, sep: Separator) -> <Self as Join<Separator>>::Output where Self: Join<Separator>, diff --git a/library/core/src/alloc/layout.rs b/library/core/src/alloc/layout.rs index 6ec178b7bd5ea..cf864039a23ba 100644 --- a/library/core/src/alloc/layout.rs +++ b/library/core/src/alloc/layout.rs @@ -419,9 +419,9 @@ impl Layout { } #[stable(feature = "alloc_layout", since = "1.28.0")] -#[rustc_deprecated( +#[deprecated( since = "1.52.0", - reason = "Name does not follow std convention, use LayoutError", + note = "Name does not follow std convention, use LayoutError", suggestion = "LayoutError" )] pub type LayoutErr = LayoutError; diff --git a/library/core/src/alloc/mod.rs b/library/core/src/alloc/mod.rs index 242725b96bd90..a034562d13ab7 100644 --- a/library/core/src/alloc/mod.rs +++ b/library/core/src/alloc/mod.rs @@ -10,9 +10,9 @@ pub use self::global::GlobalAlloc; #[stable(feature = "alloc_layout", since = "1.28.0")] pub use self::layout::Layout; #[stable(feature = "alloc_layout", since = "1.28.0")] -#[rustc_deprecated( +#[deprecated( since = "1.52.0", - reason = "Name does not follow std convention, use LayoutError", + note = "Name does not follow std convention, use LayoutError", suggestion = "LayoutError" )] #[allow(deprecated, deprecated_in_future)] diff --git a/library/core/src/array/iter.rs b/library/core/src/array/iter.rs index e5024c215be9c..5cecc4086d8f3 100644 --- a/library/core/src/array/iter.rs +++ b/library/core/src/array/iter.rs @@ -79,7 +79,7 @@ impl<T, const N: usize> IntoIterator for [T; N] { impl<T, const N: usize> IntoIter<T, N> { /// Creates a new iterator over the given `array`. #[stable(feature = "array_value_iter", since = "1.51.0")] - #[rustc_deprecated(since = "1.59.0", reason = "use `IntoIterator::into_iter` instead")] + #[deprecated(since = "1.59.0", note = "use `IntoIterator::into_iter` instead")] pub fn new(array: [T; N]) -> Self { IntoIterator::into_iter(array) } diff --git a/library/core/src/fmt/mod.rs b/library/core/src/fmt/mod.rs index fac959ac7347d..8a3605436e77c 100644 --- a/library/core/src/fmt/mod.rs +++ b/library/core/src/fmt/mod.rs @@ -1651,10 +1651,10 @@ impl<'a> Formatter<'a> { /// Flags for formatting #[must_use] #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated( + #[deprecated( since = "1.24.0", - reason = "use the `sign_plus`, `sign_minus`, `alternate`, \ - or `sign_aware_zero_pad` methods instead" + note = "use the `sign_plus`, `sign_minus`, `alternate`, \ + or `sign_aware_zero_pad` methods instead" )] pub fn flags(&self) -> u32 { self.flags diff --git a/library/core/src/hash/sip.rs b/library/core/src/hash/sip.rs index b9443e30074b0..d153a296e3690 100644 --- a/library/core/src/hash/sip.rs +++ b/library/core/src/hash/sip.rs @@ -14,10 +14,7 @@ use crate::ptr; /// /// See: <https://131002.net/siphash> #[unstable(feature = "hashmap_internals", issue = "none")] -#[rustc_deprecated( - since = "1.13.0", - reason = "use `std::collections::hash_map::DefaultHasher` instead" -)] +#[deprecated(since = "1.13.0", note = "use `std::collections::hash_map::DefaultHasher` instead")] #[derive(Debug, Clone, Default)] #[doc(hidden)] pub struct SipHasher13 { @@ -28,10 +25,7 @@ pub struct SipHasher13 { /// /// See: <https://131002.net/siphash/> #[unstable(feature = "hashmap_internals", issue = "none")] -#[rustc_deprecated( - since = "1.13.0", - reason = "use `std::collections::hash_map::DefaultHasher` instead" -)] +#[deprecated(since = "1.13.0", note = "use `std::collections::hash_map::DefaultHasher` instead")] #[derive(Debug, Clone, Default)] struct SipHasher24 { hasher: Hasher<Sip24Rounds>, @@ -50,10 +44,7 @@ struct SipHasher24 { /// it is not intended for cryptographic purposes. As such, all /// cryptographic uses of this implementation are _strongly discouraged_. #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "1.13.0", - reason = "use `std::collections::hash_map::DefaultHasher` instead" -)] +#[deprecated(since = "1.13.0", note = "use `std::collections::hash_map::DefaultHasher` instead")] #[derive(Debug, Clone, Default)] pub struct SipHasher(SipHasher24); @@ -153,9 +144,9 @@ impl SipHasher { /// Creates a new `SipHasher` with the two initial keys set to 0. #[inline] #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated( + #[deprecated( since = "1.13.0", - reason = "use `std::collections::hash_map::DefaultHasher` instead" + note = "use `std::collections::hash_map::DefaultHasher` instead" )] #[must_use] pub fn new() -> SipHasher { @@ -165,9 +156,9 @@ impl SipHasher { /// Creates a `SipHasher` that is keyed off the provided keys. #[inline] #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated( + #[deprecated( since = "1.13.0", - reason = "use `std::collections::hash_map::DefaultHasher` instead" + note = "use `std::collections::hash_map::DefaultHasher` instead" )] #[must_use] pub fn new_with_keys(key0: u64, key1: u64) -> SipHasher { @@ -179,9 +170,9 @@ impl SipHasher13 { /// Creates a new `SipHasher13` with the two initial keys set to 0. #[inline] #[unstable(feature = "hashmap_internals", issue = "none")] - #[rustc_deprecated( + #[deprecated( since = "1.13.0", - reason = "use `std::collections::hash_map::DefaultHasher` instead" + note = "use `std::collections::hash_map::DefaultHasher` instead" )] pub fn new() -> SipHasher13 { SipHasher13::new_with_keys(0, 0) @@ -190,9 +181,9 @@ impl SipHasher13 { /// Creates a `SipHasher13` that is keyed off the provided keys. #[inline] #[unstable(feature = "hashmap_internals", issue = "none")] - #[rustc_deprecated( + #[deprecated( since = "1.13.0", - reason = "use `std::collections::hash_map::DefaultHasher` instead" + note = "use `std::collections::hash_map::DefaultHasher` instead" )] pub fn new_with_keys(key0: u64, key1: u64) -> SipHasher13 { SipHasher13 { hasher: Hasher::new_with_keys(key0, key1) } diff --git a/library/core/src/intrinsics.rs b/library/core/src/intrinsics.rs index 8e02ca8431744..ec2412dc3486f 100644 --- a/library/core/src/intrinsics.rs +++ b/library/core/src/intrinsics.rs @@ -63,10 +63,7 @@ use crate::mem; use crate::sync::atomic::{self, AtomicBool, AtomicI32, AtomicIsize, AtomicU32, Ordering}; #[stable(feature = "drop_in_place", since = "1.8.0")] -#[rustc_deprecated( - reason = "no longer an intrinsic - use `ptr::drop_in_place` directly", - since = "1.52.0" -)] +#[deprecated(note = "no longer an intrinsic - use `ptr::drop_in_place` directly", since = "1.52.0")] #[inline] pub unsafe fn drop_in_place<T: ?Sized>(to_drop: *mut T) { // SAFETY: see `ptr::drop_in_place` diff --git a/library/core/src/macros/mod.rs b/library/core/src/macros/mod.rs index 83f33ca007af1..7b39f8b723bf2 100644 --- a/library/core/src/macros/mod.rs +++ b/library/core/src/macros/mod.rs @@ -410,7 +410,7 @@ macro_rules! matches { /// ``` #[macro_export] #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "1.39.0", reason = "use the `?` operator instead")] +#[deprecated(since = "1.39.0", note = "use the `?` operator instead")] #[doc(alias = "?")] macro_rules! r#try { ($expr:expr $(,)?) => { @@ -1534,10 +1534,7 @@ pub(crate) mod builtin { #[rustc_builtin_macro] #[stable(feature = "rust1", since = "1.0.0")] #[allow_internal_unstable(core_intrinsics, libstd_sys_internals)] - #[rustc_deprecated( - since = "1.52.0", - reason = "rustc-serialize is deprecated and no longer supported" - )] + #[deprecated(since = "1.52.0", note = "rustc-serialize is deprecated and no longer supported")] #[doc(hidden)] // While technically stable, using it is unstable, and deprecated. Hide it. pub macro RustcDecodable($item:item) { /* compiler built-in */ @@ -1547,10 +1544,7 @@ pub(crate) mod builtin { #[rustc_builtin_macro] #[stable(feature = "rust1", since = "1.0.0")] #[allow_internal_unstable(core_intrinsics)] - #[rustc_deprecated( - since = "1.52.0", - reason = "rustc-serialize is deprecated and no longer supported" - )] + #[deprecated(since = "1.52.0", note = "rustc-serialize is deprecated and no longer supported")] #[doc(hidden)] // While technically stable, using it is unstable, and deprecated. Hide it. pub macro RustcEncodable($item:item) { /* compiler built-in */ diff --git a/library/core/src/mem/mod.rs b/library/core/src/mem/mod.rs index 712d06f217034..4ce7c8c2b607b 100644 --- a/library/core/src/mem/mod.rs +++ b/library/core/src/mem/mod.rs @@ -408,7 +408,7 @@ pub const unsafe fn size_of_val_raw<T: ?Sized>(val: *const T) -> usize { #[inline] #[must_use] #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(reason = "use `align_of` instead", since = "1.2.0")] +#[deprecated(note = "use `align_of` instead", since = "1.2.0")] pub fn min_align_of<T>() -> usize { intrinsics::min_align_of::<T>() } @@ -431,7 +431,7 @@ pub fn min_align_of<T>() -> usize { #[inline] #[must_use] #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(reason = "use `align_of_val` instead", since = "1.2.0")] +#[deprecated(note = "use `align_of_val` instead", since = "1.2.0")] pub fn min_align_of_val<T: ?Sized>(val: &T) -> usize { // SAFETY: val is a reference, so it's a valid raw pointer unsafe { intrinsics::min_align_of_val(val) } @@ -673,7 +673,7 @@ pub unsafe fn zeroed<T>() -> T { /// [inv]: MaybeUninit#initialization-invariant #[inline(always)] #[must_use] -#[rustc_deprecated(since = "1.39.0", reason = "use `mem::MaybeUninit` instead")] +#[deprecated(since = "1.39.0", note = "use `mem::MaybeUninit` instead")] #[stable(feature = "rust1", since = "1.0.0")] #[allow(deprecated_in_future)] #[allow(deprecated)] diff --git a/library/core/src/num/f32.rs b/library/core/src/num/f32.rs index a983d0872bcf0..c355ce3d8796c 100644 --- a/library/core/src/num/f32.rs +++ b/library/core/src/num/f32.rs @@ -31,7 +31,7 @@ use crate::num::FpCategory; /// let r = f32::RADIX; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "TBD", reason = "replaced by the `RADIX` associated constant on `f32`")] +#[deprecated(since = "TBD", note = "replaced by the `RADIX` associated constant on `f32`")] pub const RADIX: u32 = f32::RADIX; /// Number of significant digits in base 2. @@ -48,9 +48,9 @@ pub const RADIX: u32 = f32::RADIX; /// let d = f32::MANTISSA_DIGITS; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( +#[deprecated( since = "TBD", - reason = "replaced by the `MANTISSA_DIGITS` associated constant on `f32`" + note = "replaced by the `MANTISSA_DIGITS` associated constant on `f32`" )] pub const MANTISSA_DIGITS: u32 = f32::MANTISSA_DIGITS; @@ -68,7 +68,7 @@ pub const MANTISSA_DIGITS: u32 = f32::MANTISSA_DIGITS; /// let d = f32::DIGITS; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "TBD", reason = "replaced by the `DIGITS` associated constant on `f32`")] +#[deprecated(since = "TBD", note = "replaced by the `DIGITS` associated constant on `f32`")] pub const DIGITS: u32 = f32::DIGITS; /// [Machine epsilon] value for `f32`. @@ -89,10 +89,7 @@ pub const DIGITS: u32 = f32::DIGITS; /// let e = f32::EPSILON; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `EPSILON` associated constant on `f32`" -)] +#[deprecated(since = "TBD", note = "replaced by the `EPSILON` associated constant on `f32`")] pub const EPSILON: f32 = f32::EPSILON; /// Smallest finite `f32` value. @@ -109,7 +106,7 @@ pub const EPSILON: f32 = f32::EPSILON; /// let min = f32::MIN; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "TBD", reason = "replaced by the `MIN` associated constant on `f32`")] +#[deprecated(since = "TBD", note = "replaced by the `MIN` associated constant on `f32`")] pub const MIN: f32 = f32::MIN; /// Smallest positive normal `f32` value. @@ -126,10 +123,7 @@ pub const MIN: f32 = f32::MIN; /// let min = f32::MIN_POSITIVE; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `MIN_POSITIVE` associated constant on `f32`" -)] +#[deprecated(since = "TBD", note = "replaced by the `MIN_POSITIVE` associated constant on `f32`")] pub const MIN_POSITIVE: f32 = f32::MIN_POSITIVE; /// Largest finite `f32` value. @@ -146,7 +140,7 @@ pub const MIN_POSITIVE: f32 = f32::MIN_POSITIVE; /// let max = f32::MAX; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "TBD", reason = "replaced by the `MAX` associated constant on `f32`")] +#[deprecated(since = "TBD", note = "replaced by the `MAX` associated constant on `f32`")] pub const MAX: f32 = f32::MAX; /// One greater than the minimum possible normal power of 2 exponent. @@ -163,10 +157,7 @@ pub const MAX: f32 = f32::MAX; /// let min = f32::MIN_EXP; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `MIN_EXP` associated constant on `f32`" -)] +#[deprecated(since = "TBD", note = "replaced by the `MIN_EXP` associated constant on `f32`")] pub const MIN_EXP: i32 = f32::MIN_EXP; /// Maximum possible power of 2 exponent. @@ -183,10 +174,7 @@ pub const MIN_EXP: i32 = f32::MIN_EXP; /// let max = f32::MAX_EXP; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `MAX_EXP` associated constant on `f32`" -)] +#[deprecated(since = "TBD", note = "replaced by the `MAX_EXP` associated constant on `f32`")] pub const MAX_EXP: i32 = f32::MAX_EXP; /// Minimum possible normal power of 10 exponent. @@ -203,10 +191,7 @@ pub const MAX_EXP: i32 = f32::MAX_EXP; /// let min = f32::MIN_10_EXP; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `MIN_10_EXP` associated constant on `f32`" -)] +#[deprecated(since = "TBD", note = "replaced by the `MIN_10_EXP` associated constant on `f32`")] pub const MIN_10_EXP: i32 = f32::MIN_10_EXP; /// Maximum possible power of 10 exponent. @@ -223,10 +208,7 @@ pub const MIN_10_EXP: i32 = f32::MIN_10_EXP; /// let max = f32::MAX_10_EXP; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `MAX_10_EXP` associated constant on `f32`" -)] +#[deprecated(since = "TBD", note = "replaced by the `MAX_10_EXP` associated constant on `f32`")] pub const MAX_10_EXP: i32 = f32::MAX_10_EXP; /// Not a Number (NaN). @@ -243,7 +225,7 @@ pub const MAX_10_EXP: i32 = f32::MAX_10_EXP; /// let nan = f32::NAN; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "TBD", reason = "replaced by the `NAN` associated constant on `f32`")] +#[deprecated(since = "TBD", note = "replaced by the `NAN` associated constant on `f32`")] pub const NAN: f32 = f32::NAN; /// Infinity (∞). @@ -260,10 +242,7 @@ pub const NAN: f32 = f32::NAN; /// let inf = f32::INFINITY; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `INFINITY` associated constant on `f32`" -)] +#[deprecated(since = "TBD", note = "replaced by the `INFINITY` associated constant on `f32`")] pub const INFINITY: f32 = f32::INFINITY; /// Negative infinity (−∞). @@ -280,10 +259,7 @@ pub const INFINITY: f32 = f32::INFINITY; /// let ninf = f32::NEG_INFINITY; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `NEG_INFINITY` associated constant on `f32`" -)] +#[deprecated(since = "TBD", note = "replaced by the `NEG_INFINITY` associated constant on `f32`")] pub const NEG_INFINITY: f32 = f32::NEG_INFINITY; /// Basic mathematical constants. diff --git a/library/core/src/num/f64.rs b/library/core/src/num/f64.rs index 05598e5fe7b07..8def236f4c51b 100644 --- a/library/core/src/num/f64.rs +++ b/library/core/src/num/f64.rs @@ -31,7 +31,7 @@ use crate::num::FpCategory; /// let r = f64::RADIX; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "TBD", reason = "replaced by the `RADIX` associated constant on `f64`")] +#[deprecated(since = "TBD", note = "replaced by the `RADIX` associated constant on `f64`")] pub const RADIX: u32 = f64::RADIX; /// Number of significant digits in base 2. @@ -48,9 +48,9 @@ pub const RADIX: u32 = f64::RADIX; /// let d = f64::MANTISSA_DIGITS; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( +#[deprecated( since = "TBD", - reason = "replaced by the `MANTISSA_DIGITS` associated constant on `f64`" + note = "replaced by the `MANTISSA_DIGITS` associated constant on `f64`" )] pub const MANTISSA_DIGITS: u32 = f64::MANTISSA_DIGITS; @@ -68,7 +68,7 @@ pub const MANTISSA_DIGITS: u32 = f64::MANTISSA_DIGITS; /// let d = f64::DIGITS; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "TBD", reason = "replaced by the `DIGITS` associated constant on `f64`")] +#[deprecated(since = "TBD", note = "replaced by the `DIGITS` associated constant on `f64`")] pub const DIGITS: u32 = f64::DIGITS; /// [Machine epsilon] value for `f64`. @@ -89,10 +89,7 @@ pub const DIGITS: u32 = f64::DIGITS; /// let e = f64::EPSILON; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `EPSILON` associated constant on `f64`" -)] +#[deprecated(since = "TBD", note = "replaced by the `EPSILON` associated constant on `f64`")] pub const EPSILON: f64 = f64::EPSILON; /// Smallest finite `f64` value. @@ -109,7 +106,7 @@ pub const EPSILON: f64 = f64::EPSILON; /// let min = f64::MIN; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "TBD", reason = "replaced by the `MIN` associated constant on `f64`")] +#[deprecated(since = "TBD", note = "replaced by the `MIN` associated constant on `f64`")] pub const MIN: f64 = f64::MIN; /// Smallest positive normal `f64` value. @@ -126,10 +123,7 @@ pub const MIN: f64 = f64::MIN; /// let min = f64::MIN_POSITIVE; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `MIN_POSITIVE` associated constant on `f64`" -)] +#[deprecated(since = "TBD", note = "replaced by the `MIN_POSITIVE` associated constant on `f64`")] pub const MIN_POSITIVE: f64 = f64::MIN_POSITIVE; /// Largest finite `f64` value. @@ -146,7 +140,7 @@ pub const MIN_POSITIVE: f64 = f64::MIN_POSITIVE; /// let max = f64::MAX; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "TBD", reason = "replaced by the `MAX` associated constant on `f64`")] +#[deprecated(since = "TBD", note = "replaced by the `MAX` associated constant on `f64`")] pub const MAX: f64 = f64::MAX; /// One greater than the minimum possible normal power of 2 exponent. @@ -163,10 +157,7 @@ pub const MAX: f64 = f64::MAX; /// let min = f64::MIN_EXP; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `MIN_EXP` associated constant on `f64`" -)] +#[deprecated(since = "TBD", note = "replaced by the `MIN_EXP` associated constant on `f64`")] pub const MIN_EXP: i32 = f64::MIN_EXP; /// Maximum possible power of 2 exponent. @@ -183,10 +174,7 @@ pub const MIN_EXP: i32 = f64::MIN_EXP; /// let max = f64::MAX_EXP; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `MAX_EXP` associated constant on `f64`" -)] +#[deprecated(since = "TBD", note = "replaced by the `MAX_EXP` associated constant on `f64`")] pub const MAX_EXP: i32 = f64::MAX_EXP; /// Minimum possible normal power of 10 exponent. @@ -203,10 +191,7 @@ pub const MAX_EXP: i32 = f64::MAX_EXP; /// let min = f64::MIN_10_EXP; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `MIN_10_EXP` associated constant on `f64`" -)] +#[deprecated(since = "TBD", note = "replaced by the `MIN_10_EXP` associated constant on `f64`")] pub const MIN_10_EXP: i32 = f64::MIN_10_EXP; /// Maximum possible power of 10 exponent. @@ -223,10 +208,7 @@ pub const MIN_10_EXP: i32 = f64::MIN_10_EXP; /// let max = f64::MAX_10_EXP; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `MAX_10_EXP` associated constant on `f64`" -)] +#[deprecated(since = "TBD", note = "replaced by the `MAX_10_EXP` associated constant on `f64`")] pub const MAX_10_EXP: i32 = f64::MAX_10_EXP; /// Not a Number (NaN). @@ -243,7 +225,7 @@ pub const MAX_10_EXP: i32 = f64::MAX_10_EXP; /// let nan = f64::NAN; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "TBD", reason = "replaced by the `NAN` associated constant on `f64`")] +#[deprecated(since = "TBD", note = "replaced by the `NAN` associated constant on `f64`")] pub const NAN: f64 = f64::NAN; /// Infinity (∞). @@ -260,10 +242,7 @@ pub const NAN: f64 = f64::NAN; /// let inf = f64::INFINITY; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `INFINITY` associated constant on `f64`" -)] +#[deprecated(since = "TBD", note = "replaced by the `INFINITY` associated constant on `f64`")] pub const INFINITY: f64 = f64::INFINITY; /// Negative infinity (−∞). @@ -280,10 +259,7 @@ pub const INFINITY: f64 = f64::INFINITY; /// let ninf = f64::NEG_INFINITY; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( - since = "TBD", - reason = "replaced by the `NEG_INFINITY` associated constant on `f64`" -)] +#[deprecated(since = "TBD", note = "replaced by the `NEG_INFINITY` associated constant on `f64`")] pub const NEG_INFINITY: f64 = f64::NEG_INFINITY; /// Basic mathematical constants. @@ -600,7 +576,7 @@ impl f64 { #[must_use] #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated(since = "1.0.0", reason = "renamed to is_sign_positive")] + #[deprecated(since = "1.0.0", note = "renamed to is_sign_positive")] #[inline] #[doc(hidden)] pub fn is_positive(self) -> bool { @@ -627,7 +603,7 @@ impl f64 { #[must_use] #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated(since = "1.0.0", reason = "renamed to is_sign_negative")] + #[deprecated(since = "1.0.0", note = "renamed to is_sign_negative")] #[inline] #[doc(hidden)] pub fn is_negative(self) -> bool { diff --git a/library/core/src/num/int_macros.rs b/library/core/src/num/int_macros.rs index ec460286d0378..e5d416e82d044 100644 --- a/library/core/src/num/int_macros.rs +++ b/library/core/src/num/int_macros.rs @@ -2703,7 +2703,7 @@ macro_rules! int_impl { #[inline(always)] #[rustc_promotable] #[rustc_const_stable(feature = "const_min_value", since = "1.32.0")] - #[rustc_deprecated(since = "TBD", reason = "replaced by the `MIN` associated constant on this type")] + #[deprecated(since = "TBD", note = "replaced by the `MIN` associated constant on this type")] pub const fn min_value() -> Self { Self::MIN } @@ -2716,7 +2716,7 @@ macro_rules! int_impl { #[inline(always)] #[rustc_promotable] #[rustc_const_stable(feature = "const_max_value", since = "1.32.0")] - #[rustc_deprecated(since = "TBD", reason = "replaced by the `MAX` associated constant on this type")] + #[deprecated(since = "TBD", note = "replaced by the `MAX` associated constant on this type")] pub const fn max_value() -> Self { Self::MAX } diff --git a/library/core/src/num/shells/i128.rs b/library/core/src/num/shells/i128.rs index b37767cd5eb6d..7b048dc5206bc 100644 --- a/library/core/src/num/shells/i128.rs +++ b/library/core/src/num/shells/i128.rs @@ -5,9 +5,9 @@ //! New code should use the associated constants directly on the primitive type. #![stable(feature = "i128", since = "1.26.0")] -#![rustc_deprecated( +#![deprecated( since = "TBD", - reason = "all constants in this module replaced by associated constants on `i128`" + note = "all constants in this module replaced by associated constants on `i128`" )] int_module! { i128, #[stable(feature = "i128", since="1.26.0")] } diff --git a/library/core/src/num/shells/i16.rs b/library/core/src/num/shells/i16.rs index 3137e72ca00e5..5c5812d5c5ecd 100644 --- a/library/core/src/num/shells/i16.rs +++ b/library/core/src/num/shells/i16.rs @@ -5,9 +5,9 @@ //! New code should use the associated constants directly on the primitive type. #![stable(feature = "rust1", since = "1.0.0")] -#![rustc_deprecated( +#![deprecated( since = "TBD", - reason = "all constants in this module replaced by associated constants on `i16`" + note = "all constants in this module replaced by associated constants on `i16`" )] int_module! { i16 } diff --git a/library/core/src/num/shells/i32.rs b/library/core/src/num/shells/i32.rs index bb70751d8ca1a..b283ac64415f6 100644 --- a/library/core/src/num/shells/i32.rs +++ b/library/core/src/num/shells/i32.rs @@ -5,9 +5,9 @@ //! New code should use the associated constants directly on the primitive type. #![stable(feature = "rust1", since = "1.0.0")] -#![rustc_deprecated( +#![deprecated( since = "TBD", - reason = "all constants in this module replaced by associated constants on `i32`" + note = "all constants in this module replaced by associated constants on `i32`" )] int_module! { i32 } diff --git a/library/core/src/num/shells/i64.rs b/library/core/src/num/shells/i64.rs index b08201c2555a8..a416fa7e9361d 100644 --- a/library/core/src/num/shells/i64.rs +++ b/library/core/src/num/shells/i64.rs @@ -5,9 +5,9 @@ //! New code should use the associated constants directly on the primitive type. #![stable(feature = "rust1", since = "1.0.0")] -#![rustc_deprecated( +#![deprecated( since = "TBD", - reason = "all constants in this module replaced by associated constants on `i64`" + note = "all constants in this module replaced by associated constants on `i64`" )] int_module! { i64 } diff --git a/library/core/src/num/shells/i8.rs b/library/core/src/num/shells/i8.rs index a7ad9bbbbceb8..02465013a4a77 100644 --- a/library/core/src/num/shells/i8.rs +++ b/library/core/src/num/shells/i8.rs @@ -5,9 +5,9 @@ //! New code should use the associated constants directly on the primitive type. #![stable(feature = "rust1", since = "1.0.0")] -#![rustc_deprecated( +#![deprecated( since = "TBD", - reason = "all constants in this module replaced by associated constants on `i8`" + note = "all constants in this module replaced by associated constants on `i8`" )] int_module! { i8 } diff --git a/library/core/src/num/shells/int_macros.rs b/library/core/src/num/shells/int_macros.rs index c6a5595d95804..2b1133e11a571 100644 --- a/library/core/src/num/shells/int_macros.rs +++ b/library/core/src/num/shells/int_macros.rs @@ -19,7 +19,7 @@ macro_rules! int_module { /// ``` /// #[$attr] - #[rustc_deprecated(since = "TBD", reason = "replaced by the `MIN` associated constant on this type")] + #[deprecated(since = "TBD", note = "replaced by the `MIN` associated constant on this type")] pub const MIN: $T = $T::MIN; #[doc = concat!( @@ -38,7 +38,7 @@ macro_rules! int_module { /// ``` /// #[$attr] - #[rustc_deprecated(since = "TBD", reason = "replaced by the `MAX` associated constant on this type")] + #[deprecated(since = "TBD", note = "replaced by the `MAX` associated constant on this type")] pub const MAX: $T = $T::MAX; ) } diff --git a/library/core/src/num/shells/isize.rs b/library/core/src/num/shells/isize.rs index d719936c0b2c0..1579fbab6d47f 100644 --- a/library/core/src/num/shells/isize.rs +++ b/library/core/src/num/shells/isize.rs @@ -5,9 +5,9 @@ //! New code should use the associated constants directly on the primitive type. #![stable(feature = "rust1", since = "1.0.0")] -#![rustc_deprecated( +#![deprecated( since = "TBD", - reason = "all constants in this module replaced by associated constants on `isize`" + note = "all constants in this module replaced by associated constants on `isize`" )] int_module! { isize } diff --git a/library/core/src/num/shells/u128.rs b/library/core/src/num/shells/u128.rs index 49f56c67c37a8..fe08cee586c3d 100644 --- a/library/core/src/num/shells/u128.rs +++ b/library/core/src/num/shells/u128.rs @@ -5,9 +5,9 @@ //! New code should use the associated constants directly on the primitive type. #![stable(feature = "i128", since = "1.26.0")] -#![rustc_deprecated( +#![deprecated( since = "TBD", - reason = "all constants in this module replaced by associated constants on `u128`" + note = "all constants in this module replaced by associated constants on `u128`" )] int_module! { u128, #[stable(feature = "i128", since="1.26.0")] } diff --git a/library/core/src/num/shells/u16.rs b/library/core/src/num/shells/u16.rs index b1d58ad4b9d8d..36f8c6978789d 100644 --- a/library/core/src/num/shells/u16.rs +++ b/library/core/src/num/shells/u16.rs @@ -5,9 +5,9 @@ //! New code should use the associated constants directly on the primitive type. #![stable(feature = "rust1", since = "1.0.0")] -#![rustc_deprecated( +#![deprecated( since = "TBD", - reason = "all constants in this module replaced by associated constants on `u16`" + note = "all constants in this module replaced by associated constants on `u16`" )] int_module! { u16 } diff --git a/library/core/src/num/shells/u32.rs b/library/core/src/num/shells/u32.rs index b6acf950035f4..1c369097dcdb0 100644 --- a/library/core/src/num/shells/u32.rs +++ b/library/core/src/num/shells/u32.rs @@ -5,9 +5,9 @@ //! New code should use the associated constants directly on the primitive type. #![stable(feature = "rust1", since = "1.0.0")] -#![rustc_deprecated( +#![deprecated( since = "TBD", - reason = "all constants in this module replaced by associated constants on `u32`" + note = "all constants in this module replaced by associated constants on `u32`" )] int_module! { u32 } diff --git a/library/core/src/num/shells/u64.rs b/library/core/src/num/shells/u64.rs index d43726f84fa2f..e8b691d155572 100644 --- a/library/core/src/num/shells/u64.rs +++ b/library/core/src/num/shells/u64.rs @@ -5,9 +5,9 @@ //! New code should use the associated constants directly on the primitive type. #![stable(feature = "rust1", since = "1.0.0")] -#![rustc_deprecated( +#![deprecated( since = "TBD", - reason = "all constants in this module replaced by associated constants on `u64`" + note = "all constants in this module replaced by associated constants on `u64`" )] int_module! { u64 } diff --git a/library/core/src/num/shells/u8.rs b/library/core/src/num/shells/u8.rs index 0eadf85ec6d27..817c6a18aaaa3 100644 --- a/library/core/src/num/shells/u8.rs +++ b/library/core/src/num/shells/u8.rs @@ -5,9 +5,9 @@ //! New code should use the associated constants directly on the primitive type. #![stable(feature = "rust1", since = "1.0.0")] -#![rustc_deprecated( +#![deprecated( since = "TBD", - reason = "all constants in this module replaced by associated constants on `u8`" + note = "all constants in this module replaced by associated constants on `u8`" )] int_module! { u8 } diff --git a/library/core/src/num/shells/usize.rs b/library/core/src/num/shells/usize.rs index deeed67d4960f..3e1bec5ec4815 100644 --- a/library/core/src/num/shells/usize.rs +++ b/library/core/src/num/shells/usize.rs @@ -5,9 +5,9 @@ //! New code should use the associated constants directly on the primitive type. #![stable(feature = "rust1", since = "1.0.0")] -#![rustc_deprecated( +#![deprecated( since = "TBD", - reason = "all constants in this module replaced by associated constants on `usize`" + note = "all constants in this module replaced by associated constants on `usize`" )] int_module! { usize } diff --git a/library/core/src/num/uint_macros.rs b/library/core/src/num/uint_macros.rs index 514ac69f7e049..e26f57066af2b 100644 --- a/library/core/src/num/uint_macros.rs +++ b/library/core/src/num/uint_macros.rs @@ -2423,7 +2423,7 @@ macro_rules! uint_impl { #[rustc_promotable] #[inline(always)] #[rustc_const_stable(feature = "const_max_value", since = "1.32.0")] - #[rustc_deprecated(since = "TBD", reason = "replaced by the `MIN` associated constant on this type")] + #[deprecated(since = "TBD", note = "replaced by the `MIN` associated constant on this type")] pub const fn min_value() -> Self { Self::MIN } /// New code should prefer to use @@ -2434,7 +2434,7 @@ macro_rules! uint_impl { #[rustc_promotable] #[inline(always)] #[rustc_const_stable(feature = "const_max_value", since = "1.32.0")] - #[rustc_deprecated(since = "TBD", reason = "replaced by the `MAX` associated constant on this type")] + #[deprecated(since = "TBD", note = "replaced by the `MAX` associated constant on this type")] pub const fn max_value() -> Self { Self::MAX } } } diff --git a/library/core/src/str/iter.rs b/library/core/src/str/iter.rs index e529bccbc7999..e00c6d377c70b 100644 --- a/library/core/src/str/iter.rs +++ b/library/core/src/str/iter.rs @@ -1129,7 +1129,7 @@ impl FusedIterator for Lines<'_> {} /// /// [`lines_any`]: str::lines_any #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "1.4.0", reason = "use lines()/Lines instead now")] +#[deprecated(since = "1.4.0", note = "use lines()/Lines instead now")] #[must_use = "iterators are lazy and do nothing unless consumed"] #[derive(Clone, Debug)] #[allow(deprecated)] diff --git a/library/core/src/str/mod.rs b/library/core/src/str/mod.rs index 86e1afa288535..ede9a28dcbe7c 100644 --- a/library/core/src/str/mod.rs +++ b/library/core/src/str/mod.rs @@ -591,7 +591,7 @@ impl str { /// } /// ``` #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated(since = "1.29.0", reason = "use `get_unchecked(begin..end)` instead")] + #[deprecated(since = "1.29.0", note = "use `get_unchecked(begin..end)` instead")] #[must_use] #[inline] pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str { @@ -625,7 +625,7 @@ impl str { /// * `begin` and `end` must be byte positions within the string slice. /// * `begin` and `end` must lie on UTF-8 sequence boundaries. #[stable(feature = "str_slice_mut", since = "1.5.0")] - #[rustc_deprecated(since = "1.29.0", reason = "use `get_unchecked_mut(begin..end)` instead")] + #[deprecated(since = "1.29.0", note = "use `get_unchecked_mut(begin..end)` instead")] #[inline] pub unsafe fn slice_mut_unchecked(&mut self, begin: usize, end: usize) -> &mut str { // SAFETY: the caller must uphold the safety contract for `get_unchecked_mut`; @@ -1000,7 +1000,7 @@ impl str { /// An iterator over the lines of a string. #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated(since = "1.4.0", reason = "use lines() instead now")] + #[deprecated(since = "1.4.0", note = "use lines() instead now")] #[inline] #[allow(deprecated)] pub fn lines_any(&self) -> LinesAny<'_> { @@ -1964,11 +1964,7 @@ impl str { without modifying the original"] #[inline] #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated( - since = "1.33.0", - reason = "superseded by `trim_start`", - suggestion = "trim_start" - )] + #[deprecated(since = "1.33.0", note = "superseded by `trim_start`", suggestion = "trim_start")] pub fn trim_left(&self) -> &str { self.trim_start() } @@ -2008,11 +2004,7 @@ impl str { without modifying the original"] #[inline] #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated( - since = "1.33.0", - reason = "superseded by `trim_end`", - suggestion = "trim_end" - )] + #[deprecated(since = "1.33.0", note = "superseded by `trim_end`", suggestion = "trim_end")] pub fn trim_right(&self) -> &str { self.trim_end() } @@ -2240,9 +2232,9 @@ impl str { /// assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12"); /// ``` #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated( + #[deprecated( since = "1.33.0", - reason = "superseded by `trim_start_matches`", + note = "superseded by `trim_start_matches`", suggestion = "trim_start_matches" )] pub fn trim_left_matches<'a, P: Pattern<'a>>(&'a self, pat: P) -> &'a str { @@ -2283,9 +2275,9 @@ impl str { /// assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo"); /// ``` #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated( + #[deprecated( since = "1.33.0", - reason = "superseded by `trim_end_matches`", + note = "superseded by `trim_end_matches`", suggestion = "trim_end_matches" )] pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str diff --git a/library/core/src/sync/atomic.rs b/library/core/src/sync/atomic.rs index 6285d1c1cbb56..b573b7526812c 100644 --- a/library/core/src/sync/atomic.rs +++ b/library/core/src/sync/atomic.rs @@ -270,9 +270,9 @@ pub enum Ordering { /// An [`AtomicBool`] initialized to `false`. #[cfg(target_has_atomic_load_store = "8")] #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( +#[deprecated( since = "1.34.0", - reason = "the `new` function is now preferred", + note = "the `new` function is now preferred", suggestion = "AtomicBool::new(false)" )] pub const ATOMIC_BOOL_INIT: AtomicBool = AtomicBool::new(false); @@ -550,9 +550,9 @@ impl AtomicBool { /// ``` #[inline] #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated( + #[deprecated( since = "1.50.0", - reason = "Use `compare_exchange` or `compare_exchange_weak` instead" + note = "Use `compare_exchange` or `compare_exchange_weak` instead" )] #[cfg(target_has_atomic = "8")] pub fn compare_and_swap(&self, current: bool, new: bool, order: Ordering) -> bool { @@ -1234,9 +1234,9 @@ impl<T> AtomicPtr<T> { /// ``` #[inline] #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated( + #[deprecated( since = "1.50.0", - reason = "Use `compare_exchange` or `compare_exchange_weak` instead" + note = "Use `compare_exchange` or `compare_exchange_weak` instead" )] #[cfg(target_has_atomic = "ptr")] pub fn compare_and_swap(&self, current: *mut T, new: *mut T, order: Ordering) -> *mut T { @@ -1487,9 +1487,9 @@ macro_rules! atomic_int { /// An atomic integer initialized to `0`. #[$stable_init_const] - #[rustc_deprecated( + #[deprecated( since = "1.34.0", - reason = "the `new` function is now preferred", + note = "the `new` function is now preferred", suggestion = $atomic_new, )] pub const $atomic_init: $atomic_type = $atomic_type::new(0); @@ -1809,9 +1809,9 @@ macro_rules! atomic_int { /// ``` #[inline] #[$stable] - #[rustc_deprecated( + #[deprecated( since = "1.50.0", - reason = "Use `compare_exchange` or `compare_exchange_weak` instead") + note = "Use `compare_exchange` or `compare_exchange_weak` instead") ] #[$cfg_cas] pub fn compare_and_swap(&self, @@ -3008,7 +3008,7 @@ impl<T> fmt::Pointer for AtomicPtr<T> { /// [`hint::spin_loop`]: crate::hint::spin_loop #[inline] #[stable(feature = "spin_loop_hint", since = "1.24.0")] -#[rustc_deprecated(since = "1.51.0", reason = "use hint::spin_loop instead")] +#[deprecated(since = "1.51.0", note = "use hint::spin_loop instead")] pub fn spin_loop_hint() { spin_loop() } diff --git a/library/std/src/ascii.rs b/library/std/src/ascii.rs index 035cd9f243bf8..c29f015777f1a 100644 --- a/library/std/src/ascii.rs +++ b/library/std/src/ascii.rs @@ -39,7 +39,7 @@ pub use core::ascii::{escape_default, EscapeDefault}; /// /// [combining character]: https://en.wikipedia.org/wiki/Combining_character #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "1.26.0", reason = "use inherent methods instead")] +#[deprecated(since = "1.26.0", note = "use inherent methods instead")] pub trait AsciiExt { /// Container type for copied ASCII characters. #[stable(feature = "rust1", since = "1.0.0")] diff --git a/library/std/src/collections/mod.rs b/library/std/src/collections/mod.rs index 0caec8fe05aa7..ae2baba09e683 100644 --- a/library/std/src/collections/mod.rs +++ b/library/std/src/collections/mod.rs @@ -402,7 +402,7 @@ #[stable(feature = "rust1", since = "1.0.0")] // FIXME(#82080) The deprecation here is only theoretical, and does not actually produce a warning. -#[rustc_deprecated(reason = "moved to `std::ops::Bound`", since = "1.26.0")] +#[deprecated(note = "moved to `std::ops::Bound`", since = "1.26.0")] #[doc(hidden)] pub use crate::ops::Bound; diff --git a/library/std/src/env.rs b/library/std/src/env.rs index f03d298d8699d..319fc47292e0c 100644 --- a/library/std/src/env.rs +++ b/library/std/src/env.rs @@ -577,10 +577,10 @@ impl Error for JoinPathsError { /// None => println!("Impossible to get your home dir!"), /// } /// ``` -#[rustc_deprecated( +#[deprecated( since = "1.29.0", - reason = "This function's behavior is unexpected and probably not what you want. \ - Consider using a crate from crates.io instead." + note = "This function's behavior is unexpected and probably not what you want. \ + Consider using a crate from crates.io instead." )] #[must_use] #[stable(feature = "env", since = "1.0.0")] diff --git a/library/std/src/error.rs b/library/std/src/error.rs index 4fb94908c80fd..700bf6b2102b1 100644 --- a/library/std/src/error.rs +++ b/library/std/src/error.rs @@ -143,15 +143,15 @@ pub trait Error: Debug + Display { /// } /// ``` #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated(since = "1.42.0", reason = "use the Display impl or to_string()")] + #[deprecated(since = "1.42.0", note = "use the Display impl or to_string()")] fn description(&self) -> &str { "description() is deprecated; use Display" } #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated( + #[deprecated( since = "1.33.0", - reason = "replaced by Error::source, which can support downcasting" + note = "replaced by Error::source, which can support downcasting" )] #[allow(missing_docs)] fn cause(&self) -> Option<&dyn Error> { diff --git a/library/std/src/f32.rs b/library/std/src/f32.rs index ac288c599f3a4..557c59dfb5f8e 100644 --- a/library/std/src/f32.rs +++ b/library/std/src/f32.rs @@ -511,15 +511,15 @@ impl f32 { #[must_use = "method returns a new number and does not mutate the original value"] #[stable(feature = "rust1", since = "1.0.0")] #[inline] - #[rustc_deprecated( + #[deprecated( since = "1.10.0", - reason = "you probably meant `(self - other).abs()`: \ - this operation is `(self - other).max(0.0)` \ - except that `abs_sub` also propagates NaNs (also \ - known as `fdimf` in C). If you truly need the positive \ - difference, consider using that expression or the C function \ - `fdimf`, depending on how you wish to handle NaN (please consider \ - filing an issue describing your use-case too)." + note = "you probably meant `(self - other).abs()`: \ + this operation is `(self - other).max(0.0)` \ + except that `abs_sub` also propagates NaNs (also \ + known as `fdimf` in C). If you truly need the positive \ + difference, consider using that expression or the C function \ + `fdimf`, depending on how you wish to handle NaN (please consider \ + filing an issue describing your use-case too)." )] pub fn abs_sub(self, other: f32) -> f32 { unsafe { cmath::fdimf(self, other) } diff --git a/library/std/src/f64.rs b/library/std/src/f64.rs index 01279f01b0568..6f322aea6aab2 100644 --- a/library/std/src/f64.rs +++ b/library/std/src/f64.rs @@ -513,15 +513,15 @@ impl f64 { #[must_use = "method returns a new number and does not mutate the original value"] #[stable(feature = "rust1", since = "1.0.0")] #[inline] - #[rustc_deprecated( + #[deprecated( since = "1.10.0", - reason = "you probably meant `(self - other).abs()`: \ - this operation is `(self - other).max(0.0)` \ - except that `abs_sub` also propagates NaNs (also \ - known as `fdim` in C). If you truly need the positive \ - difference, consider using that expression or the C function \ - `fdim`, depending on how you wish to handle NaN (please consider \ - filing an issue describing your use-case too)." + note = "you probably meant `(self - other).abs()`: \ + this operation is `(self - other).max(0.0)` \ + except that `abs_sub` also propagates NaNs (also \ + known as `fdim` in C). If you truly need the positive \ + difference, consider using that expression or the C function \ + `fdim`, depending on how you wish to handle NaN (please consider \ + filing an issue describing your use-case too)." )] pub fn abs_sub(self, other: f64) -> f64 { unsafe { cmath::fdim(self, other) } diff --git a/library/std/src/fs.rs b/library/std/src/fs.rs index 433b4d530136b..495a866064876 100644 --- a/library/std/src/fs.rs +++ b/library/std/src/fs.rs @@ -1851,10 +1851,10 @@ pub fn hard_link<P: AsRef<Path>, Q: AsRef<Path>>(original: P, link: Q) -> io::Re /// } /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( +#[deprecated( since = "1.1.0", - reason = "replaced with std::os::unix::fs::symlink and \ - std::os::windows::fs::{symlink_file, symlink_dir}" + note = "replaced with std::os::unix::fs::symlink and \ + std::os::windows::fs::{symlink_file, symlink_dir}" )] pub fn soft_link<P: AsRef<Path>, Q: AsRef<Path>>(original: P, link: Q) -> io::Result<()> { fs_imp::symlink(original.as_ref(), link.as_ref()) diff --git a/library/std/src/net/tcp.rs b/library/std/src/net/tcp.rs index f5d3c4905e081..06300035633b9 100644 --- a/library/std/src/net/tcp.rs +++ b/library/std/src/net/tcp.rs @@ -915,20 +915,14 @@ impl TcpListener { } #[stable(feature = "net2_mutators", since = "1.9.0")] - #[rustc_deprecated( - since = "1.16.0", - reason = "this option can only be set before the socket is bound" - )] + #[deprecated(since = "1.16.0", note = "this option can only be set before the socket is bound")] #[allow(missing_docs)] pub fn set_only_v6(&self, only_v6: bool) -> io::Result<()> { self.0.set_only_v6(only_v6) } #[stable(feature = "net2_mutators", since = "1.9.0")] - #[rustc_deprecated( - since = "1.16.0", - reason = "this option can only be set before the socket is bound" - )] + #[deprecated(since = "1.16.0", note = "this option can only be set before the socket is bound")] #[allow(missing_docs)] pub fn only_v6(&self) -> io::Result<bool> { self.0.only_v6() diff --git a/library/std/src/os/android/fs.rs b/library/std/src/os/android/fs.rs index 6aeef330dfa24..1beb3cf6e84b5 100644 --- a/library/std/src/os/android/fs.rs +++ b/library/std/src/os/android/fs.rs @@ -18,10 +18,10 @@ pub trait MetadataExt { /// Unix platforms. The `os::unix::fs::MetadataExt` trait contains the /// cross-Unix abstractions contained within the raw stat. #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated( + #[deprecated( since = "1.8.0", - reason = "deprecated in favor of the accessor \ - methods of this trait" + note = "deprecated in favor of the accessor \ + methods of this trait" )] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/android/raw.rs b/library/std/src/os/android/raw.rs index 2b8ade8a82e65..a255d03208623 100644 --- a/library/std/src/os/android/raw.rs +++ b/library/std/src/os/android/raw.rs @@ -1,12 +1,12 @@ //! Android-specific raw type definitions #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/dragonfly/fs.rs b/library/std/src/os/dragonfly/fs.rs index e4c4e04cd30aa..1424fc4c69880 100644 --- a/library/std/src/os/dragonfly/fs.rs +++ b/library/std/src/os/dragonfly/fs.rs @@ -18,10 +18,10 @@ pub trait MetadataExt { /// Unix platforms. The `os::unix::fs::MetadataExt` trait contains the /// cross-Unix abstractions contained within the raw stat. #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated( + #[deprecated( since = "1.8.0", - reason = "deprecated in favor of the accessor \ - methods of this trait" + note = "deprecated in favor of the accessor \ + methods of this trait" )] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/dragonfly/raw.rs b/library/std/src/os/dragonfly/raw.rs index 2a2d29043727e..071bf6199aa23 100644 --- a/library/std/src/os/dragonfly/raw.rs +++ b/library/std/src/os/dragonfly/raw.rs @@ -1,12 +1,12 @@ //! Dragonfly-specific raw type definitions #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/emscripten/fs.rs b/library/std/src/os/emscripten/fs.rs index d4f758a3457fe..d5ec8e03c00d1 100644 --- a/library/std/src/os/emscripten/fs.rs +++ b/library/std/src/os/emscripten/fs.rs @@ -18,10 +18,10 @@ pub trait MetadataExt { /// Unix platforms. The `os::unix::fs::MetadataExt` trait contains the /// cross-Unix abstractions contained within the raw stat. #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated( + #[deprecated( since = "1.8.0", - reason = "deprecated in favor of the accessor \ - methods of this trait" + note = "deprecated in favor of the accessor \ + methods of this trait" )] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/emscripten/raw.rs b/library/std/src/os/emscripten/raw.rs index 503645c08ce36..d23011c738141 100644 --- a/library/std/src/os/emscripten/raw.rs +++ b/library/std/src/os/emscripten/raw.rs @@ -3,12 +3,12 @@ //! except using the musl-specific stat64 structure in liblibc. #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/espidf/fs.rs b/library/std/src/os/espidf/fs.rs index 93dc2c0cab7ee..88701dafe20ce 100644 --- a/library/std/src/os/espidf/fs.rs +++ b/library/std/src/os/espidf/fs.rs @@ -12,10 +12,10 @@ use crate::os::espidf::raw; #[stable(feature = "metadata_ext", since = "1.1.0")] pub trait MetadataExt { #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated( + #[deprecated( since = "1.8.0", - reason = "deprecated in favor of the accessor \ - methods of this trait" + note = "deprecated in favor of the accessor \ + methods of this trait" )] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/espidf/raw.rs b/library/std/src/os/espidf/raw.rs index fb18ec6f6f82a..7df0e74b22335 100644 --- a/library/std/src/os/espidf/raw.rs +++ b/library/std/src/os/espidf/raw.rs @@ -1,12 +1,12 @@ //! Raw type definitions for the ESP-IDF framework. #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] use crate::os::raw::c_long; diff --git a/library/std/src/os/freebsd/fs.rs b/library/std/src/os/freebsd/fs.rs index 1eda8690d5d1b..8db3a950c40ff 100644 --- a/library/std/src/os/freebsd/fs.rs +++ b/library/std/src/os/freebsd/fs.rs @@ -18,10 +18,10 @@ pub trait MetadataExt { /// Unix platforms. The `os::unix::fs::MetadataExt` trait contains the /// cross-Unix abstractions contained within the raw stat. #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated( + #[deprecated( since = "1.8.0", - reason = "deprecated in favor of the accessor \ - methods of this trait" + note = "deprecated in favor of the accessor \ + methods of this trait" )] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/freebsd/raw.rs b/library/std/src/os/freebsd/raw.rs index aeae08fc6aae0..ab0bf79231948 100644 --- a/library/std/src/os/freebsd/raw.rs +++ b/library/std/src/os/freebsd/raw.rs @@ -1,12 +1,12 @@ //! FreeBSD-specific raw type definitions #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/fuchsia/raw.rs b/library/std/src/os/fuchsia/raw.rs index f94659cd5baab..060d6e86b6c2b 100644 --- a/library/std/src/os/fuchsia/raw.rs +++ b/library/std/src/os/fuchsia/raw.rs @@ -1,12 +1,12 @@ //! Fuchsia-specific raw type definitions #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/haiku/fs.rs b/library/std/src/os/haiku/fs.rs index 28015f6252633..a23a2af8f6e7b 100644 --- a/library/std/src/os/haiku/fs.rs +++ b/library/std/src/os/haiku/fs.rs @@ -18,10 +18,10 @@ pub trait MetadataExt { /// Unix platforms. The `os::unix::fs::MetadataExt` trait contains the /// cross-Unix abstractions contained within the raw stat. #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated( + #[deprecated( since = "1.8.0", - reason = "deprecated in favor of the accessor \ - methods of this trait" + note = "deprecated in favor of the accessor \ + methods of this trait" )] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/haiku/raw.rs b/library/std/src/os/haiku/raw.rs index 48117d288ae47..afbb66ccb5e5d 100644 --- a/library/std/src/os/haiku/raw.rs +++ b/library/std/src/os/haiku/raw.rs @@ -1,12 +1,12 @@ //! Haiku-specific raw type definitions #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.53.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/illumos/fs.rs b/library/std/src/os/illumos/fs.rs index 021d154ff5a8a..63be48b8131b2 100644 --- a/library/std/src/os/illumos/fs.rs +++ b/library/std/src/os/illumos/fs.rs @@ -18,9 +18,9 @@ pub trait MetadataExt { /// Unix platforms. The `os::unix::fs::MetadataExt` trait contains the /// cross-Unix abstractions contained within the raw stat. #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated( + #[deprecated( since = "1.8.0", - reason = "deprecated in favor of the accessor methods of this trait" + note = "deprecated in favor of the accessor methods of this trait" )] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/illumos/raw.rs b/library/std/src/os/illumos/raw.rs index 88c832ae7c773..2bea9ebb3c836 100644 --- a/library/std/src/os/illumos/raw.rs +++ b/library/std/src/os/illumos/raw.rs @@ -1,9 +1,9 @@ //! illumos-specific raw type definitions #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by the standard library, the `libc` \ + note = "these type aliases are no longer supported by the standard library, the `libc` \ crate on crates.io should be used instead for the correct definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/ios/fs.rs b/library/std/src/os/ios/fs.rs index 2c5e38a803d30..4a4637ce0722d 100644 --- a/library/std/src/os/ios/fs.rs +++ b/library/std/src/os/ios/fs.rs @@ -18,10 +18,10 @@ pub trait MetadataExt { /// Unix platforms. The `os::unix::fs::MetadataExt` trait contains the /// cross-Unix abstractions contained within the raw stat. #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated( + #[deprecated( since = "1.8.0", - reason = "deprecated in favor of the accessor \ - methods of this trait" + note = "deprecated in favor of the accessor \ + methods of this trait" )] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/ios/raw.rs b/library/std/src/os/ios/raw.rs index 97b0a96b0f1c0..af12aeebe5d0c 100644 --- a/library/std/src/os/ios/raw.rs +++ b/library/std/src/os/ios/raw.rs @@ -1,12 +1,12 @@ //! iOS-specific raw type definitions #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/l4re/fs.rs b/library/std/src/os/l4re/fs.rs index b9b6918292fae..6d6a535b1e831 100644 --- a/library/std/src/os/l4re/fs.rs +++ b/library/std/src/os/l4re/fs.rs @@ -38,7 +38,7 @@ pub trait MetadataExt { /// } /// ``` #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated(since = "1.8.0", reason = "other methods of this trait are now preferred")] + #[deprecated(since = "1.8.0", note = "other methods of this trait are now preferred")] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/l4re/raw.rs b/library/std/src/os/l4re/raw.rs index 5efd6301fc92b..699e8be33c8a8 100644 --- a/library/std/src/os/l4re/raw.rs +++ b/library/std/src/os/l4re/raw.rs @@ -1,12 +1,12 @@ //! L4Re-specific raw type definitions. #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/linux/fs.rs b/library/std/src/os/linux/fs.rs index 9d18ccbeb2494..2e90d8d6be7ee 100644 --- a/library/std/src/os/linux/fs.rs +++ b/library/std/src/os/linux/fs.rs @@ -38,7 +38,7 @@ pub trait MetadataExt { /// } /// ``` #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated(since = "1.8.0", reason = "other methods of this trait are now preferred")] + #[deprecated(since = "1.8.0", note = "other methods of this trait are now preferred")] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/linux/raw.rs b/library/std/src/os/linux/raw.rs index d78049bce24c2..c73791d14529c 100644 --- a/library/std/src/os/linux/raw.rs +++ b/library/std/src/os/linux/raw.rs @@ -1,12 +1,12 @@ //! Linux-specific raw type definitions. #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/macos/fs.rs b/library/std/src/os/macos/fs.rs index 4152c3529361d..91915da6a432c 100644 --- a/library/std/src/os/macos/fs.rs +++ b/library/std/src/os/macos/fs.rs @@ -18,10 +18,10 @@ pub trait MetadataExt { /// Unix platforms. The `os::unix::fs::MetadataExt` trait contains the /// cross-Unix abstractions contained within the raw stat. #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated( + #[deprecated( since = "1.8.0", - reason = "deprecated in favor of the accessor \ - methods of this trait" + note = "deprecated in favor of the accessor \ + methods of this trait" )] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/macos/raw.rs b/library/std/src/os/macos/raw.rs index 708261d86bddb..0b21f6ee5e498 100644 --- a/library/std/src/os/macos/raw.rs +++ b/library/std/src/os/macos/raw.rs @@ -1,12 +1,12 @@ //! macOS-specific raw type definitions #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/netbsd/fs.rs b/library/std/src/os/netbsd/fs.rs index 6b29a40d2b545..fe0be069e5e3f 100644 --- a/library/std/src/os/netbsd/fs.rs +++ b/library/std/src/os/netbsd/fs.rs @@ -18,10 +18,10 @@ pub trait MetadataExt { /// Unix platforms. The `os::unix::fs::MetadataExt` trait contains the /// cross-Unix abstractions contained within the raw stat. #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated( + #[deprecated( since = "1.8.0", - reason = "deprecated in favor of the accessor \ - methods of this trait" + note = "deprecated in favor of the accessor \ + methods of this trait" )] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/netbsd/raw.rs b/library/std/src/os/netbsd/raw.rs index 475fcdcc4aaab..18057291feec8 100644 --- a/library/std/src/os/netbsd/raw.rs +++ b/library/std/src/os/netbsd/raw.rs @@ -1,12 +1,12 @@ //! NetBSD-specific raw type definitions #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/openbsd/fs.rs b/library/std/src/os/openbsd/fs.rs index 3143dc95fdf44..b8d8d31c5b8cf 100644 --- a/library/std/src/os/openbsd/fs.rs +++ b/library/std/src/os/openbsd/fs.rs @@ -18,10 +18,10 @@ pub trait MetadataExt { /// Unix platforms. The `os::unix::fs::MetadataExt` trait contains the /// cross-Unix abstractions contained within the raw stat. #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated( + #[deprecated( since = "1.8.0", - reason = "deprecated in favor of the accessor \ - methods of this trait" + note = "deprecated in favor of the accessor \ + methods of this trait" )] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/openbsd/raw.rs b/library/std/src/os/openbsd/raw.rs index 8e34e5483b7a0..6711fb51b1702 100644 --- a/library/std/src/os/openbsd/raw.rs +++ b/library/std/src/os/openbsd/raw.rs @@ -1,12 +1,12 @@ //! OpenBSD-specific raw type definitions #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/redox/fs.rs b/library/std/src/os/redox/fs.rs index 0f179c8b837dd..682ca6a2c0309 100644 --- a/library/std/src/os/redox/fs.rs +++ b/library/std/src/os/redox/fs.rs @@ -34,10 +34,10 @@ pub trait MetadataExt { /// } /// ``` #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated( + #[deprecated( since = "1.8.0", - reason = "deprecated in favor of the accessor \ - methods of this trait" + note = "deprecated in favor of the accessor \ + methods of this trait" )] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/redox/raw.rs b/library/std/src/os/redox/raw.rs index 9a6b99684c523..7b1cd8ae800a4 100644 --- a/library/std/src/os/redox/raw.rs +++ b/library/std/src/os/redox/raw.rs @@ -1,12 +1,12 @@ //! Redox-specific raw type definitions #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/solaris/fs.rs b/library/std/src/os/solaris/fs.rs index 908c5c38a842e..0931437370429 100644 --- a/library/std/src/os/solaris/fs.rs +++ b/library/std/src/os/solaris/fs.rs @@ -18,10 +18,10 @@ pub trait MetadataExt { /// Unix platforms. The `os::unix::fs::MetadataExt` trait contains the /// cross-Unix abstractions contained within the raw stat. #[stable(feature = "metadata_ext", since = "1.1.0")] - #[rustc_deprecated( + #[deprecated( since = "1.8.0", - reason = "deprecated in favor of the accessor \ - methods of this trait" + note = "deprecated in favor of the accessor \ + methods of this trait" )] #[allow(deprecated)] fn as_raw_stat(&self) -> &raw::stat; diff --git a/library/std/src/os/solaris/raw.rs b/library/std/src/os/solaris/raw.rs index e78f9992bb324..63426c96951f5 100644 --- a/library/std/src/os/solaris/raw.rs +++ b/library/std/src/os/solaris/raw.rs @@ -1,12 +1,12 @@ //! Solaris-specific raw type definitions #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/os/unix/process.rs b/library/std/src/os/unix/process.rs index d95bc9b15c9c4..9480d71798b9b 100644 --- a/library/std/src/os/unix/process.rs +++ b/library/std/src/os/unix/process.rs @@ -103,7 +103,7 @@ pub trait CommandExt: Sealed { /// /// [`pre_exec`]: CommandExt::pre_exec #[stable(feature = "process_exec", since = "1.15.0")] - #[rustc_deprecated(since = "1.37.0", reason = "should be unsafe, use `pre_exec` instead")] + #[deprecated(since = "1.37.0", note = "should be unsafe, use `pre_exec` instead")] fn before_exec<F>(&mut self, f: F) -> &mut process::Command where F: FnMut() -> io::Result<()> + Send + Sync + 'static, diff --git a/library/std/src/os/unix/raw.rs b/library/std/src/os/unix/raw.rs index c292955cb4eea..fe761627bc1f2 100644 --- a/library/std/src/os/unix/raw.rs +++ b/library/std/src/os/unix/raw.rs @@ -1,12 +1,12 @@ //! Unix-specific primitives available on all unix platforms. #![stable(feature = "raw_ext", since = "1.1.0")] -#![rustc_deprecated( +#![deprecated( since = "1.8.0", - reason = "these type aliases are no longer supported by \ - the standard library, the `libc` crate on \ - crates.io should be used instead for the correct \ - definitions" + note = "these type aliases are no longer supported by \ + the standard library, the `libc` crate on \ + crates.io should be used instead for the correct \ + definitions" )] #![allow(deprecated)] diff --git a/library/std/src/sync/condvar.rs b/library/std/src/sync/condvar.rs index b41918ec1cffc..7ff2f330f8a56 100644 --- a/library/std/src/sync/condvar.rs +++ b/library/std/src/sync/condvar.rs @@ -303,7 +303,7 @@ impl Condvar { /// } /// ``` #[stable(feature = "rust1", since = "1.0.0")] - #[rustc_deprecated(since = "1.6.0", reason = "replaced by `std::sync::Condvar::wait_timeout`")] + #[deprecated(since = "1.6.0", note = "replaced by `std::sync::Condvar::wait_timeout`")] pub fn wait_timeout_ms<'a, T>( &self, guard: MutexGuard<'a, T>, diff --git a/library/std/src/sync/once.rs b/library/std/src/sync/once.rs index d2dd4c075d2a9..a7feea588598c 100644 --- a/library/std/src/sync/once.rs +++ b/library/std/src/sync/once.rs @@ -152,9 +152,9 @@ pub struct OnceState { /// static START: Once = ONCE_INIT; /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated( +#[deprecated( since = "1.38.0", - reason = "the `new` function is now preferred", + note = "the `new` function is now preferred", suggestion = "Once::new()" )] pub const ONCE_INIT: Once = Once::new(); diff --git a/library/std/src/thread/mod.rs b/library/std/src/thread/mod.rs index 5309dc47ac4e7..803181c90b0e1 100644 --- a/library/std/src/thread/mod.rs +++ b/library/std/src/thread/mod.rs @@ -786,7 +786,7 @@ pub fn panicking() -> bool { /// thread::sleep_ms(2000); /// ``` #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "1.6.0", reason = "replaced by `std::thread::sleep`")] +#[deprecated(since = "1.6.0", note = "replaced by `std::thread::sleep`")] pub fn sleep_ms(ms: u32) { sleep(Duration::from_millis(ms as u64)) } @@ -940,7 +940,7 @@ pub fn park() { /// /// See the [park documentation][`park`] for more detail. #[stable(feature = "rust1", since = "1.0.0")] -#[rustc_deprecated(since = "1.6.0", reason = "replaced by `std::thread::park_timeout`")] +#[deprecated(since = "1.6.0", note = "replaced by `std::thread::park_timeout`")] pub fn park_timeout_ms(ms: u32) { park_timeout(Duration::from_millis(ms as u64)) } diff --git a/src/test/rustdoc/inline_cross/auxiliary/macros.rs b/src/test/rustdoc/inline_cross/auxiliary/macros.rs index 2165be9745229..651ae2f1ae875 100644 --- a/src/test/rustdoc/inline_cross/auxiliary/macros.rs +++ b/src/test/rustdoc/inline_cross/auxiliary/macros.rs @@ -1,11 +1,10 @@ #![feature(staged_api)] - #![stable(feature = "rust1", since = "1.0.0")] /// docs for my_macro #[unstable(feature = "macro_test", issue = "none")] -#[rustc_deprecated(since = "1.2.3", reason = "text")] +#[deprecated(since = "1.2.3", note = "text")] #[macro_export] macro_rules! my_macro { - () => () + () => {}; } diff --git a/src/test/rustdoc/issue-32374.rs b/src/test/rustdoc/issue-32374.rs index 7654a5615275a..01f95538196f0 100644 --- a/src/test/rustdoc/issue-32374.rs +++ b/src/test/rustdoc/issue-32374.rs @@ -14,7 +14,7 @@ // @matches issue_32374/struct.T.html '//*[@class="stab unstable"]' \ // '🔬 This is a nightly-only experimental API. \(test\s#32374\)$' /// Docs -#[rustc_deprecated(since = "1.0.0", reason = "text")] +#[deprecated(since = "1.0.0", note = "text")] #[unstable(feature = "test", issue = "32374")] pub struct T; @@ -22,6 +22,6 @@ pub struct T; // '👎 Deprecated since 1.0.0: deprecated' // @has issue_32374/struct.U.html '//*[@class="stab unstable"]' \ // '🔬 This is a nightly-only experimental API. (test #32374)' -#[rustc_deprecated(since = "1.0.0", reason = "deprecated")] +#[deprecated(since = "1.0.0", note = "deprecated")] #[unstable(feature = "test", issue = "32374", reason = "unstable")] pub struct U; diff --git a/src/test/rustdoc/rustc_deprecated-future.rs b/src/test/rustdoc/rustc_deprecated-future.rs index 95a767a8329ac..9bc99d712ecff 100644 --- a/src/test/rustdoc/rustc_deprecated-future.rs +++ b/src/test/rustdoc/rustc_deprecated-future.rs @@ -1,12 +1,11 @@ #![feature(staged_api)] - #![stable(feature = "rustc_deprecated-future-test", since = "1.0.0")] // @has rustc_deprecated_future/index.html '//*[@class="stab deprecated"]' \ // 'Deprecation planned' // @has rustc_deprecated_future/struct.S1.html '//*[@class="stab deprecated"]' \ // 'Deprecating in 99.99.99: effectively never' -#[rustc_deprecated(since = "99.99.99", reason = "effectively never")] +#[deprecated(since = "99.99.99", note = "effectively never")] #[stable(feature = "rustc_deprecated-future-test", since = "1.0.0")] pub struct S1; @@ -14,6 +13,6 @@ pub struct S1; // 'Deprecation planned' // @has rustc_deprecated_future/struct.S2.html '//*[@class="stab deprecated"]' \ // 'Deprecating in a future Rust version: literally never' -#[rustc_deprecated(since = "TBD", reason = "literally never")] +#[deprecated(since = "TBD", note = "literally never")] #[stable(feature = "rustc_deprecated-future-test", since = "1.0.0")] pub struct S2; diff --git a/src/test/ui/deprecation/deprecation-in-future.rs b/src/test/ui/deprecation/deprecation-in-future.rs index 53826183d06da..fb2a9a401ed22 100644 --- a/src/test/ui/deprecation/deprecation-in-future.rs +++ b/src/test/ui/deprecation/deprecation-in-future.rs @@ -6,7 +6,7 @@ pub fn deprecated_future() {} fn test() { - deprecated_future(); // ok; deprecated_in_future only applies to rustc_deprecated + deprecated_future(); // ok; deprecated_in_future only applies with `#![feature(staged_api)]` //~^ WARNING use of deprecated function `deprecated_future`: text [deprecated] } From e46f8b23dd2c4ddf3b68feaddad2c4b0b6e1c186 Mon Sep 17 00:00:00 2001 From: Jacob Pratt <jacob@jhpratt.dev> Date: Thu, 7 Apr 2022 23:44:55 -0400 Subject: [PATCH 3/6] Error on `#[rustc_deprecated]` --- compiler/rustc_attr/src/builtin.rs | 24 +++++++++++++++++-- compiler/rustc_lint_defs/src/builtin.rs | 9 ++++--- compiler/rustc_middle/src/middle/stability.rs | 5 ++-- src/librustdoc/html/render/mod.rs | 4 ++-- .../rustdoc/deprecated-future-staged-api.rs | 18 ++++++++++++++ src/test/rustdoc/inline_cross/macros.rs | 3 +-- src/test/rustdoc/rustc_deprecated-future.rs | 18 -------------- .../deprecation/deprecation-in-future.stderr | 2 +- src/test/ui/deprecation/deprecation-lint.rs | 2 +- src/test/ui/deprecation/rustc_deprecated.rs | 13 ++++++++++ .../ui/deprecation/rustc_deprecated.stderr | 21 ++++++++++++++++ 11 files changed, 85 insertions(+), 34 deletions(-) create mode 100644 src/test/rustdoc/deprecated-future-staged-api.rs delete mode 100644 src/test/rustdoc/rustc_deprecated-future.rs create mode 100644 src/test/ui/deprecation/rustc_deprecated.rs create mode 100644 src/test/ui/deprecation/rustc_deprecated.stderr diff --git a/compiler/rustc_attr/src/builtin.rs b/compiler/rustc_attr/src/builtin.rs index 8e748aaa58b59..466ab82031d24 100644 --- a/compiler/rustc_attr/src/builtin.rs +++ b/compiler/rustc_attr/src/builtin.rs @@ -687,6 +687,14 @@ where break; } + // FIXME(jhpratt) remove this eventually + if attr.has_name(sym::rustc_deprecated) { + diagnostic + .struct_span_err(attr.span, "`#[rustc_deprecated]` has been removed") + .help("use `#[deprecated]` instead") + .emit(); + } + let Some(meta) = attr.meta() else { continue; }; @@ -742,12 +750,24 @@ where continue 'outer; } } - // FIXME(jhpratt) remove this after a bootstrap occurs. Emitting an - // error specific to the renaming would be a good idea as well. + // FIXME(jhpratt) remove this eventually sym::reason if attr.has_name(sym::rustc_deprecated) => { if !get(mi, &mut note) { continue 'outer; } + + let mut diag = diagnostic + .struct_span_err(mi.span, "`reason` has been renamed"); + match note { + Some(note) => diag.span_suggestion( + mi.span, + "use `note` instead", + format!("note = \"{note}\""), + Applicability::MachineApplicable, + ), + None => diag.span_help(mi.span, "use `note` instead"), + }; + diag.emit(); } sym::suggestion => { if !sess.features_untracked().deprecated_suggestion { diff --git a/compiler/rustc_lint_defs/src/builtin.rs b/compiler/rustc_lint_defs/src/builtin.rs index 89ce307d12cd7..ae8fd026dbc90 100644 --- a/compiler/rustc_lint_defs/src/builtin.rs +++ b/compiler/rustc_lint_defs/src/builtin.rs @@ -2201,11 +2201,10 @@ declare_lint! { /// used by user code. /// /// This lint is only enabled in the standard library. It works with the - /// use of `#[rustc_deprecated]` with a `since` field of a version in the - /// future. This allows something to be marked as deprecated in a future - /// version, and then this lint will ensure that the item is no longer - /// used in the standard library. See the [stability documentation] for - /// more details. + /// use of `#[deprecated]` with a `since` field of a version in the future. + /// This allows something to be marked as deprecated in a future version, + /// and then this lint will ensure that the item is no longer used in the + /// standard library. See the [stability documentation] for more details. /// /// [stability documentation]: https://rustc-dev-guide.rust-lang.org/stability.html#rustc_deprecated pub DEPRECATED_IN_FUTURE, diff --git a/compiler/rustc_middle/src/middle/stability.rs b/compiler/rustc_middle/src/middle/stability.rs index fd6e241346db8..22f7c38d09746 100644 --- a/compiler/rustc_middle/src/middle/stability.rs +++ b/compiler/rustc_middle/src/middle/stability.rs @@ -118,8 +118,7 @@ pub fn deprecation_in_effect(depr: &Deprecation) -> bool { } if !is_since_rustc_version { - // The `since` field doesn't have semantic purpose in the stable `deprecated` - // attribute, only in `rustc_deprecated`. + // The `since` field doesn't have semantic purpose without `#![staged_api]`. return true; } @@ -336,7 +335,7 @@ impl<'tcx> TyCtxt<'tcx> { // topmost deprecation. For example, if a struct is deprecated, // the use of a field won't be linted. // - // #[rustc_deprecated] however wants to emit down the whole + // With #![staged_api], we want to emit down the whole // hierarchy. let depr_attr = &depr_entry.attr; if !skip || depr_attr.is_since_rustc_version { diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index a4cc42e2a0185..27b13a158ad3e 100644 --- a/src/librustdoc/html/render/mod.rs +++ b/src/librustdoc/html/render/mod.rs @@ -659,8 +659,8 @@ fn short_item_info( if let Some(depr @ Deprecation { note, since, is_since_rustc_version: _, suggestion: _ }) = item.deprecation(cx.tcx()) { - // We display deprecation messages for #[deprecated] and #[rustc_deprecated] - // but only display the future-deprecation messages for #[rustc_deprecated]. + // We display deprecation messages for #[deprecated], but only display + // the future-deprecation messages for rustc versions. let mut message = if let Some(since) = since { let since = since.as_str(); if !stability::deprecation_in_effect(&depr) { diff --git a/src/test/rustdoc/deprecated-future-staged-api.rs b/src/test/rustdoc/deprecated-future-staged-api.rs new file mode 100644 index 0000000000000..2670e7f5d046e --- /dev/null +++ b/src/test/rustdoc/deprecated-future-staged-api.rs @@ -0,0 +1,18 @@ +#![feature(staged_api)] +#![stable(feature = "deprecated-future-staged-api", since = "1.0.0")] + +// @has deprecated_future_staged_api/index.html '//*[@class="stab deprecated"]' \ +// 'Deprecation planned' +// @has deprecated_future_staged_api/struct.S1.html '//*[@class="stab deprecated"]' \ +// 'Deprecating in 99.99.99: effectively never' +#[deprecated(since = "99.99.99", note = "effectively never")] +#[stable(feature = "deprecated-future-staged-api", since = "1.0.0")] +pub struct S1; + +// @has deprecated_future_staged_api/index.html '//*[@class="stab deprecated"]' \ +// 'Deprecation planned' +// @has deprecated_future_staged_api/struct.S2.html '//*[@class="stab deprecated"]' \ +// 'Deprecating in a future Rust version: literally never' +#[deprecated(since = "TBD", note = "literally never")] +#[stable(feature = "deprecated-future-staged-api", since = "1.0.0")] +pub struct S2; diff --git a/src/test/rustdoc/inline_cross/macros.rs b/src/test/rustdoc/inline_cross/macros.rs index 9cb933c177bf0..13b4c3c7f61a4 100644 --- a/src/test/rustdoc/inline_cross/macros.rs +++ b/src/test/rustdoc/inline_cross/macros.rs @@ -2,7 +2,6 @@ // build-aux-docs #![feature(macro_test)] - #![crate_name = "foo"] extern crate macros; @@ -16,5 +15,5 @@ extern crate macros; // @has - '//*[@class="docblock"]' 'docs for my_macro' // @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.2.3: text' // @has - '//*[@class="stab unstable"]' 'macro_test' -// @has - '//a/@href' '../src/macros/macros.rs.html#9-11' +// @has - '//a/@href' '../src/macros/macros.rs.html#8-10' pub use macros::my_macro; diff --git a/src/test/rustdoc/rustc_deprecated-future.rs b/src/test/rustdoc/rustc_deprecated-future.rs deleted file mode 100644 index 9bc99d712ecff..0000000000000 --- a/src/test/rustdoc/rustc_deprecated-future.rs +++ /dev/null @@ -1,18 +0,0 @@ -#![feature(staged_api)] -#![stable(feature = "rustc_deprecated-future-test", since = "1.0.0")] - -// @has rustc_deprecated_future/index.html '//*[@class="stab deprecated"]' \ -// 'Deprecation planned' -// @has rustc_deprecated_future/struct.S1.html '//*[@class="stab deprecated"]' \ -// 'Deprecating in 99.99.99: effectively never' -#[deprecated(since = "99.99.99", note = "effectively never")] -#[stable(feature = "rustc_deprecated-future-test", since = "1.0.0")] -pub struct S1; - -// @has rustc_deprecated_future/index.html '//*[@class="stab deprecated"]' \ -// 'Deprecation planned' -// @has rustc_deprecated_future/struct.S2.html '//*[@class="stab deprecated"]' \ -// 'Deprecating in a future Rust version: literally never' -#[deprecated(since = "TBD", note = "literally never")] -#[stable(feature = "rustc_deprecated-future-test", since = "1.0.0")] -pub struct S2; diff --git a/src/test/ui/deprecation/deprecation-in-future.stderr b/src/test/ui/deprecation/deprecation-in-future.stderr index 6561ec74349e8..99d1c73413af4 100644 --- a/src/test/ui/deprecation/deprecation-in-future.stderr +++ b/src/test/ui/deprecation/deprecation-in-future.stderr @@ -1,7 +1,7 @@ warning: use of deprecated function `deprecated_future`: text --> $DIR/deprecation-in-future.rs:9:5 | -LL | deprecated_future(); // ok; deprecated_in_future only applies to rustc_deprecated +LL | deprecated_future(); // ok; deprecated_in_future only applies with `#![feature(staged_api)]` | ^^^^^^^^^^^^^^^^^ | = note: `#[warn(deprecated)]` on by default diff --git a/src/test/ui/deprecation/deprecation-lint.rs b/src/test/ui/deprecation/deprecation-lint.rs index a1a149ab3a0e1..65cc4e2ef1e41 100644 --- a/src/test/ui/deprecation/deprecation-lint.rs +++ b/src/test/ui/deprecation/deprecation-lint.rs @@ -260,7 +260,7 @@ mod this_crate { <Foo>::trait_deprecated_text(&foo); //~ ERROR use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text <Foo as Trait>::trait_deprecated_text(&foo); //~ ERROR use of deprecated associated function `this_crate::Trait::trait_deprecated_text`: text - // Future deprecations are only permitted for rustc_deprecated. + // Future deprecations are only permitted with `#![feature(staged_api)]` deprecated_future(); //~ ERROR use of deprecated function deprecated_future_text(); //~ ERROR use of deprecated function diff --git a/src/test/ui/deprecation/rustc_deprecated.rs b/src/test/ui/deprecation/rustc_deprecated.rs new file mode 100644 index 0000000000000..b87bd069c606c --- /dev/null +++ b/src/test/ui/deprecation/rustc_deprecated.rs @@ -0,0 +1,13 @@ +// compile-flags: --crate-type=lib + +#![feature(staged_api)] +#![stable(since = "1.0.0", feature = "rust1")] + +#[rustc_deprecated( //~ ERROR `#[rustc_deprecated]` has been removed + //~^ HELP use `#[deprecated]` instead + since = "1.100.0", + reason = "text" //~ ERROR `reason` has been renamed + //~^ HELP use `note` instead +)] +#[stable(feature = "rust1", since = "1.0.0")] +fn foo() {} diff --git a/src/test/ui/deprecation/rustc_deprecated.stderr b/src/test/ui/deprecation/rustc_deprecated.stderr new file mode 100644 index 0000000000000..4413e196f09c4 --- /dev/null +++ b/src/test/ui/deprecation/rustc_deprecated.stderr @@ -0,0 +1,21 @@ +error: `#[rustc_deprecated]` has been removed + --> $DIR/rustc_deprecated.rs:6:1 + | +LL | / #[rustc_deprecated( +LL | | +LL | | since = "1.100.0", +LL | | reason = "text" +LL | | +LL | | )] + | |__^ + | + = help: use `#[deprecated]` instead + +error: `reason` has been renamed + --> $DIR/rustc_deprecated.rs:9:5 + | +LL | reason = "text" + | ^^^^^^^^^^^^^^^ help: use `note` instead: `note = "text"` + +error: aborting due to 2 previous errors + From bfdf234fae852113d73fbe894d2583857b10d8d2 Mon Sep 17 00:00:00 2001 From: Jacob Pratt <jacob@jhpratt.dev> Date: Mon, 11 Apr 2022 20:41:10 -0400 Subject: [PATCH 4/6] Update error code docs --- compiler/rustc_error_codes/src/error_codes/E0539.md | 4 ++-- compiler/rustc_error_codes/src/error_codes/E0542.md | 8 ++++---- compiler/rustc_error_codes/src/error_codes/E0543.md | 10 +++++----- compiler/rustc_error_codes/src/error_codes/E0549.md | 12 ++++++------ compiler/rustc_error_codes/src/error_codes/E0734.md | 1 - compiler/rustc_lint_defs/src/builtin.rs | 2 +- 6 files changed, 18 insertions(+), 19 deletions(-) diff --git a/compiler/rustc_error_codes/src/error_codes/E0539.md b/compiler/rustc_error_codes/src/error_codes/E0539.md index df2d7d910bb36..c53d60a5f4757 100644 --- a/compiler/rustc_error_codes/src/error_codes/E0539.md +++ b/compiler/rustc_error_codes/src/error_codes/E0539.md @@ -6,7 +6,7 @@ Erroneous code example: #![feature(staged_api)] #![stable(since = "1.0.0", feature = "test")] -#[rustc_deprecated(reason)] // error! +#[deprecated(note)] // error! #[unstable(feature = "deprecated_fn", issue = "123")] fn deprecated() {} @@ -30,7 +30,7 @@ To fix these issues you need to give required key-value pairs. #![feature(staged_api)] #![stable(since = "1.0.0", feature = "test")] -#[rustc_deprecated(since = "1.39.0", reason = "reason")] // ok! +#[deprecated(since = "1.39.0", note = "reason")] // ok! #[unstable(feature = "deprecated_fn", issue = "123")] fn deprecated() {} diff --git a/compiler/rustc_error_codes/src/error_codes/E0542.md b/compiler/rustc_error_codes/src/error_codes/E0542.md index 7fecfeaa57c28..c69e574179b10 100644 --- a/compiler/rustc_error_codes/src/error_codes/E0542.md +++ b/compiler/rustc_error_codes/src/error_codes/E0542.md @@ -13,8 +13,8 @@ fn _stable_fn() {} const fn _stable_const_fn() {} #[stable(feature = "_deprecated_fn", since = "0.1.0")] -#[rustc_deprecated( - reason = "explanation for deprecation" +#[deprecated( + note = "explanation for deprecation" )] // invalid fn _deprecated_fn() {} ``` @@ -32,9 +32,9 @@ fn _stable_fn() {} const fn _stable_const_fn() {} #[stable(feature = "_deprecated_fn", since = "0.1.0")] -#[rustc_deprecated( +#[deprecated( since = "1.0.0", - reason = "explanation for deprecation" + note = "explanation for deprecation" )] // ok! fn _deprecated_fn() {} ``` diff --git a/compiler/rustc_error_codes/src/error_codes/E0543.md b/compiler/rustc_error_codes/src/error_codes/E0543.md index ba26f92e89f5e..d0b2e2f7a7d0f 100644 --- a/compiler/rustc_error_codes/src/error_codes/E0543.md +++ b/compiler/rustc_error_codes/src/error_codes/E0543.md @@ -1,4 +1,4 @@ -The `reason` value is missing in a stability attribute. +The `note` value is missing in a stability attribute. Erroneous code example: @@ -7,22 +7,22 @@ Erroneous code example: #![stable(since = "1.0.0", feature = "test")] #[stable(since = "0.1.0", feature = "_deprecated_fn")] -#[rustc_deprecated( +#[deprecated( since = "1.0.0" )] // invalid fn _deprecated_fn() {} ``` -To fix this issue, you need to provide the `reason` field. Example: +To fix this issue, you need to provide the `note` field. Example: ``` #![feature(staged_api)] #![stable(since = "1.0.0", feature = "test")] #[stable(since = "0.1.0", feature = "_deprecated_fn")] -#[rustc_deprecated( +#[deprecated( since = "1.0.0", - reason = "explanation for deprecation" + note = "explanation for deprecation" )] // ok! fn _deprecated_fn() {} ``` diff --git a/compiler/rustc_error_codes/src/error_codes/E0549.md b/compiler/rustc_error_codes/src/error_codes/E0549.md index d4b78e7e0d668..70e458a98673c 100644 --- a/compiler/rustc_error_codes/src/error_codes/E0549.md +++ b/compiler/rustc_error_codes/src/error_codes/E0549.md @@ -1,5 +1,5 @@ -A `rustc_deprecated` attribute wasn't paired with a `stable`/`unstable` -attribute. +A `deprecated` attribute wasn't paired with a `stable`/`unstable` attribute with +`#![feature(staged_api)]` enabled. Erroneous code example: @@ -7,9 +7,9 @@ Erroneous code example: #![feature(staged_api)] #![stable(since = "1.0.0", feature = "test")] -#[rustc_deprecated( +#[deprecated( since = "1.0.1", - reason = "explanation for deprecation" + note = "explanation for deprecation" )] // invalid fn _deprecated_fn() {} ``` @@ -22,9 +22,9 @@ Example: #![stable(since = "1.0.0", feature = "test")] #[stable(since = "1.0.0", feature = "test")] -#[rustc_deprecated( +#[deprecated( since = "1.0.1", - reason = "explanation for deprecation" + note = "explanation for deprecation" )] // ok! fn _deprecated_fn() {} ``` diff --git a/compiler/rustc_error_codes/src/error_codes/E0734.md b/compiler/rustc_error_codes/src/error_codes/E0734.md index 4b8e89a70604d..b912061ec42cc 100644 --- a/compiler/rustc_error_codes/src/error_codes/E0734.md +++ b/compiler/rustc_error_codes/src/error_codes/E0734.md @@ -3,7 +3,6 @@ A stability attribute has been used outside of the standard library. Erroneous code example: ```compile_fail,E0734 -#[rustc_deprecated(since = "b", reason = "text")] // invalid #[stable(feature = "a", since = "b")] // invalid #[unstable(feature = "b", issue = "none")] // invalid fn foo(){} diff --git a/compiler/rustc_lint_defs/src/builtin.rs b/compiler/rustc_lint_defs/src/builtin.rs index ae8fd026dbc90..60ac36ec69c34 100644 --- a/compiler/rustc_lint_defs/src/builtin.rs +++ b/compiler/rustc_lint_defs/src/builtin.rs @@ -2206,7 +2206,7 @@ declare_lint! { /// and then this lint will ensure that the item is no longer used in the /// standard library. See the [stability documentation] for more details. /// - /// [stability documentation]: https://rustc-dev-guide.rust-lang.org/stability.html#rustc_deprecated + /// [stability documentation]: https://rustc-dev-guide.rust-lang.org/stability.html#deprecated pub DEPRECATED_IN_FUTURE, Allow, "detects use of items that will be deprecated in a future version", From 0b3db4e4ee0767a8996f20538da85ce5e1bb46b2 Mon Sep 17 00:00:00 2001 From: Jacob Pratt <jacob@jhpratt.dev> Date: Mon, 11 Apr 2022 20:43:42 -0400 Subject: [PATCH 5/6] Use native duplicate attribute check --- compiler/rustc_attr/src/builtin.rs | 8 ------- compiler/rustc_feature/src/builtin_attrs.rs | 7 +++--- src/test/ui/deprecation/deprecation-sanity.rs | 2 +- .../ui/deprecation/deprecation-sanity.stderr | 22 +++++++++++-------- .../stability-attribute-sanity.rs | 2 +- .../stability-attribute-sanity.stderr | 22 +++++++++++-------- 6 files changed, 31 insertions(+), 32 deletions(-) diff --git a/compiler/rustc_attr/src/builtin.rs b/compiler/rustc_attr/src/builtin.rs index 466ab82031d24..5a79cf68f113e 100644 --- a/compiler/rustc_attr/src/builtin.rs +++ b/compiler/rustc_attr/src/builtin.rs @@ -679,14 +679,6 @@ where continue; } - if let Some((_, span)) = &depr { - struct_span_err!(diagnostic, attr.span, E0550, "multiple deprecated attributes") - .span_label(attr.span, "repeated deprecation attribute") - .span_label(*span, "first deprecation attribute") - .emit(); - break; - } - // FIXME(jhpratt) remove this eventually if attr.has_name(sym::rustc_deprecated) { diagnostic diff --git a/compiler/rustc_feature/src/builtin_attrs.rs b/compiler/rustc_feature/src/builtin_attrs.rs index e588385cfca03..2d94a028ebe3f 100644 --- a/compiler/rustc_feature/src/builtin_attrs.rs +++ b/compiler/rustc_feature/src/builtin_attrs.rs @@ -304,8 +304,7 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[ List: r#"/*opt*/ since = "version", /*opt*/ note = "reason""#, NameValueStr: "reason" ), - // This has special duplicate handling in E0550 to handle duplicates with rustc_deprecated - DuplicatesOk + ErrorFollowing ), // Crate properties: @@ -463,10 +462,10 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[ // ========================================================================== ungated!(feature, CrateLevel, template!(List: "name1, name2, ..."), DuplicatesOk), - // DuplicatesOk since it has its own validation + // FIXME(jhpratt) remove this eventually ungated!( rustc_deprecated, Normal, - template!(List: r#"since = "version", note = "...""#), DuplicatesOk // See E0550 + template!(List: r#"since = "version", note = "...""#), ErrorFollowing ), // DuplicatesOk since it has its own validation ungated!( diff --git a/src/test/ui/deprecation/deprecation-sanity.rs b/src/test/ui/deprecation/deprecation-sanity.rs index 4fc3fddadb99e..9ea75b68f81ce 100644 --- a/src/test/ui/deprecation/deprecation-sanity.rs +++ b/src/test/ui/deprecation/deprecation-sanity.rs @@ -24,7 +24,7 @@ mod bogus_attribute_types_1 { } #[deprecated(since = "a", note = "b")] -#[deprecated(since = "a", note = "b")] //~ ERROR multiple deprecated attributes +#[deprecated(since = "a", note = "b")] //~ ERROR multiple `deprecated` attributes fn multiple1() { } #[deprecated(since = "a", since = "b", note = "c")] //~ ERROR multiple 'since' items diff --git a/src/test/ui/deprecation/deprecation-sanity.stderr b/src/test/ui/deprecation/deprecation-sanity.stderr index 7e70c35eeabdf..973c672df91c3 100644 --- a/src/test/ui/deprecation/deprecation-sanity.stderr +++ b/src/test/ui/deprecation/deprecation-sanity.stderr @@ -1,3 +1,15 @@ +error: multiple `deprecated` attributes + --> $DIR/deprecation-sanity.rs:27:1 + | +LL | #[deprecated(since = "a", note = "b")] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute + | +note: attribute also specified here + --> $DIR/deprecation-sanity.rs:26:1 + | +LL | #[deprecated(since = "a", note = "b")] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + error[E0541]: unknown meta item 'reason' --> $DIR/deprecation-sanity.rs:4:43 | @@ -40,14 +52,6 @@ error[E0565]: item in `deprecated` must be a key/value pair LL | #[deprecated("test")] | ^^^^^^ -error[E0550]: multiple deprecated attributes - --> $DIR/deprecation-sanity.rs:27:1 - | -LL | #[deprecated(since = "a", note = "b")] - | -------------------------------------- first deprecation attribute -LL | #[deprecated(since = "a", note = "b")] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ repeated deprecation attribute - error[E0538]: multiple 'since' items --> $DIR/deprecation-sanity.rs:30:27 | @@ -64,5 +68,5 @@ LL | #[deprecated = "hello"] error: aborting due to 10 previous errors -Some errors have detailed explanations: E0538, E0541, E0550, E0551, E0565. +Some errors have detailed explanations: E0538, E0541, E0551, E0565. For more information about an error, try `rustc --explain E0538`. diff --git a/src/test/ui/stability-attribute/stability-attribute-sanity.rs b/src/test/ui/stability-attribute/stability-attribute-sanity.rs index f37a8f328a75a..cc30e6ab9a9b3 100644 --- a/src/test/ui/stability-attribute/stability-attribute-sanity.rs +++ b/src/test/ui/stability-attribute/stability-attribute-sanity.rs @@ -59,7 +59,7 @@ fn multiple3() { } #[stable(feature = "a", since = "b")] //~ ERROR invalid stability version found #[deprecated(since = "b", note = "text")] -#[deprecated(since = "b", note = "text")] //~ ERROR multiple deprecated attributes +#[deprecated(since = "b", note = "text")] //~ ERROR multiple `deprecated` attributes #[rustc_const_unstable(feature = "c", issue = "none")] #[rustc_const_unstable(feature = "d", issue = "none")] //~ ERROR multiple stability levels pub const fn multiple4() { } diff --git a/src/test/ui/stability-attribute/stability-attribute-sanity.stderr b/src/test/ui/stability-attribute/stability-attribute-sanity.stderr index 9e2d9f2708489..fcb1eefddbcef 100644 --- a/src/test/ui/stability-attribute/stability-attribute-sanity.stderr +++ b/src/test/ui/stability-attribute/stability-attribute-sanity.stderr @@ -1,3 +1,15 @@ +error: multiple `deprecated` attributes + --> $DIR/stability-attribute-sanity.rs:62:1 + | +LL | #[deprecated(since = "b", note = "text")] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove this attribute + | +note: attribute also specified here + --> $DIR/stability-attribute-sanity.rs:61:1 + | +LL | #[deprecated(since = "b", note = "text")] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + error[E0541]: unknown meta item 'reason' --> $DIR/stability-attribute-sanity.rs:8:42 | @@ -82,14 +94,6 @@ error[E0544]: multiple stability levels LL | #[stable(feature = "a", since = "b")] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -error[E0550]: multiple deprecated attributes - --> $DIR/stability-attribute-sanity.rs:62:1 - | -LL | #[deprecated(since = "b", note = "text")] - | ----------------------------------------- first deprecation attribute -LL | #[deprecated(since = "b", note = "text")] - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ repeated deprecation attribute - error[E0544]: multiple stability levels --> $DIR/stability-attribute-sanity.rs:64:1 | @@ -128,5 +132,5 @@ LL | #[stable(feature = "a", since = "1.0.0")] error: aborting due to 20 previous errors -Some errors have detailed explanations: E0539, E0541, E0542, E0543, E0544, E0546, E0547, E0549, E0550. +Some errors have detailed explanations: E0539, E0541, E0542, E0543, E0544, E0546, E0547, E0549. For more information about an error, try `rustc --explain E0539`. From dac487ae2bf9f0d51b7462e9d311d67f46048643 Mon Sep 17 00:00:00 2001 From: Jacob Pratt <jacob@jhpratt.dev> Date: Thu, 14 Apr 2022 01:59:00 -0400 Subject: [PATCH 6/6] Add note to E0550 With the change to built-in duplicate checking, E0550 is no longer emitted. --- compiler/rustc_error_codes/src/error_codes/E0550.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/rustc_error_codes/src/error_codes/E0550.md b/compiler/rustc_error_codes/src/error_codes/E0550.md index 1487d701847fc..6aac5c969d23b 100644 --- a/compiler/rustc_error_codes/src/error_codes/E0550.md +++ b/compiler/rustc_error_codes/src/error_codes/E0550.md @@ -1,8 +1,10 @@ +#### Note: this error code is no longer emitted by the compiler + More than one `deprecated` attribute has been put on an item. Erroneous code example: -```compile_fail,E0550 +```compile_fail #[deprecated(note = "because why not?")] #[deprecated(note = "right?")] // error! fn the_banished() {}