mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 16:24:46 +00:00
Rollup merge of #122114 - saethlin:cant-find-crate-spam, r=WaffleLapkin
Make not finding core a fatal error Similar to https://github.com/rust-lang/rust/pull/120472, this prevents terminal spam. In particular, it makes the good diagnostic visible when you try to use a target that's not installed.
This commit is contained in:
commit
66a062af86
@ -1077,7 +1077,7 @@ impl CrateError {
|
|||||||
crate_rejections,
|
crate_rejections,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
dcx.emit_err(errors::CannotFindCrate {
|
let error = errors::CannotFindCrate {
|
||||||
span,
|
span,
|
||||||
crate_name,
|
crate_name,
|
||||||
add_info,
|
add_info,
|
||||||
@ -1091,11 +1091,18 @@ impl CrateError {
|
|||||||
profiler_runtime: Symbol::intern(&sess.opts.unstable_opts.profiler_runtime),
|
profiler_runtime: Symbol::intern(&sess.opts.unstable_opts.profiler_runtime),
|
||||||
locator_triple: locator.triple,
|
locator_triple: locator.triple,
|
||||||
is_ui_testing: sess.opts.unstable_opts.ui_testing,
|
is_ui_testing: sess.opts.unstable_opts.ui_testing,
|
||||||
});
|
};
|
||||||
|
// The diagnostic for missing core is very good, but it is followed by a lot of
|
||||||
|
// other diagnostics that do not add information.
|
||||||
|
if missing_core {
|
||||||
|
dcx.emit_fatal(error);
|
||||||
|
} else {
|
||||||
|
dcx.emit_err(error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CrateError::NotFound(crate_name) => {
|
CrateError::NotFound(crate_name) => {
|
||||||
dcx.emit_err(errors::CannotFindCrate {
|
let error = errors::CannotFindCrate {
|
||||||
span,
|
span,
|
||||||
crate_name,
|
crate_name,
|
||||||
add_info: String::new(),
|
add_info: String::new(),
|
||||||
@ -1105,7 +1112,14 @@ impl CrateError {
|
|||||||
profiler_runtime: Symbol::intern(&sess.opts.unstable_opts.profiler_runtime),
|
profiler_runtime: Symbol::intern(&sess.opts.unstable_opts.profiler_runtime),
|
||||||
locator_triple: sess.opts.target_triple.clone(),
|
locator_triple: sess.opts.target_triple.clone(),
|
||||||
is_ui_testing: sess.opts.unstable_opts.ui_testing,
|
is_ui_testing: sess.opts.unstable_opts.ui_testing,
|
||||||
});
|
};
|
||||||
|
// The diagnostic for missing core is very good, but it is followed by a lot of
|
||||||
|
// other diagnostics that do not add information.
|
||||||
|
if missing_core {
|
||||||
|
dcx.emit_fatal(error);
|
||||||
|
} else {
|
||||||
|
dcx.emit_err(error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,8 +8,6 @@ LL | extern crate core;
|
|||||||
= help: consider downloading the target with `rustup target add x86_64-unknown-uefi`
|
= help: consider downloading the target with `rustup target add x86_64-unknown-uefi`
|
||||||
= help: consider building the standard library from source with `cargo build -Zbuild-std`
|
= help: consider building the standard library from source with `cargo build -Zbuild-std`
|
||||||
|
|
||||||
error: requires `sized` lang_item
|
error: aborting due to 1 previous error
|
||||||
|
|
||||||
error: aborting due to 2 previous errors
|
|
||||||
|
|
||||||
For more information about this error, try `rustc --explain E0463`.
|
For more information about this error, try `rustc --explain E0463`.
|
||||||
|
@ -4,8 +4,6 @@ error[E0463]: can't find crate for `std`
|
|||||||
= help: consider downloading the target with `rustup target add thumbv6m-none-eabi`
|
= help: consider downloading the target with `rustup target add thumbv6m-none-eabi`
|
||||||
= help: consider building the standard library from source with `cargo build -Zbuild-std`
|
= help: consider building the standard library from source with `cargo build -Zbuild-std`
|
||||||
|
|
||||||
error: requires `sized` lang_item
|
error: aborting due to 1 previous error
|
||||||
|
|
||||||
error: aborting due to 2 previous errors
|
|
||||||
|
|
||||||
For more information about this error, try `rustc --explain E0463`.
|
For more information about this error, try `rustc --explain E0463`.
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
//~ ERROR can't find crate for `core`
|
//~ ERROR can't find crate for `core`
|
||||||
//~^ ERROR can't find crate for `compiler_builtins`
|
|
||||||
|
|
||||||
//@ compile-flags: --target thumbv7em-none-eabihf
|
//@ compile-flags: --target thumbv7em-none-eabihf
|
||||||
//@ needs-llvm-components: arm
|
//@ needs-llvm-components: arm
|
||||||
@ -8,6 +7,5 @@
|
|||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
extern crate cortex_m;
|
extern crate cortex_m;
|
||||||
//~^ ERROR can't find crate for `cortex_m`
|
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
@ -4,16 +4,6 @@ error[E0463]: can't find crate for `core`
|
|||||||
= help: consider downloading the target with `rustup target add thumbv7em-none-eabihf`
|
= help: consider downloading the target with `rustup target add thumbv7em-none-eabihf`
|
||||||
= help: consider building the standard library from source with `cargo build -Zbuild-std`
|
= help: consider building the standard library from source with `cargo build -Zbuild-std`
|
||||||
|
|
||||||
error[E0463]: can't find crate for `compiler_builtins`
|
error: aborting due to 1 previous error
|
||||||
|
|
||||||
error[E0463]: can't find crate for `cortex_m`
|
|
||||||
--> $DIR/compiler-builtins-error.rs:10:1
|
|
||||||
|
|
|
||||||
LL | extern crate cortex_m;
|
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^ can't find crate
|
|
||||||
|
|
||||||
error: requires `sized` lang_item
|
|
||||||
|
|
||||||
error: aborting due to 4 previous errors
|
|
||||||
|
|
||||||
For more information about this error, try `rustc --explain E0463`.
|
For more information about this error, try `rustc --explain E0463`.
|
||||||
|
Loading…
Reference in New Issue
Block a user