mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-16 17:03:35 +00:00
docs: add long-form error-code docs for E0457
This commit is contained in:
parent
7e66d451ad
commit
540c3f434f
@ -239,6 +239,7 @@ E0452: include_str!("./error_codes/E0452.md"),
|
||||
E0453: include_str!("./error_codes/E0453.md"),
|
||||
E0454: include_str!("./error_codes/E0454.md"),
|
||||
E0455: include_str!("./error_codes/E0455.md"),
|
||||
E0457: include_str!("./error_codes/E0457.md"),
|
||||
E0458: include_str!("./error_codes/E0458.md"),
|
||||
E0459: include_str!("./error_codes/E0459.md"),
|
||||
E0460: include_str!("./error_codes/E0460.md"),
|
||||
@ -593,7 +594,6 @@ E0791: include_str!("./error_codes/E0791.md"),
|
||||
// E0421, // merged into 531
|
||||
// E0427, // merged into 530
|
||||
// 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 ..
|
||||
E0462, // found staticlib `..` instead of rlib or dylib
|
||||
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
|
||||
|
||||
For more information about this error, try `rustc --explain E0457`.
|
||||
|
Loading…
Reference in New Issue
Block a user