diff --git a/src/doc/reference.md b/src/doc/reference.md index b1aa400d1e2a7..2ce21b47dfb13 100644 --- a/src/doc/reference.md +++ b/src/doc/reference.md @@ -2327,7 +2327,7 @@ The currently implemented features of the reference compiler are: * `staged_api` - Allows usage of stability markers and `#![staged_api]` in a crate. Stability markers are also attributes: `#[stable]`, - `#[unstable]`, and `#[deprecated]` are the three levels. + `#[unstable]`, and `#[rustc_deprecated]` are the three levels. * `start` - Allows use of the `#[start]` attribute, which changes the entry point into a Rust program. This capability, especially the signature for the diff --git a/src/etc/featureck.py b/src/etc/featureck.py index c6f3bcdf9ec0b..d6cc25177e4ae 100644 --- a/src/etc/featureck.py +++ b/src/etc/featureck.py @@ -206,7 +206,7 @@ lang_stable_since = language_feature_stats[name][4] lib_stable_since = lib_feature_stats[name][4] - if lang_status != lib_status and lib_status != "deprecated": + if lang_status != lib_status and lib_status != "rustc_deprecated": print("error: feature '%s' has lang status %s " + "but lib status %s" % (name, lang_status, lib_status)) errors = True diff --git a/src/liballoc/arc.rs b/src/liballoc/arc.rs index 7863f1018116a..dba9b71c61cd4 100644 --- a/src/liballoc/arc.rs +++ b/src/liballoc/arc.rs @@ -385,7 +385,7 @@ impl Deref for Arc { impl Arc { #[unstable(feature = "arc_make_unique", reason = "renamed to Arc::make_mut", issue = "27718")] - #[deprecated(since = "1.4.0", reason = "renamed to Arc::make_mut")] + #[rustc_deprecated(since = "1.4.0", reason = "renamed to Arc::make_mut")] pub fn make_unique(this: &mut Self) -> &mut T { Arc::make_mut(this) } diff --git a/src/liballoc/lib.rs b/src/liballoc/lib.rs index 4113f67e617d1..3e87b7ebea8a2 100644 --- a/src/liballoc/lib.rs +++ b/src/liballoc/lib.rs @@ -74,6 +74,8 @@ #![no_std] #![cfg_attr(not(stage0), needs_allocator)] +#![cfg_attr(stage0, feature(rustc_attrs))] +#![cfg_attr(stage0, allow(unused_attributes))] #![feature(allocator)] #![feature(box_syntax)] #![feature(coerce_unsized)] diff --git a/src/liballoc/rc.rs b/src/liballoc/rc.rs index 7abdc447ee556..0ea5ecfda79e0 100644 --- a/src/liballoc/rc.rs +++ b/src/liballoc/rc.rs @@ -362,7 +362,7 @@ impl Rc { #[inline] #[unstable(feature = "rc_make_unique", reason = "renamed to Rc::make_mut", issue = "27718")] - #[deprecated(since = "1.4.0", reason = "renamed to Rc::make_mut")] + #[rustc_deprecated(since = "1.4.0", reason = "renamed to Rc::make_mut")] pub fn make_unique(&mut self) -> &mut T { Rc::make_mut(self) } diff --git a/src/libcollections/binary_heap.rs b/src/libcollections/binary_heap.rs index db555fe61aa37..92d9ee51d2a3b 100644 --- a/src/libcollections/binary_heap.rs +++ b/src/libcollections/binary_heap.rs @@ -241,7 +241,7 @@ impl BinaryHeap { #[unstable(feature = "binary_heap_extras", reason = "needs to be audited", issue = "28147")] - #[deprecated(since = "1.5.0", reason = "use BinaryHeap::from instead")] + #[rustc_deprecated(since = "1.5.0", reason = "use BinaryHeap::from instead")] pub fn from_vec(vec: Vec) -> BinaryHeap { BinaryHeap::from(vec) } diff --git a/src/libcollections/btree/map.rs b/src/libcollections/btree/map.rs index 178d7a4a05294..c64a62ecdaf2d 100644 --- a/src/libcollections/btree/map.rs +++ b/src/libcollections/btree/map.rs @@ -161,7 +161,7 @@ impl BTreeMap { #[unstable(feature = "btree_b", reason = "probably want this to be on the type, eventually", issue = "27795")] - #[deprecated(since = "1.4.0", reason = "niche API")] + #[rustc_deprecated(since = "1.4.0", reason = "niche API")] pub fn with_b(b: usize) -> BTreeMap { assert!(b > 1, "B must be greater than 1"); BTreeMap { diff --git a/src/libcollections/btree/set.rs b/src/libcollections/btree/set.rs index 0c70a1544ef92..af43a5e108f25 100644 --- a/src/libcollections/btree/set.rs +++ b/src/libcollections/btree/set.rs @@ -105,7 +105,7 @@ impl BTreeSet { #[unstable(feature = "btree_b", reason = "probably want this to be on the type, eventually", issue = "27795")] - #[deprecated(since = "1.4.0", reason = "niche API")] + #[rustc_deprecated(since = "1.4.0", reason = "niche API")] #[allow(deprecated)] pub fn with_b(b: usize) -> BTreeSet { BTreeSet { map: BTreeMap::with_b(b) } diff --git a/src/libcollections/lib.rs b/src/libcollections/lib.rs index dfdf36e6f605b..b9b560df0b658 100644 --- a/src/libcollections/lib.rs +++ b/src/libcollections/lib.rs @@ -37,6 +37,8 @@ // SNAP 1af31d4 #![allow(unused_attributes)] +#![cfg_attr(stage0, feature(rustc_attrs))] +#![cfg_attr(stage0, allow(unused_attributes))] #![feature(alloc)] #![feature(box_patterns)] #![feature(box_syntax)] diff --git a/src/libcollections/slice.rs b/src/libcollections/slice.rs index ec8881279831a..9e594fc6b9926 100644 --- a/src/libcollections/slice.rs +++ b/src/libcollections/slice.rs @@ -862,7 +862,7 @@ pub trait SliceConcatExt { /// assert_eq!(["hello", "world"].connect(" "), "hello world"); /// ``` #[stable(feature = "rust1", since = "1.0.0")] - #[deprecated(since = "1.3.0", reason = "renamed to join")] + #[rustc_deprecated(since = "1.3.0", reason = "renamed to join")] fn connect(&self, sep: &T) -> Self::Output; } diff --git a/src/libcollections/str.rs b/src/libcollections/str.rs index c16ce61a1365a..b2a9387680672 100644 --- a/src/libcollections/str.rs +++ b/src/libcollections/str.rs @@ -665,7 +665,7 @@ impl str { /// assert_eq!(v, ["foo", "bar", "", "baz"]); /// ``` #[stable(feature = "rust1", since = "1.0.0")] - #[deprecated(since = "1.4.0", reason = "use lines() instead now")] + #[rustc_deprecated(since = "1.4.0", reason = "use lines() instead now")] #[inline] #[allow(deprecated)] pub fn lines_any(&self) -> LinesAny { diff --git a/src/libcollections/string.rs b/src/libcollections/string.rs index 84667e04e04cb..adcfe4cbc2894 100644 --- a/src/libcollections/string.rs +++ b/src/libcollections/string.rs @@ -842,7 +842,7 @@ impl String { #[unstable(feature = "box_str2", reason = "recently added, matches RFC", issue = "27785")] - #[deprecated(since = "1.4.0", reason = "renamed to `into_boxed_str`")] + #[rustc_deprecated(since = "1.4.0", reason = "renamed to `into_boxed_str`")] pub fn into_boxed_slice(self) -> Box { self.into_boxed_str() } diff --git a/src/libcollections/vec_deque.rs b/src/libcollections/vec_deque.rs index 1064fcdd9178b..bab4d1a9abc97 100644 --- a/src/libcollections/vec_deque.rs +++ b/src/libcollections/vec_deque.rs @@ -1058,7 +1058,7 @@ impl VecDeque { #[unstable(feature = "deque_extras", reason = "the naming of this function may be altered", issue = "27788")] - #[deprecated(since = "1.5.0", reason = "renamed to swap_remove_back")] + #[rustc_deprecated(since = "1.5.0", reason = "renamed to swap_remove_back")] pub fn swap_back_remove(&mut self, index: usize) -> Option { self.swap_remove_back(index) } @@ -1101,7 +1101,7 @@ impl VecDeque { #[unstable(feature = "deque_extras", reason = "the naming of this function may be altered", issue = "27788")] - #[deprecated(since = "1.5.0", reason = "renamed to swap_remove_front")] + #[rustc_deprecated(since = "1.5.0", reason = "renamed to swap_remove_front")] pub fn swap_front_remove(&mut self, index: usize) -> Option { self.swap_remove_front(index) } diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs index 80774fc2acf1a..98359b70ca165 100644 --- a/src/libcore/iter.rs +++ b/src/libcore/iter.rs @@ -4303,7 +4303,7 @@ impl Iterator for StepBy> where #[unstable(feature = "range_inclusive", reason = "likely to be replaced by range notation and adapters", issue = "27777")] -#[deprecated(since = "1.5.0", reason = "replaced with ... syntax")] +#[rustc_deprecated(since = "1.5.0", reason = "replaced with ... syntax")] #[allow(deprecated)] pub struct RangeInclusive { range: ops::Range, @@ -4315,7 +4315,7 @@ pub struct RangeInclusive { #[unstable(feature = "range_inclusive", reason = "likely to be replaced by range notation and adapters", issue = "27777")] -#[deprecated(since = "1.5.0", reason = "replaced with ... syntax")] +#[rustc_deprecated(since = "1.5.0", reason = "replaced with ... syntax")] #[allow(deprecated)] pub fn range_inclusive(start: A, stop: A) -> RangeInclusive where A: Step + One + Clone @@ -4329,7 +4329,7 @@ pub fn range_inclusive(start: A, stop: A) -> RangeInclusive #[unstable(feature = "range_inclusive", reason = "likely to be replaced by range notation and adapters", issue = "27777")] -#[deprecated(since = "1.5.0", reason = "replaced with ... syntax")] +#[rustc_deprecated(since = "1.5.0", reason = "replaced with ... syntax")] #[allow(deprecated)] impl Iterator for RangeInclusive where A: PartialEq + Step + One + Clone, @@ -4365,7 +4365,7 @@ impl Iterator for RangeInclusive where #[unstable(feature = "range_inclusive", reason = "likely to be replaced by range notation and adapters", issue = "27777")] -#[deprecated(since = "1.5.0", reason = "replaced with ... syntax")] +#[rustc_deprecated(since = "1.5.0", reason = "replaced with ... syntax")] #[allow(deprecated)] impl DoubleEndedIterator for RangeInclusive where A: PartialEq + Step + One + Clone, @@ -4743,7 +4743,7 @@ pub fn once(value: T) -> Once { /// /// If two sequences are equal up until the point where one ends, /// the shorter sequence compares less. -#[deprecated(since = "1.4.0", reason = "use the equivalent methods on `Iterator` instead")] +#[rustc_deprecated(since = "1.4.0", reason = "use the equivalent methods on `Iterator` instead")] #[unstable(feature = "iter_order_deprecated", reason = "needs review and revision", issue = "27737")] pub mod order { diff --git a/src/libcore/lib.rs b/src/libcore/lib.rs index c97f8e529a2a8..3ebf9d6be63f2 100644 --- a/src/libcore/lib.rs +++ b/src/libcore/lib.rs @@ -68,6 +68,8 @@ #![no_core] #![deny(missing_docs)] +#![cfg_attr(stage0, feature(rustc_attrs))] +#![cfg_attr(stage0, allow(unused_attributes))] #![feature(allow_internal_unstable)] #![feature(associated_type_defaults)] #![feature(concat_idents)] @@ -80,7 +82,6 @@ #![feature(on_unimplemented)] #![feature(optin_builtin_traits)] #![feature(reflect)] -#![feature(rustc_attrs)] #![feature(unwind_attributes)] #![cfg_attr(stage0, feature(simd))] #![cfg_attr(not(stage0), feature(repr_simd, platform_intrinsics))] diff --git a/src/libcore/mem.rs b/src/libcore/mem.rs index 2f01ea383400a..ee6e708ea327d 100644 --- a/src/libcore/mem.rs +++ b/src/libcore/mem.rs @@ -159,7 +159,7 @@ pub fn size_of_val(val: &T) -> usize { /// ``` #[inline] #[stable(feature = "rust1", since = "1.0.0")] -#[deprecated(reason = "use `align_of` instead", since = "1.2.0")] +#[rustc_deprecated(reason = "use `align_of` instead", since = "1.2.0")] pub fn min_align_of() -> usize { unsafe { intrinsics::min_align_of::() } } @@ -176,7 +176,7 @@ pub fn min_align_of() -> usize { /// ``` #[inline] #[stable(feature = "rust1", since = "1.0.0")] -#[deprecated(reason = "use `align_of_val` instead", since = "1.2.0")] +#[rustc_deprecated(reason = "use `align_of_val` instead", since = "1.2.0")] pub fn min_align_of_val(val: &T) -> usize { unsafe { intrinsics::min_align_of_val(val) } } diff --git a/src/libcore/option.rs b/src/libcore/option.rs index 7a3b83f68d0d8..209cebeaf1bc3 100644 --- a/src/libcore/option.rs +++ b/src/libcore/option.rs @@ -290,7 +290,7 @@ impl Option { #[unstable(feature = "as_slice", reason = "waiting for mut conventions", issue = "27776")] - #[deprecated(since = "1.4.0", reason = "niche API, unclear of usefulness")] + #[rustc_deprecated(since = "1.4.0", reason = "niche API, unclear of usefulness")] #[allow(deprecated)] pub fn as_mut_slice(&mut self) -> &mut [T] { match *self { @@ -695,7 +695,7 @@ impl Option { #[inline] #[unstable(feature = "as_slice", reason = "unsure of the utility here", issue = "27776")] - #[deprecated(since = "1.4.0", reason = "niche API, unclear of usefulness")] + #[rustc_deprecated(since = "1.4.0", reason = "niche API, unclear of usefulness")] #[allow(deprecated)] pub fn as_slice(&self) -> &[T] { match *self { diff --git a/src/libcore/result.rs b/src/libcore/result.rs index d6b6a79d6a869..37c40f96b0f71 100644 --- a/src/libcore/result.rs +++ b/src/libcore/result.rs @@ -410,7 +410,7 @@ impl Result { #[inline] #[unstable(feature = "as_slice", reason = "unsure of the utility here", issue = "27776")] - #[deprecated(since = "1.4.0", reason = "niche API, unclear of usefulness")] + #[rustc_deprecated(since = "1.4.0", reason = "niche API, unclear of usefulness")] #[allow(deprecated)] pub fn as_slice(&self) -> &[T] { match *self { @@ -445,7 +445,7 @@ impl Result { #[unstable(feature = "as_slice", reason = "waiting for mut conventions", issue = "27776")] - #[deprecated(since = "1.4.0", reason = "niche API, unclear of usefulness")] + #[rustc_deprecated(since = "1.4.0", reason = "niche API, unclear of usefulness")] #[allow(deprecated)] pub fn as_mut_slice(&mut self) -> &mut [T] { match *self { diff --git a/src/libcore/simd.rs b/src/libcore/simd.rs index fb39b3accc344..697f96ddefbf8 100644 --- a/src/libcore/simd.rs +++ b/src/libcore/simd.rs @@ -24,7 +24,7 @@ #![unstable(feature = "core_simd", reason = "needs an RFC to flesh out the design", issue = "27731")] -#![deprecated(since = "1.3.0", +#![rustc_deprecated(since = "1.3.0", reason = "use the external `simd` crate instead")] #![allow(non_camel_case_types)] diff --git a/src/libcore/slice.rs b/src/libcore/slice.rs index efb782fece851..4c532aaaf4f22 100644 --- a/src/libcore/slice.rs +++ b/src/libcore/slice.rs @@ -1423,7 +1423,7 @@ impl<'a, T> ExactSizeIterator for ChunksMut<'a, T> {} /// Converts a reference to A into a slice of length 1 (without copying). #[unstable(feature = "ref_slice", issue = "27774")] -#[deprecated(since = "1.5.0", reason = "unclear whether belongs in libstd")] +#[rustc_deprecated(since = "1.5.0", reason = "unclear whether belongs in libstd")] pub fn ref_slice(s: &A) -> &[A] { unsafe { from_raw_parts(s, 1) @@ -1432,7 +1432,7 @@ pub fn ref_slice(s: &A) -> &[A] { /// Converts a reference to A into a slice of length 1 (without copying). #[unstable(feature = "ref_slice", issue = "27774")] -#[deprecated(since = "1.5.0", reason = "unclear whether belongs in libstd")] +#[rustc_deprecated(since = "1.5.0", reason = "unclear whether belongs in libstd")] pub fn mut_ref_slice(s: &mut A) -> &mut [A] { unsafe { from_raw_parts_mut(s, 1) diff --git a/src/libcore/str/mod.rs b/src/libcore/str/mod.rs index f82b9d79d5cd4..c27059a9c3c19 100644 --- a/src/libcore/str/mod.rs +++ b/src/libcore/str/mod.rs @@ -955,7 +955,7 @@ impl<'a> DoubleEndedIterator for Lines<'a> { /// Created with the method `.lines_any()`. #[stable(feature = "rust1", since = "1.0.0")] -#[deprecated(since = "1.4.0", reason = "use lines()/Lines instead now")] +#[rustc_deprecated(since = "1.4.0", reason = "use lines()/Lines instead now")] #[derive(Clone)] #[allow(deprecated)] pub struct LinesAny<'a>(Lines<'a>); diff --git a/src/librustc/middle/stability.rs b/src/librustc/middle/stability.rs index 2ba66807d4ecc..a696b85116e9e 100644 --- a/src/librustc/middle/stability.rs +++ b/src/librustc/middle/stability.rs @@ -162,7 +162,7 @@ impl<'a, 'tcx: 'a> Annotator<'a, 'tcx> { // Emit errors for non-staged-api crates. for attr in attrs { let tag = attr.name(); - if tag == "unstable" || tag == "stable" || tag == "deprecated" { + if tag == "unstable" || tag == "stable" || tag == "rustc_deprecated" { attr::mark_used(attr); self.tcx.sess.span_err(attr.span(), "stability attributes may not be used \ outside of the standard library"); diff --git a/src/librustc_lint/builtin.rs b/src/librustc_lint/builtin.rs index d24c336dd3fbd..86d141e5ae018 100644 --- a/src/librustc_lint/builtin.rs +++ b/src/librustc_lint/builtin.rs @@ -577,10 +577,10 @@ impl LateLintPass for MissingDebugImplementations { declare_lint! { DEPRECATED, Warn, - "detects use of #[deprecated] items" + "detects use of #[rustc_deprecated] items" } -/// Checks for use of items with `#[deprecated]` attributes +/// Checks for use of items with `#[rustc_deprecated]` attributes #[derive(Copy, Clone)] pub struct Stability; diff --git a/src/librustc_unicode/lib.rs b/src/librustc_unicode/lib.rs index 79ce8aacae815..af92e96fcdfdc 100644 --- a/src/librustc_unicode/lib.rs +++ b/src/librustc_unicode/lib.rs @@ -34,6 +34,8 @@ test(no_crate_inject, attr(allow(unused_variables), deny(warnings))))] #![no_std] +#![cfg_attr(stage0, feature(rustc_attrs))] +#![cfg_attr(stage0, allow(unused_attributes))] #![feature(core_char_ext)] #![feature(core_slice_ext)] #![feature(core_str_ext)] diff --git a/src/librustc_unicode/u_str.rs b/src/librustc_unicode/u_str.rs index 57d96bf43719e..4d9f5d5fdd459 100644 --- a/src/librustc_unicode/u_str.rs +++ b/src/librustc_unicode/u_str.rs @@ -129,7 +129,7 @@ pub fn is_utf16(v: &[u16]) -> bool { /// An iterator that decodes UTF-16 encoded codepoints from a vector /// of `u16`s. -#[deprecated(since = "1.4.0", reason = "renamed to `char::DecodeUtf16`")] +#[rustc_deprecated(since = "1.4.0", reason = "renamed to `char::DecodeUtf16`")] #[unstable(feature = "decode_utf16", reason = "not exposed in std", issue = "27830")] #[allow(deprecated)] #[derive(Clone)] @@ -138,7 +138,8 @@ pub struct Utf16Items<'a> { } /// The possibilities for values decoded from a `u16` stream. -#[deprecated(since = "1.4.0", reason = "`char::DecodeUtf16` uses `Result` instead")] +#[rustc_deprecated(since = "1.4.0", + reason = "`char::DecodeUtf16` uses `Result` instead")] #[unstable(feature = "decode_utf16", reason = "not exposed in std", issue = "27830")] #[allow(deprecated)] #[derive(Copy, PartialEq, Eq, Clone, Debug)] @@ -162,7 +163,7 @@ impl Utf16Item { } } -#[deprecated(since = "1.4.0", reason = "use `char::DecodeUtf16` instead")] +#[rustc_deprecated(since = "1.4.0", reason = "use `char::DecodeUtf16` instead")] #[unstable(feature = "decode_utf16", reason = "not exposed in std", issue = "27830")] #[allow(deprecated)] impl<'a> Iterator for Utf16Items<'a> { @@ -210,7 +211,7 @@ impl<'a> Iterator for Utf16Items<'a> { /// LoneSurrogate(0xD834)]); /// } /// ``` -#[deprecated(since = "1.4.0", reason = "renamed to `char::decode_utf16`")] +#[rustc_deprecated(since = "1.4.0", reason = "renamed to `char::decode_utf16`")] #[unstable(feature = "decode_utf16", reason = "not exposed in std", issue = "27830")] #[allow(deprecated)] pub fn utf16_items<'a>(v: &'a [u16]) -> Utf16Items<'a> { diff --git a/src/libstd/dynamic_lib.rs b/src/libstd/dynamic_lib.rs index 1cb48407f1069..62ec23ccb2000 100644 --- a/src/libstd/dynamic_lib.rs +++ b/src/libstd/dynamic_lib.rs @@ -16,7 +16,7 @@ reason = "API has not been scrutinized and is highly likely to \ either disappear or change", issue = "27810")] -#![deprecated(since = "1.5.0", reason = "replaced with crates.io crates")] +#![rustc_deprecated(since = "1.5.0", reason = "replaced with crates.io crates")] #![allow(missing_docs)] #![allow(deprecated)] diff --git a/src/libstd/ffi/c_str.rs b/src/libstd/ffi/c_str.rs index 42fd2321f011d..40fb450bea195 100644 --- a/src/libstd/ffi/c_str.rs +++ b/src/libstd/ffi/c_str.rs @@ -213,7 +213,7 @@ impl CString { /// using the pointer. #[unstable(feature = "cstr_memory2", reason = "recently added", issue = "27769")] - #[deprecated(since = "1.4.0", reason = "renamed to from_raw")] + #[rustc_deprecated(since = "1.4.0", reason = "renamed to from_raw")] pub unsafe fn from_ptr(ptr: *const c_char) -> CString { CString::from_raw(ptr as *mut _) } @@ -240,7 +240,7 @@ impl CString { /// Failure to call `from_raw` will lead to a memory leak. #[unstable(feature = "cstr_memory2", reason = "recently added", issue = "27769")] - #[deprecated(since = "1.4.0", reason = "renamed to into_raw")] + #[rustc_deprecated(since = "1.4.0", reason = "renamed to into_raw")] pub fn into_ptr(self) -> *const c_char { self.into_raw() as *const _ } diff --git a/src/libstd/fs.rs b/src/libstd/fs.rs index e00b02f518c5b..93ee8b47a5017 100644 --- a/src/libstd/fs.rs +++ b/src/libstd/fs.rs @@ -922,7 +922,7 @@ pub fn hard_link, Q: AsRef>(src: P, dst: Q) -> io::Result<( /// # Ok(()) /// # } /// ``` -#[deprecated(since = "1.1.0", +#[rustc_deprecated(since = "1.1.0", reason = "replaced with std::os::unix::fs::symlink and \ std::os::windows::fs::{symlink_file, symlink_dir}")] #[stable(feature = "rust1", since = "1.0.0")] @@ -1176,7 +1176,7 @@ impl Iterator for WalkDir { change and some methods may be removed. For stable code, \ see the std::fs::metadata function.", issue = "27725")] -#[deprecated(since = "1.5.0", reason = "replaced with inherent methods")] +#[rustc_deprecated(since = "1.5.0", reason = "replaced with inherent methods")] pub trait PathExt { /// Gets information on the file, directory, etc at this path. /// diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index 6d8d6f82f0736..9700e95ed0fe3 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -216,6 +216,8 @@ #![cfg_attr(stage0, allow(unused_attributes))] #![cfg_attr(stage0, allow(improper_ctypes))] +#![cfg_attr(stage0, feature(rustc_attrs))] +#![cfg_attr(stage0, allow(unused_attributes))] #![feature(alloc)] #![feature(allow_internal_unstable)] #![feature(asm)] diff --git a/src/libstd/num/f32.rs b/src/libstd/num/f32.rs index ab25fe17c2c47..ab15867d36505 100644 --- a/src/libstd/num/f32.rs +++ b/src/libstd/num/f32.rs @@ -129,7 +129,7 @@ impl f32 { /// Parses a float as with a given radix #[unstable(feature = "float_from_str_radix", reason = "recently moved API", issue = "27736")] - #[deprecated(since = "1.4.0", + #[rustc_deprecated(since = "1.4.0", reason = "unclear how useful or correct this is")] pub fn from_str_radix(s: &str, radix: u32) -> Result { num::Float::from_str_radix(s, radix) diff --git a/src/libstd/num/f64.rs b/src/libstd/num/f64.rs index b392ab0c8daee..cad42ee64f11f 100644 --- a/src/libstd/num/f64.rs +++ b/src/libstd/num/f64.rs @@ -86,7 +86,7 @@ impl f64 { /// Parses a float as with a given radix #[unstable(feature = "float_from_str_radix", reason = "recently moved API", issue = "27736")] - #[deprecated(since = "1.4.0", + #[rustc_deprecated(since = "1.4.0", reason = "unclear how useful or correct this is")] pub fn from_str_radix(s: &str, radix: u32) -> Result { num::Float::from_str_radix(s, radix) @@ -355,7 +355,7 @@ impl f64 { pub fn is_sign_positive(self) -> bool { num::Float::is_positive(self) } #[stable(feature = "rust1", since = "1.0.0")] - #[deprecated(since = "1.0.0", reason = "renamed to is_sign_positive")] + #[rustc_deprecated(since = "1.0.0", reason = "renamed to is_sign_positive")] #[inline] pub fn is_positive(self) -> bool { num::Float::is_positive(self) } @@ -380,7 +380,7 @@ impl f64 { pub fn is_sign_negative(self) -> bool { num::Float::is_negative(self) } #[stable(feature = "rust1", since = "1.0.0")] - #[deprecated(since = "1.0.0", reason = "renamed to is_sign_negative")] + #[rustc_deprecated(since = "1.0.0", reason = "renamed to is_sign_negative")] #[inline] pub fn is_negative(self) -> bool { num::Float::is_negative(self) } diff --git a/src/libstd/sync/condvar.rs b/src/libstd/sync/condvar.rs index 389c9c4a0661d..d817a261f7c94 100644 --- a/src/libstd/sync/condvar.rs +++ b/src/libstd/sync/condvar.rs @@ -166,7 +166,7 @@ impl Condvar { /// Like `wait`, the lock specified will be re-acquired when this function /// returns, regardless of whether the timeout elapsed or not. #[stable(feature = "rust1", since = "1.0.0")] - #[deprecated(since = "1.6.0", reason = "replaced by `std::sync::Condvar::wait_timeout`")] + #[rustc_deprecated(since = "1.6.0", reason = "replaced by `std::sync::Condvar::wait_timeout`")] #[allow(deprecated)] pub fn wait_timeout_ms<'a, T>(&self, guard: MutexGuard<'a, T>, ms: u32) -> LockResult<(MutexGuard<'a, T>, bool)> { @@ -290,7 +290,8 @@ impl StaticCondvar { #[unstable(feature = "static_condvar", reason = "may be merged with Condvar in the future", issue = "27717")] - #[deprecated(since = "1.6.0", reason = "replaced by `std::sync::StaticCondvar::wait_timeout`")] + #[rustc_deprecated(since = "1.6.0", + reason = "replaced by `std::sync::StaticCondvar::wait_timeout`")] pub fn wait_timeout_ms<'a, T>(&'static self, guard: MutexGuard<'a, T>, ms: u32) -> LockResult<(MutexGuard<'a, T>, bool)> { match self.wait_timeout(guard, Duration::from_millis(ms as u64)) { diff --git a/src/libstd/thread/mod.rs b/src/libstd/thread/mod.rs index 84ceb9b0a5113..eaa32cdb3424d 100644 --- a/src/libstd/thread/mod.rs +++ b/src/libstd/thread/mod.rs @@ -392,7 +392,7 @@ pub fn catch_panic(f: F) -> Result /// this function will not return early due to a signal being received or a /// spurious wakeup. #[stable(feature = "rust1", since = "1.0.0")] -#[deprecated(since = "1.6.0", reason = "replaced by `std::thread::sleep`")] +#[rustc_deprecated(since = "1.6.0", reason = "replaced by `std::thread::sleep`")] pub fn sleep_ms(ms: u32) { sleep(Duration::from_millis(ms as u64)) } @@ -459,7 +459,7 @@ pub fn park() { /// /// See the module doc for more detail. #[stable(feature = "rust1", since = "1.0.0")] -#[deprecated(since = "1.6.0", reason = "replaced by `std::thread::park_timeout`")] +#[rustc_deprecated(since = "1.6.0", reason = "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/libsyntax/attr.rs b/src/libsyntax/attr.rs index 571f950643792..153a81e6c5475 100644 --- a/src/libsyntax/attr.rs +++ b/src/libsyntax/attr.rs @@ -381,7 +381,7 @@ pub fn cfg_matches(diagnostic: &SpanHandler, cfgs: &[P], cfg: &ast::Me } } -/// Represents the #[stable], #[unstable] and #[deprecated] attributes. +/// Represents the #[stable], #[unstable] and #[rustc_deprecated] attributes. #[derive(RustcEncodable, RustcDecodable, Clone, Debug, PartialEq, Eq, Hash)] pub struct Stability { pub level: StabilityLevel, @@ -420,7 +420,7 @@ fn find_stability_generic<'a, I>(diagnostic: &SpanHandler, 'outer: for attr in attrs_iter { let tag = attr.name(); let tag = &*tag; - if tag != "deprecated" && tag != "unstable" && tag != "stable" { + if tag != "rustc_deprecated" && tag != "unstable" && tag != "stable" { continue // not a stability level } @@ -443,9 +443,9 @@ fn find_stability_generic<'a, I>(diagnostic: &SpanHandler, }; match tag { - "deprecated" => { + "rustc_deprecated" => { if depr.is_some() { - diagnostic.span_err(item_sp, "multiple deprecated attributes"); + diagnostic.span_err(item_sp, "multiple rustc_deprecated attributes"); break } @@ -586,7 +586,7 @@ fn find_stability_generic<'a, I>(diagnostic: &SpanHandler, } stab.depr = Some(depr); } else { - diagnostic.span_err(item_sp, "deprecated attribute must be paired with \ + diagnostic.span_err(item_sp, "rustc_deprecated attribute must be paired with \ either stable or unstable attribute"); } } diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs index 18db028b60b4c..7ae63acce0119 100644 --- a/src/libsyntax/ext/base.rs +++ b/src/libsyntax/ext/base.rs @@ -600,7 +600,7 @@ impl<'a> ExtCtxt<'a> { } #[unstable(feature = "rustc_private", issue = "0")] - #[deprecated(since = "1.0.0", + #[rustc_deprecated(since = "1.0.0", reason = "Replaced with `expander().fold_expr()`")] pub fn expand_expr(&mut self, e: P) -> P { self.expander().fold_expr(e) diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs index ca232963e65a9..1663bdca51f06 100644 --- a/src/libsyntax/feature_gate.rs +++ b/src/libsyntax/feature_gate.rs @@ -370,7 +370,7 @@ pub const KNOWN_ATTRIBUTES: &'static [(&'static str, AttributeType, AttributeGat // FIXME: #14407 these are only looked at on-demand so we can't // guarantee they'll have already been checked - ("deprecated", Whitelisted, Ungated), + ("rustc_deprecated", Whitelisted, Ungated), ("must_use", Whitelisted, Ungated), ("stable", Whitelisted, Ungated), ("unstable", Whitelisted, Ungated), diff --git a/src/libsyntax/lib.rs b/src/libsyntax/lib.rs index 0cd27d1b0ccc3..59cc380b0ec29 100644 --- a/src/libsyntax/lib.rs +++ b/src/libsyntax/lib.rs @@ -26,6 +26,8 @@ html_root_url = "https://doc.rust-lang.org/nightly/", test(attr(deny(warnings))))] +#![cfg_attr(stage0, feature(rustc_attrs))] +#![cfg_attr(stage0, allow(unused_attributes))] #![feature(associated_consts)] #![feature(drain)] #![feature(filling_drop)] diff --git a/src/libsyntax/util/small_vector.rs b/src/libsyntax/util/small_vector.rs index 9d53cb969269f..dac3b0541651c 100644 --- a/src/libsyntax/util/small_vector.rs +++ b/src/libsyntax/util/small_vector.rs @@ -129,7 +129,7 @@ impl SmallVector { /// Deprecated: use `into_iter`. #[unstable(feature = "rustc_private", issue = "0")] - #[deprecated(since = "1.0.0", reason = "use into_iter")] + #[rustc_deprecated(since = "1.0.0", reason = "use into_iter")] pub fn move_iter(self) -> IntoIter { self.into_iter() } diff --git a/src/test/auxiliary/inherited_stability.rs b/src/test/auxiliary/inherited_stability.rs index 2a3f6aa49628f..82c63a6c2083b 100644 --- a/src/test/auxiliary/inherited_stability.rs +++ b/src/test/auxiliary/inherited_stability.rs @@ -30,7 +30,7 @@ pub mod stable_mod { #[unstable(feature = "test_feature", issue = "0")] pub mod unstable_mod { #[stable(feature = "test_feature", since = "1.0.0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub fn deprecated() {} pub fn unstable() {} diff --git a/src/test/auxiliary/lint_output_format.rs b/src/test/auxiliary/lint_output_format.rs index 8794119a869ce..4116c2304972e 100644 --- a/src/test/auxiliary/lint_output_format.rs +++ b/src/test/auxiliary/lint_output_format.rs @@ -15,7 +15,7 @@ #![unstable(feature = "test_feature", issue = "0")] #[stable(feature = "test_feature", since = "1.0.0")] -#[deprecated(since = "1.0.0", reason = "text")] +#[rustc_deprecated(since = "1.0.0", reason = "text")] pub fn foo() -> usize { 20 } diff --git a/src/test/auxiliary/lint_stability.rs b/src/test/auxiliary/lint_stability.rs index 92c98cb7d3518..555e88c348927 100644 --- a/src/test/auxiliary/lint_stability.rs +++ b/src/test/auxiliary/lint_stability.rs @@ -14,17 +14,17 @@ #![stable(feature = "lint_stability", since = "1.0.0")] #[stable(feature = "test_feature", since = "1.0.0")] -#[deprecated(since = "1.0.0", reason = "text")] +#[rustc_deprecated(since = "1.0.0", reason = "text")] pub fn deprecated() {} #[stable(feature = "test_feature", since = "1.0.0")] -#[deprecated(since = "1.0.0", reason = "text")] +#[rustc_deprecated(since = "1.0.0", reason = "text")] pub fn deprecated_text() {} #[unstable(feature = "test_feature", issue = "0")] -#[deprecated(since = "1.0.0", reason = "text")] +#[rustc_deprecated(since = "1.0.0", reason = "text")] pub fn deprecated_unstable() {} #[unstable(feature = "test_feature", issue = "0")] -#[deprecated(since = "1.0.0", reason = "text")] +#[rustc_deprecated(since = "1.0.0", reason = "text")] pub fn deprecated_unstable_text() {} #[unstable(feature = "test_feature", issue = "0")] @@ -42,17 +42,17 @@ pub struct MethodTester; impl MethodTester { #[stable(feature = "test_feature", since = "1.0.0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub fn method_deprecated(&self) {} #[stable(feature = "test_feature", since = "1.0.0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub fn method_deprecated_text(&self) {} #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub fn method_deprecated_unstable(&self) {} #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub fn method_deprecated_unstable_text(&self) {} #[unstable(feature = "test_feature", issue = "0")] @@ -69,17 +69,17 @@ impl MethodTester { #[stable(feature = "test_feature", since = "1.0.0")] pub trait Trait { #[stable(feature = "test_feature", since = "1.0.0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] fn trait_deprecated(&self) {} #[stable(feature = "test_feature", since = "1.0.0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] fn trait_deprecated_text(&self) {} #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] fn trait_deprecated_unstable(&self) {} #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] fn trait_deprecated_unstable_text(&self) {} #[unstable(feature = "test_feature", issue = "0")] @@ -100,12 +100,12 @@ impl Trait for MethodTester {} pub trait UnstableTrait { fn dummy(&self) { } } #[stable(feature = "test_feature", since = "1.0.0")] -#[deprecated(since = "1.0.0", reason = "text")] +#[rustc_deprecated(since = "1.0.0", reason = "text")] pub struct DeprecatedStruct { #[stable(feature = "test_feature", since = "1.0.0")] pub i: isize } #[unstable(feature = "test_feature", issue = "0")] -#[deprecated(since = "1.0.0", reason = "text")] +#[rustc_deprecated(since = "1.0.0", reason = "text")] pub struct DeprecatedUnstableStruct { #[stable(feature = "test_feature", since = "1.0.0")] pub i: isize } @@ -119,10 +119,10 @@ pub struct StableStruct { } #[stable(feature = "test_feature", since = "1.0.0")] -#[deprecated(since = "1.0.0", reason = "text")] +#[rustc_deprecated(since = "1.0.0", reason = "text")] pub struct DeprecatedUnitStruct; #[unstable(feature = "test_feature", issue = "0")] -#[deprecated(since = "1.0.0", reason = "text")] +#[rustc_deprecated(since = "1.0.0", reason = "text")] pub struct DeprecatedUnstableUnitStruct; #[unstable(feature = "test_feature", issue = "0")] pub struct UnstableUnitStruct; @@ -132,10 +132,10 @@ pub struct StableUnitStruct; #[stable(feature = "test_feature", since = "1.0.0")] pub enum Enum { #[stable(feature = "test_feature", since = "1.0.0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] DeprecatedVariant, #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] DeprecatedUnstableVariant, #[unstable(feature = "test_feature", issue = "0")] UnstableVariant, @@ -145,10 +145,10 @@ pub enum Enum { } #[stable(feature = "test_feature", since = "1.0.0")] -#[deprecated(since = "1.0.0", reason = "text")] +#[rustc_deprecated(since = "1.0.0", reason = "text")] pub struct DeprecatedTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize); #[unstable(feature = "test_feature", issue = "0")] -#[deprecated(since = "1.0.0", reason = "text")] +#[rustc_deprecated(since = "1.0.0", reason = "text")] pub struct DeprecatedUnstableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize); #[unstable(feature = "test_feature", issue = "0")] pub struct UnstableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize); diff --git a/src/test/auxiliary/lint_stability_fields.rs b/src/test/auxiliary/lint_stability_fields.rs index 44b4abd38b85a..c4a53d8477afb 100644 --- a/src/test/auxiliary/lint_stability_fields.rs +++ b/src/test/auxiliary/lint_stability_fields.rs @@ -18,7 +18,7 @@ pub struct Stable { pub inherit: u8, // it's a lie (stable doesn't inherit) #[unstable(feature = "test_feature", issue = "0")] pub override1: u8, - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] #[unstable(feature = "test_feature", issue = "0")] pub override2: u8, } @@ -27,14 +27,14 @@ pub struct Stable { pub struct Stable2(#[stable(feature = "rust1", since = "1.0.0")] pub u8, #[unstable(feature = "test_feature", issue = "0")] pub u8, #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] pub u8); + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub u8); #[unstable(feature = "test_feature", issue = "0")] pub struct Unstable { pub inherit: u8, #[stable(feature = "rust1", since = "1.0.0")] pub override1: u8, - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] #[unstable(feature = "test_feature", issue = "0")] pub override2: u8, } @@ -43,10 +43,10 @@ pub struct Unstable { pub struct Unstable2(pub u8, #[stable(feature = "rust1", since = "1.0.0")] pub u8, #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] pub u8); + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub u8); #[unstable(feature = "test_feature", issue = "0")] -#[deprecated(since = "1.0.0", reason = "text")] +#[rustc_deprecated(since = "1.0.0", reason = "text")] pub struct Deprecated { pub inherit: u8, #[stable(feature = "rust1", since = "1.0.0")] @@ -56,7 +56,7 @@ pub struct Deprecated { } #[unstable(feature = "test_feature", issue = "0")] -#[deprecated(since = "1.0.0", reason = "text")] +#[rustc_deprecated(since = "1.0.0", reason = "text")] pub struct Deprecated2(pub u8, #[stable(feature = "rust1", since = "1.0.0")] pub u8, #[unstable(feature = "test_feature", issue = "0")] pub u8); diff --git a/src/test/compile-fail/issue-17337.rs b/src/test/compile-fail/issue-17337.rs index 831462601386f..a4756cd964d6d 100644 --- a/src/test/compile-fail/issue-17337.rs +++ b/src/test/compile-fail/issue-17337.rs @@ -18,7 +18,7 @@ struct Foo; impl Foo { #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] fn foo(self) {} } diff --git a/src/test/compile-fail/lint-stability-fields.rs b/src/test/compile-fail/lint-stability-fields.rs index 35013a13e9854..3a86bcc024601 100644 --- a/src/test/compile-fail/lint-stability-fields.rs +++ b/src/test/compile-fail/lint-stability-fields.rs @@ -191,7 +191,7 @@ mod this_crate { inherit: u8, #[unstable(feature = "test_feature", issue = "0")] override1: u8, - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] #[unstable(feature = "test_feature", issue = "0")] override2: u8, } @@ -200,14 +200,14 @@ mod this_crate { struct Stable2(u8, #[stable(feature = "rust1", since = "1.0.0")] u8, #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] u8); + #[rustc_deprecated(since = "1.0.0", reason = "text")] u8); #[unstable(feature = "test_feature", issue = "0")] struct Unstable { inherit: u8, #[stable(feature = "rust1", since = "1.0.0")] override1: u8, - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] #[unstable(feature = "test_feature", issue = "0")] override2: u8, } @@ -216,10 +216,10 @@ mod this_crate { struct Unstable2(u8, #[stable(feature = "rust1", since = "1.0.0")] u8, #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] u8); + #[rustc_deprecated(since = "1.0.0", reason = "text")] u8); #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] struct Deprecated { inherit: u8, #[stable(feature = "rust1", since = "1.0.0")] @@ -229,7 +229,7 @@ mod this_crate { } #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] struct Deprecated2(u8, #[stable(feature = "rust1", since = "1.0.0")] u8, #[unstable(feature = "test_feature", issue = "0")] u8); diff --git a/src/test/compile-fail/lint-stability.rs b/src/test/compile-fail/lint-stability.rs index b96f460688007..30d84786edeb6 100644 --- a/src/test/compile-fail/lint-stability.rs +++ b/src/test/compile-fail/lint-stability.rs @@ -262,10 +262,10 @@ mod inheritance { mod this_crate { #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub fn deprecated() {} #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub fn deprecated_text() {} #[unstable(feature = "test_feature", issue = "0")] @@ -283,10 +283,10 @@ mod this_crate { impl MethodTester { #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub fn method_deprecated(&self) {} #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub fn method_deprecated_text(&self) {} #[unstable(feature = "test_feature", issue = "0")] @@ -302,10 +302,10 @@ mod this_crate { pub trait Trait { #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] fn trait_deprecated(&self) {} #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] fn trait_deprecated_text(&self) {} #[unstable(feature = "test_feature", issue = "0")] @@ -322,7 +322,7 @@ mod this_crate { impl Trait for MethodTester {} #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub struct DeprecatedStruct { #[stable(feature = "test_feature", since = "1.0.0")] i: isize } @@ -336,7 +336,7 @@ mod this_crate { } #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub struct DeprecatedUnitStruct; #[unstable(feature = "test_feature", issue = "0")] pub struct UnstableUnitStruct; @@ -345,7 +345,7 @@ mod this_crate { pub enum Enum { #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] DeprecatedVariant, #[unstable(feature = "test_feature", issue = "0")] UnstableVariant, @@ -355,7 +355,7 @@ mod this_crate { } #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub struct DeprecatedTupleStruct(isize); #[unstable(feature = "test_feature", issue = "0")] pub struct UnstableTupleStruct(isize); @@ -476,7 +476,7 @@ mod this_crate { } #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] fn test_fn_body() { fn fn_in_body() {} fn_in_body(); //~ ERROR use of deprecated item: text @@ -484,7 +484,7 @@ mod this_crate { impl MethodTester { #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] fn test_method_body(&self) { fn fn_in_body() {} fn_in_body(); //~ ERROR use of deprecated item: text @@ -492,7 +492,7 @@ mod this_crate { } #[unstable(feature = "test_feature", issue = "0")] - #[deprecated(since = "1.0.0", reason = "text")] + #[rustc_deprecated(since = "1.0.0", reason = "text")] pub trait DeprecatedTrait { fn dummy(&self) { } } diff --git a/src/test/compile-fail/stability-attribute-non-staged.rs b/src/test/compile-fail/stability-attribute-non-staged.rs index b0efdfd1818bd..35256f21f9253 100644 --- a/src/test/compile-fail/stability-attribute-non-staged.rs +++ b/src/test/compile-fail/stability-attribute-non-staged.rs @@ -10,5 +10,5 @@ #[unstable] //~ ERROR: stability attributes may not be used #[stable] //~ ERROR: stability attributes may not be used -#[deprecated] //~ ERROR: stability attributes may not be used +#[rustc_deprecated] //~ ERROR: stability attributes may not be used fn main() { } diff --git a/src/test/compile-fail/stability-attribute-sanity.rs b/src/test/compile-fail/stability-attribute-sanity.rs index e53ba3e17dd31..038d6a8ec0725 100644 --- a/src/test/compile-fail/stability-attribute-sanity.rs +++ b/src/test/compile-fail/stability-attribute-sanity.rs @@ -46,11 +46,11 @@ mod bogus_attribute_types_2 { fn f4() { } #[stable(feature = "a", since = "b")] - #[deprecated] //~ ERROR incorrect stability attribute type + #[rustc_deprecated] //~ ERROR incorrect stability attribute type fn f5() { } #[stable(feature = "a", since = "b")] - #[deprecated = "a"] //~ ERROR incorrect stability attribute type + #[rustc_deprecated = "a"] //~ ERROR incorrect stability attribute type fn f6() { } } @@ -70,7 +70,7 @@ mod missing_version { fn f1() { } #[stable(feature = "a", since = "b")] - #[deprecated(reason = "a")] //~ ERROR missing 'since' + #[rustc_deprecated(reason = "a")] //~ ERROR missing 'since' fn f2() { } } @@ -87,12 +87,12 @@ fn multiple2() { } //~ ERROR multiple stability levels fn multiple3() { } //~ ERROR multiple stability levels #[stable(feature = "a", since = "b")] -#[deprecated(since = "b", reason = "text")] -#[deprecated(since = "b", reason = "text")] -fn multiple4() { } //~ ERROR multiple deprecated attributes +#[rustc_deprecated(since = "b", reason = "text")] +#[rustc_deprecated(since = "b", reason = "text")] +fn multiple4() { } //~ ERROR multiple rustc_deprecated attributes //~^ ERROR Invalid stability or deprecation version found -#[deprecated(since = "a", reason = "text")] -fn deprecated_without_unstable_or_stable() { } //~ ERROR deprecated attribute must be paired +#[rustc_deprecated(since = "a", reason = "text")] +fn deprecated_without_unstable_or_stable() { } //~ ERROR rustc_deprecated attribute must be paired fn main() { }