Skip to content

Commit

Permalink
Add long explanation for E0544.
Browse files Browse the repository at this point in the history
  • Loading branch information
midgleyc committed Jul 26, 2021
1 parent 08095fc commit b21024f
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 2 deletions.
2 changes: 1 addition & 1 deletion compiler/rustc_error_codes/src/error_codes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,7 @@ E0539: include_str!("./error_codes/E0539.md"),
E0541: include_str!("./error_codes/E0541.md"),
E0542: include_str!("./error_codes/E0542.md"),
E0543: include_str!("./error_codes/E0543.md"),
E0544: include_str!("./error_codes/E0544.md"),
E0545: include_str!("./error_codes/E0545.md"),
E0546: include_str!("./error_codes/E0546.md"),
E0547: include_str!("./error_codes/E0547.md"),
Expand Down Expand Up @@ -610,7 +611,6 @@ E0783: include_str!("./error_codes/E0783.md"),
E0523,
// E0526, // shuffle indices are not constant
// E0540, // multiple rustc_deprecated attributes
E0544, // multiple stability levels
// E0548, // replaced with a generic attribute input check
// E0553, // multiple rustc_const_unstable attributes
// E0555, // replaced with a generic attribute input check
Expand Down
29 changes: 29 additions & 0 deletions compiler/rustc_error_codes/src/error_codes/E0544.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Multiple stability attributes were declared on the same item.

Erroneous code example:

```compile_fail,E0544
#![feature(staged_api)]
#![stable(since = "1.0.0", feature = "rust1")]
#[stable(feature = "rust1", since = "1.0.0")]
#[stable(feature = "test", since = "2.0.0")] // invalid
fn foo() {}
```

To fix this issue, ensure that each item has at most one stability attribute.

```
#![feature(staged_api)]
#![stable(since = "1.0.0", feature = "rust1")]
#[stable(feature = "test", since = "2.0.0")] // ok!
fn foo() {}
```

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
Original file line number Diff line number Diff line change
Expand Up @@ -122,5 +122,5 @@ LL | #[rustc_deprecated(since = "a", reason = "text")]

error: aborting due to 19 previous errors

Some errors have detailed explanations: E0539, E0541, E0542, E0543, E0546, E0547, E0549, E0550.
Some errors have detailed explanations: E0539, E0541, E0542, E0543, E0544, E0546, E0547, E0549, E0550.
For more information about an error, try `rustc --explain E0539`.

0 comments on commit b21024f

Please sign in to comment.