Add long explanation for E0549

This commit is contained in:
Jesus Rubio
2021-02-18 06:53:01 +01:00
parent cbf666dbc1
commit 5ae392f3c6
3 changed files with 39 additions and 4 deletions

View File

@@ -0,0 +1,37 @@
The `rustc_deprecated` attribute must be paired with either `stable` or
`unstable`.
Erroneous code example:
```compile_fail,E0549
#![feature(staged_api)]
#![stable(since = "1.0.0", feature = "test")]
#[rustc_deprecated(
since = "1.0.1",
reason = "explanation for deprecation"
)] // invalid
fn _deprecated_fn() {}
```
To fix this issue, you need to add also an attribute `stable` or `unstable`.
Example:
```
#![feature(staged_api)]
#![stable(since = "1.0.0", feature = "test")]
#[stable(since = "1.0.0", feature = "test")]
#[rustc_deprecated(
since = "1.0.1",
reason = "explanation for deprecation"
)] // ok!
fn _deprecated_fn() {}
```
See the [How Rust is Made and “Nightly Rust”][how-rust-made-nightly] appendix
of the Book and the [Stability attributes][stability-attributes] section of the
Rustc Dev Guide for more details.
[how-rust-made-nightly]: https://doc.rust-lang.org/book/appendix-07-nightly-rust.html
[stability-attributes]: https://rustc-dev-guide.rust-lang.org/stability.html