Rollup merge of #81830 - jesusprubio:add-log-explanation-e0542, r=GuillaumeGomez
Add long error explanation for E0542 Helps with #61137
This commit is contained in:
commit
6c648822c5
@ -285,6 +285,7 @@
|
||||
E0538: include_str!("./error_codes/E0538.md"),
|
||||
E0539: include_str!("./error_codes/E0539.md"),
|
||||
E0541: include_str!("./error_codes/E0541.md"),
|
||||
E0542: include_str!("./error_codes/E0542.md"),
|
||||
E0546: include_str!("./error_codes/E0546.md"),
|
||||
E0550: include_str!("./error_codes/E0550.md"),
|
||||
E0551: include_str!("./error_codes/E0551.md"),
|
||||
@ -602,7 +603,6 @@
|
||||
E0523,
|
||||
// E0526, // shuffle indices are not constant
|
||||
// E0540, // multiple rustc_deprecated attributes
|
||||
E0542, // missing 'since'
|
||||
E0543, // missing 'reason'
|
||||
E0544, // multiple stability levels
|
||||
E0545, // incorrect 'issue'
|
||||
|
47
compiler/rustc_error_codes/src/error_codes/E0542.md
Normal file
47
compiler/rustc_error_codes/src/error_codes/E0542.md
Normal file
@ -0,0 +1,47 @@
|
||||
The `since` value is missing in a stability attribute.
|
||||
|
||||
Erroneous code example:
|
||||
|
||||
```compile_fail,E0542
|
||||
#![feature(staged_api)]
|
||||
#![stable(since = "1.0.0", feature = "test")]
|
||||
|
||||
#[stable(feature = "_stable_fn")] // invalid
|
||||
fn _stable_fn() {}
|
||||
|
||||
#[rustc_const_stable(feature = "_stable_const_fn")] // invalid
|
||||
fn _stable_const_fn() {}
|
||||
|
||||
#[stable(feature = "_deprecated_fn", since = "0.1.0")]
|
||||
#[rustc_deprecated(
|
||||
reason = "explanation for deprecation"
|
||||
)] // invalid
|
||||
fn _deprecated_fn() {}
|
||||
```
|
||||
|
||||
To fix the issue you need to provide the `since` field.
|
||||
|
||||
```
|
||||
#![feature(staged_api)]
|
||||
#![stable(since = "1.0.0", feature = "test")]
|
||||
|
||||
#[stable(feature = "_stable_fn", since = "1.0.0")] // ok!
|
||||
fn _stable_fn() {}
|
||||
|
||||
#[rustc_const_stable(feature = "_stable_const_fn", since = "1.0.0")] // ok!
|
||||
fn _stable_const_fn() {}
|
||||
|
||||
#[stable(feature = "_deprecated_fn", since = "0.1.0")]
|
||||
#[rustc_deprecated(
|
||||
since = "1.0.0",
|
||||
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
|
@ -116,5 +116,5 @@ LL | #[rustc_deprecated(since = "a", reason = "text")]
|
||||
|
||||
error: aborting due to 19 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0539, E0541, E0546, E0550.
|
||||
Some errors have detailed explanations: E0539, E0541, E0542, E0546, E0550.
|
||||
For more information about an error, try `rustc --explain E0539`.
|
||||
|
Loading…
Reference in New Issue
Block a user