1
Fork 0

Add long explanation for E0722

This commit is contained in:
Chris Midgley 2021-07-20 20:13:08 +01:00
parent 5c0ca08c66
commit 320d049e87
3 changed files with 27 additions and 2 deletions

View file

@ -418,6 +418,7 @@ E0716: include_str!("./error_codes/E0716.md"),
E0718: include_str!("./error_codes/E0718.md"),
E0719: include_str!("./error_codes/E0719.md"),
E0720: include_str!("./error_codes/E0720.md"),
E0722: include_str!("./error_codes/E0722.md"),
E0724: include_str!("./error_codes/E0724.md"),
E0725: include_str!("./error_codes/E0725.md"),
E0727: include_str!("./error_codes/E0727.md"),
@ -634,7 +635,6 @@ E0783: include_str!("./error_codes/E0783.md"),
E0711, // a feature has been declared with conflicting stability attributes
E0717, // rustc_promotable without stability attribute
// E0721, // `await` keyword
E0722, // Malformed `#[optimize]` attribute
// E0723, unstable feature in `const` context
E0726, // non-explicit (not `'_`) elided lifetime in unsupported position
// E0738, // Removed; errored on `#[track_caller] fn`s in `extern "Rust" { ... }`.

View file

@ -0,0 +1,24 @@
The `optimize` attribute was malformed.
Erroneous code example:
```compile_fail,E0722
#![feature(optimize_attribute)]
#[optimize(something)] // error: invalid argument
pub fn something() {}
fn main() {}
```
The `#[optimize]` attribute should be used as follows:
- `#[optimize(size)]` -- instructs the optimization pipeline to generate code
that's smaller rather than faster
- `#[optimize(speed)]` -- instructs the optimization pipeline to generate code
that's faster rather than smaller
See [RFC 2412] for more details.
[RFC 2412]: https://rust-lang.github.io/rfcs/2412-optimize-attr.html