
This usually describes either an error in the compiler itself or some sort of IO error. Either way, we should report it to the user rather than just saying "crate not found". This only gives an error if the crate couldn't be loaded at all - if the compiler finds another .rlib or .rmeta file which was valid, it will continue to compile the crate. Example output: ``` error[E0785]: found invalid metadata files for crate `foo` --> bar.rs:3:24 | 3 | println!("{}", foo::FOO_11_49[0]); | ^^^ | = warning: failed to parse rlib '/home/joshua/test-rustdoc/libfoo.rlib': Invalid archive extended name offset ```
8 lines
466 B
Rust
8 lines
466 B
Rust
// compile-flags: --crate-type lib --extern foo={{src-base}}/crate-loading/auxiliary/libfoo.rlib
|
|
// normalize-stderr-test: "failed to mmap file '.*auxiliary/libfoo.rlib':.*" -> "failed to mmap file 'auxiliary/libfoo.rlib'"
|
|
// don't emit warn logging, it's basically the same as the errors and it's annoying to normalize
|
|
// rustc-env:RUSTC_LOG=error
|
|
// edition:2018
|
|
#![no_std]
|
|
use ::foo; //~ ERROR invalid metadata files for crate `foo`
|
|
//~| NOTE failed to mmap file
|