From 084d2bc47976412a97a3c30be91d2b97ec690308 Mon Sep 17 00:00:00 2001 From: Russell Cohen Date: Mon, 16 Apr 2018 12:28:30 -0700 Subject: [PATCH] Reorder injection of std to get better compilation error --- src/libsyntax/std_inject.rs | 3 ++- .../ui/issue-49851/compiler-builtins-error.rs | 18 ++++++++++++++++++ .../issue-49851/compiler-builtins-error.stderr | 7 +++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 src/test/ui/issue-49851/compiler-builtins-error.rs create mode 100644 src/test/ui/issue-49851/compiler-builtins-error.stderr diff --git a/src/libsyntax/std_inject.rs b/src/libsyntax/std_inject.rs index bba7a2d737736..53dc19ba37d19 100644 --- a/src/libsyntax/std_inject.rs +++ b/src/libsyntax/std_inject.rs @@ -57,7 +57,8 @@ pub fn maybe_inject_crates_ref(mut krate: ast::Crate, alt_std_name: Option<&str> &["std"] }; - for name in names { + // .rev() to preserve ordering above in combination with insert(0, ...) + for name in names.iter().rev() { krate.module.items.insert(0, P(ast::Item { attrs: vec![attr::mk_attr_outer(DUMMY_SP, attr::mk_attr_id(), diff --git a/src/test/ui/issue-49851/compiler-builtins-error.rs b/src/test/ui/issue-49851/compiler-builtins-error.rs new file mode 100644 index 0000000000000..db82f22c6d977 --- /dev/null +++ b/src/test/ui/issue-49851/compiler-builtins-error.rs @@ -0,0 +1,18 @@ +//~ ERROR 1:1: 1:1: can't find crate for `core` [E0463] +// Copyright 2017 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// compile-flags: --target thumbv7em-none-eabihf +#![deny(unsafe_code)] +#![deny(warnings)] +#![no_std] + +extern crate cortex_m; + diff --git a/src/test/ui/issue-49851/compiler-builtins-error.stderr b/src/test/ui/issue-49851/compiler-builtins-error.stderr new file mode 100644 index 0000000000000..7e23e0fd747fb --- /dev/null +++ b/src/test/ui/issue-49851/compiler-builtins-error.stderr @@ -0,0 +1,7 @@ +error[E0463]: can't find crate for `core` + | + = note: the `thumbv7em-none-eabihf` target may not be installed + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0463`.