mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-23 04:14:28 +00:00
Rollup merge of #94635 - jhpratt:merge-deprecated-attrs, r=davidtwco
Merge `#[deprecated]` and `#[rustc_deprecated]` The first commit makes "reason" an alias for "note" in `#[rustc_deprecated]`, while still prohibiting it in `#[deprecated]`. The second commit changes "suggestion" to not just be a feature of `#[rustc_deprecated]`. This is placed behind the new `deprecated_suggestion` feature. This needs a tracking issue; let me know if this PR will be approved and I can create one. The third commit is what permits `#[deprecated]` to be used when `#![feature(staged_api)]` is enabled. This isn't yet used in stdlib (only tests), as it would require duplicating all deprecation attributes until a bootstrap occurs. I intend to submit a follow-up PR that replaces all uses and removes the remaining `#[rustc_deprecated]` code after the next bootstrap. `@rustbot` label +T-libs-api +C-feature-request +A-attributes +S-waiting-on-review
This commit is contained in:
commit
313a668234
@ -437,13 +437,6 @@ impl<'a> Visitor<'a> for PostExpansionVisitor<'a> {
|
||||
)
|
||||
.emit();
|
||||
}
|
||||
} else {
|
||||
if attr.has_name(sym::deprecated) {
|
||||
self.sess
|
||||
.struct_span_err(attr.span, "`#[deprecated]` cannot be used in staged API")
|
||||
.span_label(attr.span, "use `#[rustc_deprecated]` instead")
|
||||
.emit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -664,6 +664,7 @@ where
|
||||
{
|
||||
let mut depr: Option<(Deprecation, Span)> = None;
|
||||
let diagnostic = &sess.parse_sess.span_diagnostic;
|
||||
let is_rustc = sess.features_untracked().staged_api;
|
||||
|
||||
'outer: for attr in attrs_iter {
|
||||
if !(attr.has_name(sym::deprecated) || attr.has_name(sym::rustc_deprecated)) {
|
||||
@ -728,17 +729,31 @@ where
|
||||
continue 'outer;
|
||||
}
|
||||
}
|
||||
sym::note if attr.has_name(sym::deprecated) => {
|
||||
sym::note => {
|
||||
if !get(mi, &mut note) {
|
||||
continue 'outer;
|
||||
}
|
||||
}
|
||||
// FIXME(jhpratt) remove this after a bootstrap occurs. Emitting an
|
||||
// error specific to the renaming would be a good idea as well.
|
||||
sym::reason if attr.has_name(sym::rustc_deprecated) => {
|
||||
if !get(mi, &mut note) {
|
||||
continue 'outer;
|
||||
}
|
||||
}
|
||||
sym::suggestion if attr.has_name(sym::rustc_deprecated) => {
|
||||
sym::suggestion => {
|
||||
if !sess.features_untracked().deprecated_suggestion {
|
||||
let mut diag = sess.struct_span_err(
|
||||
mi.span,
|
||||
"suggestions on deprecated items are unstable",
|
||||
);
|
||||
if sess.is_nightly_build() {
|
||||
diag.help("add `#![feature(deprecated_suggestion)]` to the crate root");
|
||||
}
|
||||
// FIXME(jhpratt) change this to an actual tracking issue
|
||||
diag.note("see #XXX for more details").emit();
|
||||
}
|
||||
|
||||
if !get(mi, &mut suggestion) {
|
||||
continue 'outer;
|
||||
}
|
||||
@ -752,7 +767,7 @@ where
|
||||
if attr.has_name(sym::deprecated) {
|
||||
&["since", "note"]
|
||||
} else {
|
||||
&["since", "reason", "suggestion"]
|
||||
&["since", "note", "suggestion"]
|
||||
},
|
||||
),
|
||||
);
|
||||
@ -775,24 +790,22 @@ where
|
||||
}
|
||||
}
|
||||
|
||||
if suggestion.is_some() && attr.has_name(sym::deprecated) {
|
||||
unreachable!("only allowed on rustc_deprecated")
|
||||
}
|
||||
|
||||
if attr.has_name(sym::rustc_deprecated) {
|
||||
if is_rustc {
|
||||
if since.is_none() {
|
||||
handle_errors(&sess.parse_sess, attr.span, AttrError::MissingSince);
|
||||
continue;
|
||||
}
|
||||
|
||||
if note.is_none() {
|
||||
struct_span_err!(diagnostic, attr.span, E0543, "missing 'reason'").emit();
|
||||
struct_span_err!(diagnostic, attr.span, E0543, "missing 'note'").emit();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
let is_since_rustc_version = attr.has_name(sym::rustc_deprecated);
|
||||
depr = Some((Deprecation { since, note, suggestion, is_since_rustc_version }, attr.span));
|
||||
depr = Some((
|
||||
Deprecation { since, note, suggestion, is_since_rustc_version: is_rustc },
|
||||
attr.span,
|
||||
));
|
||||
}
|
||||
|
||||
depr
|
||||
|
@ -362,6 +362,8 @@ declare_features! (
|
||||
(active, default_alloc_error_handler, "1.48.0", Some(66741), None),
|
||||
/// Allows default type parameters to influence type inference.
|
||||
(active, default_type_parameter_fallback, "1.3.0", Some(27336), None),
|
||||
/// Allows having using `suggestion` in the `#[deprecated]` attribute.
|
||||
(active, deprecated_suggestion, "1.61.0", Some(94785), None),
|
||||
/// Allows `#[derive(Default)]` and `#[default]` on enums.
|
||||
(active, derive_default_enum, "1.56.0", Some(86985), None),
|
||||
/// Tells rustdoc to automatically generate `#[doc(cfg(...))]`.
|
||||
|
@ -461,7 +461,7 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
|
||||
// DuplicatesOk since it has its own validation
|
||||
ungated!(
|
||||
rustc_deprecated, Normal,
|
||||
template!(List: r#"since = "version", reason = "...""#), DuplicatesOk // See E0550
|
||||
template!(List: r#"since = "version", note = "...""#), DuplicatesOk // See E0550
|
||||
),
|
||||
// DuplicatesOk since it has its own validation
|
||||
ungated!(
|
||||
|
@ -202,7 +202,7 @@ impl<'a, 'tcx> Annotator<'a, 'tcx> {
|
||||
self.tcx.sess,
|
||||
*span,
|
||||
E0549,
|
||||
"rustc_deprecated attribute must be paired with \
|
||||
"deprecated attribute must be paired with \
|
||||
either stable or unstable attribute"
|
||||
)
|
||||
.emit();
|
||||
|
@ -562,6 +562,7 @@ symbols! {
|
||||
delay_span_bug_from_inside_query,
|
||||
deny,
|
||||
deprecated,
|
||||
deprecated_suggestion,
|
||||
deref,
|
||||
deref_method,
|
||||
deref_mut,
|
||||
|
@ -167,6 +167,7 @@
|
||||
#![feature(const_refs_to_cell)]
|
||||
#![feature(decl_macro)]
|
||||
#![feature(derive_default_enum)]
|
||||
#![cfg_attr(not(bootstrap), feature(deprecated_suggestion))]
|
||||
#![feature(doc_cfg)]
|
||||
#![feature(doc_notable_trait)]
|
||||
#![feature(rustdoc_internals)]
|
||||
|
@ -263,6 +263,7 @@
|
||||
#![feature(doc_cfg)]
|
||||
#![feature(doc_cfg_hide)]
|
||||
#![feature(rustdoc_internals)]
|
||||
#![cfg_attr(not(bootstrap), feature(deprecated_suggestion))]
|
||||
#![feature(doc_masked)]
|
||||
#![feature(doc_notable_trait)]
|
||||
#![feature(dropck_eyepatch)]
|
||||
|
@ -1,4 +0,0 @@
|
||||
#![feature(staged_api)]
|
||||
#![stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[deprecated] //~ ERROR `#[deprecated]` cannot be used in staged API
|
||||
fn main() {}
|
@ -1,8 +0,0 @@
|
||||
error: `#[deprecated]` cannot be used in staged API
|
||||
--> $DIR/deprecation-in-staged-api.rs:3:1
|
||||
|
|
||||
LL | #[deprecated]
|
||||
| ^^^^^^^^^^^^^ use `#[rustc_deprecated]` instead
|
||||
|
||||
error: aborting due to previous error
|
||||
|
@ -0,0 +1,6 @@
|
||||
// compile-flags: --crate-type=lib
|
||||
|
||||
#![no_implicit_prelude]
|
||||
|
||||
#[deprecated(suggestion = "foo")] //~ ERROR suggestions on deprecated items are unstable
|
||||
struct Foo {}
|
@ -0,0 +1,11 @@
|
||||
error: suggestions on deprecated items are unstable
|
||||
--> $DIR/feature-gate-deprecated_suggestion.rs:5:14
|
||||
|
|
||||
LL | #[deprecated(suggestion = "foo")]
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= help: add `#![feature(deprecated_suggestion)]` to the crate root
|
||||
= note: see #XXX for more details
|
||||
|
||||
error: aborting due to previous error
|
||||
|
@ -4,11 +4,11 @@
|
||||
|
||||
#![stable(feature = "rustc_deprecation-in-future-test", since = "1.0.0")]
|
||||
|
||||
#[rustc_deprecated(since = "99.99.99", reason = "effectively never")]
|
||||
#[deprecated(since = "99.99.99", note = "effectively never")]
|
||||
#[stable(feature = "rustc_deprecation-in-future-test", since = "1.0.0")]
|
||||
pub struct S1;
|
||||
|
||||
#[rustc_deprecated(since = "TBD", reason = "literally never")]
|
||||
#[deprecated(since = "TBD", note = "literally never")]
|
||||
#[stable(feature = "rustc_deprecation-in-future-test", since = "1.0.0")]
|
||||
pub struct S2;
|
||||
|
@ -1,17 +1,17 @@
|
||||
error: use of unit struct `S1` that will be deprecated in future version 99.99.99: effectively never
|
||||
--> $DIR/rustc_deprecation-in-future.rs:16:13
|
||||
--> $DIR/staged-deprecation-in-future.rs:16:13
|
||||
|
|
||||
LL | let _ = S1;
|
||||
| ^^
|
||||
|
|
||||
note: the lint level is defined here
|
||||
--> $DIR/rustc_deprecation-in-future.rs:1:9
|
||||
--> $DIR/staged-deprecation-in-future.rs:1:9
|
||||
|
|
||||
LL | #![deny(deprecated_in_future)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: use of unit struct `S2` that will be deprecated in a future Rust version: literally never
|
||||
--> $DIR/rustc_deprecation-in-future.rs:17:13
|
||||
--> $DIR/staged-deprecation-in-future.rs:17:13
|
||||
|
|
||||
LL | let _ = S2;
|
||||
| ^^
|
@ -1,6 +1,7 @@
|
||||
// run-rustfix
|
||||
|
||||
#![feature(staged_api)]
|
||||
#![feature(deprecated_suggestion)]
|
||||
|
||||
#![stable(since = "1.0.0", feature = "test")]
|
||||
|
||||
@ -10,9 +11,9 @@
|
||||
struct Foo;
|
||||
|
||||
impl Foo {
|
||||
#[rustc_deprecated(
|
||||
#[deprecated(
|
||||
since = "1.0.0",
|
||||
reason = "replaced by `replacement`",
|
||||
note = "replaced by `replacement`",
|
||||
suggestion = "replacement",
|
||||
)]
|
||||
#[stable(since = "1.0.0", feature = "test")]
|
||||
@ -22,9 +23,9 @@ impl Foo {
|
||||
}
|
||||
|
||||
mod bar {
|
||||
#[rustc_deprecated(
|
||||
#[deprecated(
|
||||
since = "1.0.0",
|
||||
reason = "replaced by `replacement`",
|
||||
note = "replaced by `replacement`",
|
||||
suggestion = "replacement",
|
||||
)]
|
||||
#[stable(since = "1.0.0", feature = "test")]
|
||||
|
@ -1,6 +1,7 @@
|
||||
// run-rustfix
|
||||
|
||||
#![feature(staged_api)]
|
||||
#![feature(deprecated_suggestion)]
|
||||
|
||||
#![stable(since = "1.0.0", feature = "test")]
|
||||
|
||||
@ -10,9 +11,9 @@
|
||||
struct Foo;
|
||||
|
||||
impl Foo {
|
||||
#[rustc_deprecated(
|
||||
#[deprecated(
|
||||
since = "1.0.0",
|
||||
reason = "replaced by `replacement`",
|
||||
note = "replaced by `replacement`",
|
||||
suggestion = "replacement",
|
||||
)]
|
||||
#[stable(since = "1.0.0", feature = "test")]
|
||||
@ -22,9 +23,9 @@ impl Foo {
|
||||
}
|
||||
|
||||
mod bar {
|
||||
#[rustc_deprecated(
|
||||
#[deprecated(
|
||||
since = "1.0.0",
|
||||
reason = "replaced by `replacement`",
|
||||
note = "replaced by `replacement`",
|
||||
suggestion = "replacement",
|
||||
)]
|
||||
#[stable(since = "1.0.0", feature = "test")]
|
||||
|
@ -1,17 +1,17 @@
|
||||
error: use of deprecated function `bar::deprecated`: replaced by `replacement`
|
||||
--> $DIR/suggestion.rs:41:10
|
||||
--> $DIR/suggestion.rs:42:10
|
||||
|
|
||||
LL | bar::deprecated();
|
||||
| ^^^^^^^^^^ help: replace the use of the deprecated function: `replacement`
|
||||
|
|
||||
note: the lint level is defined here
|
||||
--> $DIR/suggestion.rs:7:9
|
||||
--> $DIR/suggestion.rs:8:9
|
||||
|
|
||||
LL | #![deny(deprecated)]
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: use of deprecated associated function `Foo::deprecated`: replaced by `replacement`
|
||||
--> $DIR/suggestion.rs:39:9
|
||||
--> $DIR/suggestion.rs:40:9
|
||||
|
|
||||
LL | foo.deprecated();
|
||||
| ^^^^^^^^^^ help: replace the use of the deprecated associated function: `replacement`
|
||||
|
@ -1,43 +0,0 @@
|
||||
// Testing gating of `#[rustc_deprecated]` in "weird" places.
|
||||
//
|
||||
// This file sits on its own because these signal errors, making
|
||||
// this test incompatible with the "warnings only" nature of
|
||||
// issue-43106-gating-of-builtin-attrs.rs
|
||||
|
||||
#![rustc_deprecated()]
|
||||
//~^ ERROR stability attributes may not be used outside of the standard library
|
||||
//~| ERROR missing 'since' [E0542]
|
||||
|
||||
#[rustc_deprecated()]
|
||||
//~^ ERROR stability attributes may not be used outside of the standard library
|
||||
//~| ERROR missing 'since' [E0542]
|
||||
mod rustc_deprecated {
|
||||
mod inner {
|
||||
#![rustc_deprecated()]
|
||||
//~^ ERROR stability attributes may not be used outside of the standard library
|
||||
//~| ERROR missing 'since' [E0542]
|
||||
}
|
||||
|
||||
#[rustc_deprecated()]
|
||||
//~^ ERROR stability attributes may not be used outside of the standard library
|
||||
//~| ERROR missing 'since' [E0542]
|
||||
fn f() {}
|
||||
|
||||
#[rustc_deprecated()]
|
||||
//~^ ERROR stability attributes may not be used outside of the standard library
|
||||
//~| ERROR missing 'since' [E0542]
|
||||
//~| ERROR missing 'since' [E0542]
|
||||
struct S;
|
||||
|
||||
#[rustc_deprecated()]
|
||||
//~^ ERROR stability attributes may not be used outside of the standard library
|
||||
//~| ERROR missing 'since' [E0542]
|
||||
type T = S;
|
||||
|
||||
#[rustc_deprecated()]
|
||||
//~^ ERROR stability attributes may not be used outside of the standard library
|
||||
//~| ERROR missing 'since' [E0542]
|
||||
impl S {}
|
||||
}
|
||||
|
||||
fn main() {}
|
@ -1,94 +0,0 @@
|
||||
error[E0734]: stability attributes may not be used outside of the standard library
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:16:9
|
||||
|
|
||||
LL | #![rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0734]: stability attributes may not be used outside of the standard library
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:21:5
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0734]: stability attributes may not be used outside of the standard library
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:26:5
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0734]: stability attributes may not be used outside of the standard library
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:32:5
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0734]: stability attributes may not be used outside of the standard library
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:37:5
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0734]: stability attributes may not be used outside of the standard library
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:11:1
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0734]: stability attributes may not be used outside of the standard library
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:7:1
|
||||
|
|
||||
LL | #![rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0542]: missing 'since'
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:7:1
|
||||
|
|
||||
LL | #![rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0542]: missing 'since'
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:11:1
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0542]: missing 'since'
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:16:9
|
||||
|
|
||||
LL | #![rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0542]: missing 'since'
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:21:5
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0542]: missing 'since'
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:26:5
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0542]: missing 'since'
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:26:5
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0542]: missing 'since'
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:32:5
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0542]: missing 'since'
|
||||
--> $DIR/issue-43106-gating-of-rustc_deprecated.rs:37:5
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to 15 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0542, E0734.
|
||||
For more information about an error, try `rustc --explain E0542`.
|
@ -7,7 +7,7 @@ struct Foo;
|
||||
|
||||
impl Foo {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn foo(self) {}
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,7 @@ pub mod stable_mod {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
pub mod unstable_mod {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated() {}
|
||||
|
||||
pub fn unstable() {}
|
||||
|
@ -4,7 +4,7 @@
|
||||
#![unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn foo() -> usize {
|
||||
20
|
||||
}
|
||||
|
@ -5,21 +5,21 @@
|
||||
#![stable(feature = "lint_stability", since = "1.0.0")]
|
||||
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated() {}
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated_text() {}
|
||||
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "99.99.99", reason = "text")]
|
||||
#[deprecated(since = "99.99.99", note = "text")]
|
||||
pub fn deprecated_future() {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated_unstable() {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated_unstable_text() {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -37,17 +37,17 @@ pub struct MethodTester;
|
||||
|
||||
impl MethodTester {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn method_deprecated(&self) {}
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn method_deprecated_text(&self) {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn method_deprecated_unstable(&self) {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn method_deprecated_unstable_text(&self) {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -64,17 +64,17 @@ impl MethodTester {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
pub trait Trait {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn trait_deprecated(&self) {}
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn trait_deprecated_text(&self) {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn trait_deprecated_unstable(&self) {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn trait_deprecated_unstable_text(&self) {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -93,7 +93,7 @@ pub trait TraitWithAssociatedTypes {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
type TypeUnstable = u8;
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
type TypeDeprecated = u8;
|
||||
}
|
||||
|
||||
@ -104,18 +104,18 @@ impl Trait for MethodTester {}
|
||||
pub trait UnstableTrait { fn dummy(&self) { } }
|
||||
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub trait DeprecatedTrait {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")] fn dummy(&self) { }
|
||||
}
|
||||
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedStruct {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")] pub i: isize
|
||||
}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedUnstableStruct {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")] pub i: isize
|
||||
}
|
||||
@ -133,10 +133,10 @@ pub enum UnstableEnum {}
|
||||
pub enum StableEnum {}
|
||||
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedUnitStruct;
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedUnstableUnitStruct;
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
pub struct UnstableUnitStruct;
|
||||
@ -146,10 +146,10 @@ pub struct StableUnitStruct;
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
pub enum Enum {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
DeprecatedVariant,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
DeprecatedUnstableVariant,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
UnstableVariant,
|
||||
@ -159,10 +159,10 @@ pub enum Enum {
|
||||
}
|
||||
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedUnstableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
pub struct UnstableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
|
||||
|
@ -6,7 +6,7 @@ pub struct Stable {
|
||||
pub inherit: u8,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
pub override1: u8,
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
pub override2: u8,
|
||||
#[stable(feature = "rust2", since = "2.0.0")]
|
||||
@ -17,7 +17,7 @@ pub struct Stable {
|
||||
pub struct Stable2(#[stable(feature = "rust2", since = "2.0.0")] pub u8,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")] pub u8,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")] pub u8,
|
||||
#[deprecated(since = "1.0.0", note = "text")] pub u8,
|
||||
pub u8);
|
||||
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
@ -28,7 +28,7 @@ pub enum Stable3 {
|
||||
Override1,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
Override2,
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
Override3,
|
||||
}
|
||||
@ -38,7 +38,7 @@ pub struct Unstable {
|
||||
pub inherit: u8,
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub override1: u8,
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
pub override2: u8,
|
||||
}
|
||||
@ -47,10 +47,10 @@ pub struct Unstable {
|
||||
pub struct Unstable2(pub u8,
|
||||
#[stable(feature = "rust1", since = "1.0.0")] pub u8,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")] pub u8);
|
||||
#[deprecated(since = "1.0.0", note = "text")] pub u8);
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct Deprecated {
|
||||
pub inherit: u8,
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
@ -60,7 +60,7 @@ pub struct Deprecated {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct Deprecated2(pub u8,
|
||||
#[stable(feature = "rust1", since = "1.0.0")] pub u8,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")] pub u8);
|
||||
|
@ -169,10 +169,10 @@ mod cross_crate {
|
||||
|
||||
mod this_crate {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated() {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated_text() {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -190,10 +190,10 @@ mod this_crate {
|
||||
|
||||
impl MethodTester {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn method_deprecated(&self) {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn method_deprecated_text(&self) {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -209,10 +209,10 @@ mod this_crate {
|
||||
|
||||
pub trait Trait {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn trait_deprecated(&self) {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn trait_deprecated_text(&self) {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -229,7 +229,7 @@ mod this_crate {
|
||||
impl Trait for MethodTester {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedStruct {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")] i: isize
|
||||
}
|
||||
@ -243,7 +243,7 @@ mod this_crate {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedUnitStruct;
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
pub struct UnstableUnitStruct;
|
||||
@ -252,7 +252,7 @@ mod this_crate {
|
||||
|
||||
pub enum Enum {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
DeprecatedVariant,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
UnstableVariant,
|
||||
@ -262,7 +262,7 @@ mod this_crate {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedTupleStruct(isize);
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
pub struct UnstableTupleStruct(isize);
|
||||
@ -382,7 +382,7 @@ mod this_crate {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn test_fn_body() {
|
||||
fn fn_in_body() {}
|
||||
fn_in_body();
|
||||
@ -390,7 +390,7 @@ mod this_crate {
|
||||
|
||||
impl MethodTester {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn test_method_body(&self) {
|
||||
fn fn_in_body() {}
|
||||
fn_in_body();
|
||||
@ -398,7 +398,7 @@ mod this_crate {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub trait DeprecatedTrait {
|
||||
fn dummy(&self) { }
|
||||
}
|
||||
|
@ -219,10 +219,10 @@ mod inheritance {
|
||||
|
||||
mod this_crate {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated() {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated_text() {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -240,10 +240,10 @@ mod this_crate {
|
||||
|
||||
impl MethodTester {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn method_deprecated(&self) {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn method_deprecated_text(&self) {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -259,10 +259,10 @@ mod this_crate {
|
||||
|
||||
pub trait Trait {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn trait_deprecated(&self) {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn trait_deprecated_text(&self) {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -279,7 +279,7 @@ mod this_crate {
|
||||
impl Trait for MethodTester {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedStruct {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")] i: isize
|
||||
}
|
||||
@ -293,7 +293,7 @@ mod this_crate {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedUnitStruct;
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
pub struct UnstableUnitStruct;
|
||||
@ -302,7 +302,7 @@ mod this_crate {
|
||||
|
||||
pub enum Enum {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
DeprecatedVariant,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
UnstableVariant,
|
||||
@ -312,7 +312,7 @@ mod this_crate {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedTupleStruct(isize);
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
pub struct UnstableTupleStruct(isize);
|
||||
@ -433,7 +433,7 @@ mod this_crate {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn test_fn_body() {
|
||||
fn fn_in_body() {}
|
||||
fn_in_body(); //~ WARN use of deprecated function `this_crate::test_fn_body::fn_in_body`: text
|
||||
@ -441,7 +441,7 @@ mod this_crate {
|
||||
|
||||
impl MethodTester {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn test_method_body(&self) {
|
||||
fn fn_in_body() {}
|
||||
fn_in_body(); //~ WARN use of deprecated function `this_crate::MethodTester::test_method_body::fn_in_body`: text
|
||||
@ -449,7 +449,7 @@ mod this_crate {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub trait DeprecatedTrait {
|
||||
fn dummy(&self) { }
|
||||
}
|
||||
|
@ -160,7 +160,7 @@ mod this_crate {
|
||||
inherit: u8,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
override1: u8,
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
override2: u8,
|
||||
}
|
||||
@ -169,14 +169,14 @@ mod this_crate {
|
||||
struct Stable2(u8,
|
||||
#[stable(feature = "rust1", since = "1.0.0")] u8,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")] u8);
|
||||
#[deprecated(since = "1.0.0", note = "text")] u8);
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
struct Unstable {
|
||||
inherit: u8,
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
override1: u8,
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
override2: u8,
|
||||
}
|
||||
@ -185,10 +185,10 @@ mod this_crate {
|
||||
struct Unstable2(u8,
|
||||
#[stable(feature = "rust1", since = "1.0.0")] u8,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")] u8);
|
||||
#[deprecated(since = "1.0.0", note = "text")] u8);
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
struct Deprecated {
|
||||
inherit: u8,
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
@ -198,7 +198,7 @@ mod this_crate {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
struct Deprecated2(u8,
|
||||
#[stable(feature = "rust1", since = "1.0.0")] u8,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")] u8);
|
||||
|
@ -135,7 +135,7 @@ mod this_crate {
|
||||
inherit: u8,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
override1: u8,
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
override2: u8,
|
||||
#[stable(feature = "rust2", since = "2.0.0")]
|
||||
@ -146,14 +146,14 @@ mod this_crate {
|
||||
struct Stable2(u8,
|
||||
#[stable(feature = "rust2", since = "2.0.0")] u8,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")] u8);
|
||||
#[deprecated(since = "1.0.0", note = "text")] u8);
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
struct Unstable {
|
||||
inherit: u8,
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
override1: u8,
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
override2: u8,
|
||||
}
|
||||
@ -162,10 +162,10 @@ mod this_crate {
|
||||
struct Unstable2(u8,
|
||||
#[stable(feature = "rust1", since = "1.0.0")] u8,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")] u8);
|
||||
#[deprecated(since = "1.0.0", note = "text")] u8);
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
struct Deprecated {
|
||||
inherit: u8,
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
@ -175,7 +175,7 @@ mod this_crate {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
struct Deprecated2(u8,
|
||||
#[stable(feature = "rust1", since = "1.0.0")] u8,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")] u8);
|
||||
|
@ -204,14 +204,14 @@ mod inheritance {
|
||||
|
||||
mod this_crate {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated() {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated_text() {}
|
||||
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "99.99.99", reason = "text")]
|
||||
#[deprecated(since = "99.99.99", note = "text")]
|
||||
pub fn deprecated_future() {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -229,10 +229,10 @@ mod this_crate {
|
||||
|
||||
impl MethodTester {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn method_deprecated(&self) {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn method_deprecated_text(&self) {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -248,10 +248,10 @@ mod this_crate {
|
||||
|
||||
pub trait Trait {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn trait_deprecated(&self) {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn trait_deprecated_text(&self) {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -268,7 +268,7 @@ mod this_crate {
|
||||
impl Trait for MethodTester {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedStruct {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")] i: isize
|
||||
}
|
||||
@ -282,7 +282,7 @@ mod this_crate {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedUnitStruct;
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
pub struct UnstableUnitStruct;
|
||||
@ -291,7 +291,7 @@ mod this_crate {
|
||||
|
||||
pub enum Enum {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
DeprecatedVariant,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
UnstableVariant,
|
||||
@ -301,7 +301,7 @@ mod this_crate {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedTupleStruct(isize);
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
pub struct UnstableTupleStruct(isize);
|
||||
@ -423,7 +423,7 @@ mod this_crate {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn test_fn_body() {
|
||||
fn fn_in_body() {}
|
||||
fn_in_body();
|
||||
@ -431,7 +431,7 @@ mod this_crate {
|
||||
|
||||
impl MethodTester {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn test_method_body(&self) {
|
||||
fn fn_in_body() {}
|
||||
fn_in_body();
|
||||
@ -439,7 +439,7 @@ mod this_crate {
|
||||
}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub trait DeprecatedTrait {
|
||||
fn dummy(&self) { }
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
macro_rules! unstable_macro{ () => () }
|
||||
|
||||
#[stable(feature = "deprecated_macros", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "deprecation reason")]
|
||||
#[deprecated(since = "1.0.0", note = "deprecation note")]
|
||||
#[macro_export]
|
||||
macro_rules! deprecated_macro{ () => () }
|
||||
|
||||
|
@ -14,7 +14,7 @@ macro_rules! local_unstable { () => () }
|
||||
macro local_unstable_modern() {}
|
||||
|
||||
#[stable(feature = "deprecated_macros", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "local deprecation reason")]
|
||||
#[deprecated(since = "1.0.0", note = "local deprecation note")]
|
||||
#[macro_export]
|
||||
macro_rules! local_deprecated{ () => () }
|
||||
|
||||
@ -25,7 +25,7 @@ fn main() {
|
||||
// unstable_macro_modern!(); // ERROR use of unstable library feature 'unstable_macros'
|
||||
|
||||
deprecated_macro!();
|
||||
//~^ WARN use of deprecated macro `deprecated_macro`: deprecation reason
|
||||
//~^ WARN use of deprecated macro `deprecated_macro`: deprecation note
|
||||
local_deprecated!();
|
||||
//~^ WARN use of deprecated macro `local_deprecated`: local deprecation reason
|
||||
//~^ WARN use of deprecated macro `local_deprecated`: local deprecation note
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ LL | unstable_macro!();
|
||||
|
|
||||
= help: add `#![feature(unstable_macros)]` to the crate attributes to enable
|
||||
|
||||
warning: use of deprecated macro `deprecated_macro`: deprecation reason
|
||||
warning: use of deprecated macro `deprecated_macro`: deprecation note
|
||||
--> $DIR/macro-stability.rs:27:5
|
||||
|
|
||||
LL | deprecated_macro!();
|
||||
@ -30,7 +30,7 @@ LL | deprecated_macro!();
|
||||
|
|
||||
= note: `#[warn(deprecated)]` on by default
|
||||
|
||||
warning: use of deprecated macro `local_deprecated`: local deprecation reason
|
||||
warning: use of deprecated macro `local_deprecated`: local deprecation note
|
||||
--> $DIR/macro-stability.rs:29:5
|
||||
|
|
||||
LL | local_deprecated!();
|
||||
|
@ -5,21 +5,21 @@
|
||||
#![stable(feature = "lint_stability", since = "1.0.0")]
|
||||
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated() {}
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated_text() {}
|
||||
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "99.99.99", reason = "text")]
|
||||
#[deprecated(since = "99.99.99", note = "text")]
|
||||
pub fn deprecated_future() {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated_unstable() {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn deprecated_unstable_text() {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -37,17 +37,17 @@ pub struct MethodTester;
|
||||
|
||||
impl MethodTester {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn method_deprecated(&self) {}
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn method_deprecated_text(&self) {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn method_deprecated_unstable(&self) {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub fn method_deprecated_unstable_text(&self) {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -64,17 +64,17 @@ impl MethodTester {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
pub trait Trait {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn trait_deprecated(&self) {}
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn trait_deprecated_text(&self) {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn trait_deprecated_unstable(&self) {}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
fn trait_deprecated_unstable_text(&self) {}
|
||||
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
@ -93,7 +93,7 @@ pub trait TraitWithAssociatedTypes {
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
type TypeUnstable = u8;
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
type TypeDeprecated = u8;
|
||||
}
|
||||
|
||||
@ -104,18 +104,18 @@ impl Trait for MethodTester {}
|
||||
pub trait UnstableTrait { fn dummy(&self) { } }
|
||||
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub trait DeprecatedTrait {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")] fn dummy(&self) { }
|
||||
}
|
||||
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedStruct {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")] pub i: isize
|
||||
}
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedUnstableStruct {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")] pub i: isize
|
||||
}
|
||||
@ -133,10 +133,10 @@ pub enum UnstableEnum {}
|
||||
pub enum StableEnum {}
|
||||
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedUnitStruct;
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedUnstableUnitStruct;
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
pub struct UnstableUnitStruct;
|
||||
@ -146,10 +146,10 @@ pub struct StableUnitStruct;
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
pub enum Enum {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
DeprecatedVariant,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
DeprecatedUnstableVariant,
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
UnstableVariant,
|
||||
@ -159,10 +159,10 @@ pub enum Enum {
|
||||
}
|
||||
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
#[rustc_deprecated(since = "1.0.0", reason = "text")]
|
||||
#[deprecated(since = "1.0.0", note = "text")]
|
||||
pub struct DeprecatedUnstableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
|
||||
#[unstable(feature = "unstable_test_feature", issue = "none")]
|
||||
pub struct UnstableTupleStruct(#[stable(feature = "rust1", since = "1.0.0")] pub isize);
|
||||
|
@ -40,14 +40,14 @@ pub struct Struct3<A = isize, #[unstable(feature = "unstable_default", issue = "
|
||||
pub field2: B,
|
||||
}
|
||||
|
||||
#[rustc_deprecated(since = "1.1.0", reason = "test")]
|
||||
#[deprecated(since = "1.1.0", note = "test")]
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
pub struct Struct4<A = usize> {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
pub field: A,
|
||||
}
|
||||
|
||||
#[rustc_deprecated(since = "1.1.0", reason = "test")]
|
||||
#[deprecated(since = "1.1.0", note = "test")]
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
pub struct Struct5<#[unstable(feature = "unstable_default", issue = "none")] A = usize> {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
@ -99,7 +99,7 @@ pub enum Enum3<T = isize, #[unstable(feature = "unstable_default", issue = "none
|
||||
Err(#[stable(feature = "stable_test_feature", since = "1.0.0")] E),
|
||||
}
|
||||
|
||||
#[rustc_deprecated(since = "1.1.0", reason = "test")]
|
||||
#[deprecated(since = "1.1.0", note = "test")]
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
pub enum Enum4<T = usize> {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
@ -108,7 +108,7 @@ pub enum Enum4<T = usize> {
|
||||
None,
|
||||
}
|
||||
|
||||
#[rustc_deprecated(since = "1.1.0", reason = "test")]
|
||||
#[deprecated(since = "1.1.0", note = "test")]
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
pub enum Enum5<#[unstable(feature = "unstable_default", issue = "none")] T = usize> {
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
@ -152,11 +152,11 @@ pub type Alias2<T = usize> = Option<T>;
|
||||
pub type Alias3<T = isize, #[unstable(feature = "unstable_default", issue = "none")] E = usize> =
|
||||
Result<T, E>;
|
||||
|
||||
#[rustc_deprecated(since = "1.1.0", reason = "test")]
|
||||
#[deprecated(since = "1.1.0", note = "test")]
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
pub type Alias4<T = usize> = Option<T>;
|
||||
|
||||
#[rustc_deprecated(since = "1.1.0", reason = "test")]
|
||||
#[deprecated(since = "1.1.0", note = "test")]
|
||||
#[stable(feature = "stable_test_feature", since = "1.0.0")]
|
||||
pub type Alias5<#[unstable(feature = "unstable_default", issue = "none")] T = usize> = Option<T>;
|
||||
|
||||
|
@ -2,6 +2,4 @@
|
||||
|
||||
#[unstable()] //~ ERROR: stability attributes may not be used
|
||||
#[stable()] //~ ERROR: stability attributes may not be used
|
||||
#[rustc_deprecated()] //~ ERROR: stability attributes may not be used
|
||||
//~^ ERROR missing 'since'
|
||||
fn main() {}
|
||||
|
@ -10,19 +10,6 @@ error[E0734]: stability attributes may not be used outside of the standard libra
|
||||
LL | #[stable()]
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error[E0734]: stability attributes may not be used outside of the standard library
|
||||
--> $DIR/stability-attribute-non-staged-force-unstable.rs:5:1
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
error[E0542]: missing 'since'
|
||||
--> $DIR/stability-attribute-non-staged-force-unstable.rs:5:1
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0542, E0734.
|
||||
For more information about an error, try `rustc --explain E0542`.
|
||||
For more information about this error, try `rustc --explain E0734`.
|
||||
|
@ -1,5 +1,3 @@
|
||||
#[unstable()] //~ ERROR: stability attributes may not be used
|
||||
#[stable()] //~ ERROR: stability attributes may not be used
|
||||
#[rustc_deprecated()] //~ ERROR: stability attributes may not be used
|
||||
//~^ ERROR missing 'since'
|
||||
fn main() {}
|
||||
|
@ -10,19 +10,6 @@ error[E0734]: stability attributes may not be used outside of the standard libra
|
||||
LL | #[stable()]
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error[E0734]: stability attributes may not be used outside of the standard library
|
||||
--> $DIR/stability-attribute-non-staged.rs:3:1
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
error[E0542]: missing 'since'
|
||||
--> $DIR/stability-attribute-non-staged.rs:3:1
|
||||
|
|
||||
LL | #[rustc_deprecated()]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0542, E0734.
|
||||
For more information about an error, try `rustc --explain E0542`.
|
||||
For more information about this error, try `rustc --explain E0734`.
|
||||
|
@ -18,13 +18,11 @@ mod bogus_attribute_types_2 {
|
||||
fn f4() { }
|
||||
|
||||
#[stable(feature = "a", since = "b")]
|
||||
#[rustc_deprecated] //~ ERROR malformed `rustc_deprecated` attribute
|
||||
//~^ ERROR missing 'since'
|
||||
#[deprecated] //~ ERROR missing 'since'
|
||||
fn f5() { }
|
||||
|
||||
#[stable(feature = "a", since = "b")]
|
||||
#[rustc_deprecated = "a"] //~ ERROR malformed `rustc_deprecated` attribute
|
||||
//~^ ERROR missing 'since'
|
||||
#[deprecated = "a"] //~ ERROR missing 'since'
|
||||
fn f6() { }
|
||||
}
|
||||
|
||||
|
@ -22,30 +22,18 @@ error: malformed `stable` attribute input
|
||||
LL | #[stable = "a"]
|
||||
| ^^^^^^^^^^^^^^^ help: must be of the form: `#[stable(feature = "name", since = "version")]`
|
||||
|
||||
error: malformed `rustc_deprecated` attribute input
|
||||
--> $DIR/stability-attribute-sanity-4.rs:21:5
|
||||
|
|
||||
LL | #[rustc_deprecated]
|
||||
| ^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[rustc_deprecated(since = "version", reason = "...")]`
|
||||
|
||||
error: malformed `rustc_deprecated` attribute input
|
||||
--> $DIR/stability-attribute-sanity-4.rs:26:5
|
||||
|
|
||||
LL | #[rustc_deprecated = "a"]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[rustc_deprecated(since = "version", reason = "...")]`
|
||||
|
||||
error[E0542]: missing 'since'
|
||||
--> $DIR/stability-attribute-sanity-4.rs:21:5
|
||||
|
|
||||
LL | #[rustc_deprecated]
|
||||
LL | #[deprecated]
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error[E0542]: missing 'since'
|
||||
--> $DIR/stability-attribute-sanity-4.rs:25:5
|
||||
|
|
||||
LL | #[deprecated = "a"]
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0542]: missing 'since'
|
||||
--> $DIR/stability-attribute-sanity-4.rs:26:5
|
||||
|
|
||||
LL | #[rustc_deprecated = "a"]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to 8 previous errors
|
||||
error: aborting due to 6 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0542`.
|
||||
|
@ -37,11 +37,11 @@ mod missing_version {
|
||||
fn f1() { }
|
||||
|
||||
#[stable(feature = "a", since = "b")]
|
||||
#[rustc_deprecated(reason = "a")] //~ ERROR missing 'since' [E0542]
|
||||
#[deprecated(note = "a")] //~ ERROR missing 'since' [E0542]
|
||||
fn f2() { }
|
||||
|
||||
#[stable(feature = "a", since = "b")]
|
||||
#[rustc_deprecated(since = "a")] //~ ERROR missing 'reason' [E0543]
|
||||
#[deprecated(since = "a")] //~ ERROR missing 'note' [E0543]
|
||||
fn f3() { }
|
||||
}
|
||||
|
||||
@ -58,19 +58,19 @@ fn multiple2() { }
|
||||
fn multiple3() { }
|
||||
|
||||
#[stable(feature = "a", since = "b")] //~ ERROR invalid stability version found
|
||||
#[rustc_deprecated(since = "b", reason = "text")]
|
||||
#[rustc_deprecated(since = "b", reason = "text")] //~ ERROR multiple deprecated attributes
|
||||
#[deprecated(since = "b", note = "text")]
|
||||
#[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() { }
|
||||
|
||||
#[stable(feature = "a", since = "1.0.0")] //~ ERROR invalid deprecation version found
|
||||
//~^ ERROR feature `a` is declared stable since 1.0.0
|
||||
#[rustc_deprecated(since = "invalid", reason = "text")]
|
||||
#[deprecated(since = "invalid", note = "text")]
|
||||
fn invalid_deprecation_version() {}
|
||||
|
||||
#[rustc_deprecated(since = "a", reason = "text")]
|
||||
#[deprecated(since = "a", note = "text")]
|
||||
fn deprecated_without_unstable_or_stable() { }
|
||||
//~^^ ERROR rustc_deprecated attribute must be paired with either stable or unstable attribute
|
||||
//~^^ ERROR deprecated attribute must be paired with either stable or unstable attribute
|
||||
|
||||
fn main() { }
|
||||
|
@ -55,14 +55,14 @@ LL | #[stable(feature = "a")]
|
||||
error[E0542]: missing 'since'
|
||||
--> $DIR/stability-attribute-sanity.rs:40:5
|
||||
|
|
||||
LL | #[rustc_deprecated(reason = "a")]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
LL | #[deprecated(note = "a")]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0543]: missing 'reason'
|
||||
error[E0543]: missing 'note'
|
||||
--> $DIR/stability-attribute-sanity.rs:44:5
|
||||
|
|
||||
LL | #[rustc_deprecated(since = "a")]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
LL | #[deprecated(since = "a")]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0544]: multiple stability levels
|
||||
--> $DIR/stability-attribute-sanity.rs:49:1
|
||||
@ -85,10 +85,10 @@ LL | #[stable(feature = "a", since = "b")]
|
||||
error[E0550]: multiple deprecated attributes
|
||||
--> $DIR/stability-attribute-sanity.rs:62:1
|
||||
|
|
||||
LL | #[rustc_deprecated(since = "b", reason = "text")]
|
||||
| ------------------------------------------------- first deprecation attribute
|
||||
LL | #[rustc_deprecated(since = "b", reason = "text")]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ repeated deprecation attribute
|
||||
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
|
||||
@ -114,11 +114,11 @@ LL | #[stable(feature = "a", since = "1.0.0")]
|
||||
LL | fn invalid_deprecation_version() {}
|
||||
| ----------------------------------- the stability attribute annotates this item
|
||||
|
||||
error[E0549]: rustc_deprecated attribute must be paired with either stable or unstable attribute
|
||||
error[E0549]: deprecated attribute must be paired with either stable or unstable attribute
|
||||
--> $DIR/stability-attribute-sanity.rs:72:1
|
||||
|
|
||||
LL | #[rustc_deprecated(since = "a", reason = "text")]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
LL | #[deprecated(since = "a", note = "text")]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0711]: feature `a` is declared stable since 1.0.0, but was previously declared stable since b
|
||||
--> $DIR/stability-attribute-sanity.rs:67:1
|
||||
|
Loading…
Reference in New Issue
Block a user