Skip to content

Commit

Permalink
Rollup merge of #82161 - jesusprubio:add-long-explanation-e0545, r=Gu…
Browse files Browse the repository at this point in the history
…illaumeGomez

Add long explanation for E0545

Helps with #61137
  • Loading branch information
GuillaumeGomez authored Feb 16, 2021
2 parents 73d6b60 + 8192793 commit cdab137
Show file tree
Hide file tree
Showing 4 changed files with 38 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 @@ -286,6 +286,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"),
E0545: include_str!("./error_codes/E0545.md"),
E0546: include_str!("./error_codes/E0546.md"),
E0547: include_str!("./error_codes/E0547.md"),
E0550: include_str!("./error_codes/E0550.md"),
Expand Down Expand Up @@ -606,7 +607,6 @@ E0781: include_str!("./error_codes/E0781.md"),
// E0540, // multiple rustc_deprecated attributes
E0543, // missing 'reason'
E0544, // multiple stability levels
E0545, // incorrect 'issue'
// E0548, // replaced with a generic attribute input check
// rustc_deprecated attribute must be paired with either stable or unstable
// attribute
Expand Down
35 changes: 35 additions & 0 deletions compiler/rustc_error_codes/src/error_codes/E0545.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
The `issue` value is incorrect in a stability attribute.

Erroneous code example:

```compile_fail,E0545
#![feature(staged_api)]
#![stable(since = "1.0.0", feature = "test")]
#[unstable(feature = "_unstable_fn", issue = "0")] // invalid
fn _unstable_fn() {}
#[rustc_const_unstable(feature = "_unstable_const_fn", issue = "0")] // invalid
fn _unstable_const_fn() {}
```

To fix this issue, you need to provide a correct value in the `issue` field.
Example:

```
#![feature(staged_api)]
#![stable(since = "1.0.0", feature = "test")]
#[unstable(feature = "_unstable_fn", issue = "none")] // ok!
fn _unstable_fn() {}
#[rustc_const_unstable(feature = "_unstable_const_fn", issue = "1")] // ok!
fn _unstable_const_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
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ LL | #[unstable(feature = "unstable_test_feature", issue = "something")]

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0545`.
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ LL | #[unstable(feature = "a", issue = "no")]

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0538, E0541.
Some errors have detailed explanations: E0538, E0541, E0545.
For more information about an error, try `rustc --explain E0538`.

0 comments on commit cdab137

Please sign in to comment.