mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-05 03:23:25 +00:00
Rollup merge of #124582 - RalfJung:std-not-found, r=Nilstrieb
always print nice 'std not found' error when std is not found Fixes https://github.com/rust-lang/miri/issues/3529 Arguably Miri is doing something odd by letting people create no-std sysroots for arbitrary targets -- but equally arguably, there's no good reason for rustc to special-case the host triple here. Being a non-host triple does not imply the target is a no-std target, after all.
This commit is contained in:
commit
871f047c4c
@ -5,7 +5,6 @@ use std::{
|
||||
|
||||
use rustc_errors::{codes::*, Diag, DiagCtxt, Diagnostic, EmissionGuarantee, Level};
|
||||
use rustc_macros::{Diagnostic, Subdiagnostic};
|
||||
use rustc_session::config;
|
||||
use rustc_span::{sym, Span, Symbol};
|
||||
use rustc_target::spec::{PanicStrategy, TargetTriple};
|
||||
|
||||
@ -640,9 +639,7 @@ impl<G: EmissionGuarantee> Diagnostic<'_, G> for CannotFindCrate {
|
||||
diag.arg("locator_triple", self.locator_triple.triple());
|
||||
diag.code(E0463);
|
||||
diag.span(self.span);
|
||||
if (self.crate_name == sym::std || self.crate_name == sym::core)
|
||||
&& self.locator_triple != TargetTriple::from_triple(config::host_triple())
|
||||
{
|
||||
if self.crate_name == sym::std || self.crate_name == sym::core {
|
||||
if self.missing_core {
|
||||
diag.note(fluent::metadata_target_not_installed);
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user