docs: add long-form error-code docs for E0457
This commit is contained in:
parent
7e66d451ad
commit
540c3f434f
3 changed files with 38 additions and 1 deletions
|
@ -239,6 +239,7 @@ E0452: include_str!("./error_codes/E0452.md"),
|
||||||
E0453: include_str!("./error_codes/E0453.md"),
|
E0453: include_str!("./error_codes/E0453.md"),
|
||||||
E0454: include_str!("./error_codes/E0454.md"),
|
E0454: include_str!("./error_codes/E0454.md"),
|
||||||
E0455: include_str!("./error_codes/E0455.md"),
|
E0455: include_str!("./error_codes/E0455.md"),
|
||||||
|
E0457: include_str!("./error_codes/E0457.md"),
|
||||||
E0458: include_str!("./error_codes/E0458.md"),
|
E0458: include_str!("./error_codes/E0458.md"),
|
||||||
E0459: include_str!("./error_codes/E0459.md"),
|
E0459: include_str!("./error_codes/E0459.md"),
|
||||||
E0460: include_str!("./error_codes/E0460.md"),
|
E0460: include_str!("./error_codes/E0460.md"),
|
||||||
|
@ -593,7 +594,6 @@ E0791: include_str!("./error_codes/E0791.md"),
|
||||||
// E0421, // merged into 531
|
// E0421, // merged into 531
|
||||||
// E0427, // merged into 530
|
// E0427, // merged into 530
|
||||||
// E0456, // plugin `..` is not available for triple `..`
|
// E0456, // plugin `..` is not available for triple `..`
|
||||||
E0457, // plugin `..` only found in rlib format, but must be available...
|
|
||||||
E0461, // couldn't find crate `..` with expected target triple ..
|
E0461, // couldn't find crate `..` with expected target triple ..
|
||||||
E0462, // found staticlib `..` instead of rlib or dylib
|
E0462, // found staticlib `..` instead of rlib or dylib
|
||||||
E0465, // multiple .. candidates for `..` found
|
E0465, // multiple .. candidates for `..` found
|
||||||
|
|
36
compiler/rustc_error_codes/src/error_codes/E0457.md
Normal file
36
compiler/rustc_error_codes/src/error_codes/E0457.md
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
Plugin `..` only found in rlib format, but must be available in dylib format.
|
||||||
|
|
||||||
|
Erroronous code example:
|
||||||
|
|
||||||
|
`rlib-plugin.rs`
|
||||||
|
```ignore (needs-linkage-with-other-tests)
|
||||||
|
#![crate_type = "rlib"]
|
||||||
|
#![feature(rustc_private)]
|
||||||
|
|
||||||
|
extern crate rustc_middle;
|
||||||
|
extern crate rustc_driver;
|
||||||
|
|
||||||
|
use rustc_driver::plugin::Registry;
|
||||||
|
|
||||||
|
#[no_mangle]
|
||||||
|
fn __rustc_plugin_registrar(_: &mut Registry) {}
|
||||||
|
```
|
||||||
|
|
||||||
|
`main.rs`
|
||||||
|
```ignore (needs-linkage-with-other-tests)
|
||||||
|
#![feature(plugin)]
|
||||||
|
#![plugin(rlib_plugin)] // error: plugin `rlib_plugin` only found in rlib
|
||||||
|
// format, but must be available in dylib
|
||||||
|
|
||||||
|
fn main() {}
|
||||||
|
```
|
||||||
|
|
||||||
|
The compiler exposes a plugin interface to allow altering the compile process
|
||||||
|
(adding lints, etc). Plugins must be defined in their own crates (similar to
|
||||||
|
[proc-macro](../reference/procedural-macros.html) isolation) and then compiled
|
||||||
|
and linked to another crate. Plugin crates *must* be compiled to the
|
||||||
|
dynamically-linked dylib format, and not the statically-linked rlib format.
|
||||||
|
Learn more about different output types in
|
||||||
|
[this section](../reference/linkage.html) of the Rust reference.
|
||||||
|
|
||||||
|
This error is easily fixed by recompiling the plugin crate in the dylib format.
|
|
@ -6,3 +6,4 @@ LL | #![plugin(rlib_crate_test)]
|
||||||
|
|
||||||
error: aborting due to previous error
|
error: aborting due to previous error
|
||||||
|
|
||||||
|
For more information about this error, try `rustc --explain E0457`.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue