Add long error explanation for E0724
Minor refactoring Minor refactoring Update src/librustc_error_codes/error_codes/E0724.md Co-authored-by: David Wood <Q0KPU0H1YOEPHRY1R2SN5B5RL@david.davidtw.co> Update src/librustc_error_codes/error_codes/E0724.md Co-authored-by: David Wood <Q0KPU0H1YOEPHRY1R2SN5B5RL@david.davidtw.co> Update src/librustc_error_codes/error_codes/E0724.md Co-authored-by: David Wood <Q0KPU0H1YOEPHRY1R2SN5B5RL@david.davidtw.co> Minor refactoring
This commit is contained in:
parent
ccac43b86b
commit
68b4c03dbc
3 changed files with 26 additions and 1 deletions
|
@ -409,6 +409,7 @@ E0718: include_str!("./error_codes/E0718.md"),
|
|||
E0719: include_str!("./error_codes/E0719.md"),
|
||||
E0720: include_str!("./error_codes/E0720.md"),
|
||||
E0723: include_str!("./error_codes/E0723.md"),
|
||||
E0724: include_str!("./error_codes/E0724.md"),
|
||||
E0725: include_str!("./error_codes/E0725.md"),
|
||||
E0727: include_str!("./error_codes/E0727.md"),
|
||||
E0728: include_str!("./error_codes/E0728.md"),
|
||||
|
@ -615,7 +616,6 @@ E0760: include_str!("./error_codes/E0760.md"),
|
|||
E0717, // rustc_promotable without stability attribute
|
||||
// E0721, // `await` keyword
|
||||
E0722, // Malformed `#[optimize]` attribute
|
||||
E0724, // `#[ffi_returns_twice]` is only allowed in foreign functions
|
||||
E0726, // non-explicit (not `'_`) elided lifetime in unsupported position
|
||||
// E0738, // Removed; errored on `#[track_caller] fn`s in `extern "Rust" { ... }`.
|
||||
E0755, // `#[ffi_pure]` is only allowed on foreign functions
|
||||
|
|
24
src/librustc_error_codes/error_codes/E0724.md
Normal file
24
src/librustc_error_codes/error_codes/E0724.md
Normal file
|
@ -0,0 +1,24 @@
|
|||
`#[ffi_returns_twice]` was used on non-foreign function.
|
||||
|
||||
Erroneous code example:
|
||||
|
||||
```compile_fail,E0724
|
||||
#![feature(ffi_returns_twice)]
|
||||
#![crate_type = "lib"]
|
||||
|
||||
#[ffi_returns_twice] // error!
|
||||
pub fn foo() {}
|
||||
```
|
||||
|
||||
`#[ffi_returns_twice]` can only be used on foreign function declarations.
|
||||
For example, we might correct the previous example by declaring
|
||||
the function inside of an `extern` block.
|
||||
|
||||
```
|
||||
#![feature(ffi_returns_twice)]
|
||||
|
||||
extern {
|
||||
#[ffi_returns_twice] // ok!
|
||||
pub fn foo();
|
||||
}
|
||||
```
|
|
@ -6,3 +6,4 @@ LL | #[ffi_returns_twice]
|
|||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0724`.
|
||||
|
|
Loading…
Reference in a new issue