From d59b46fd49022c1396e203d942103d3483840adf Mon Sep 17 00:00:00 2001 From: Taiki Endo Date: Wed, 27 Mar 2019 16:08:47 +0900 Subject: [PATCH 1/2] Add a test --- src/test/run-pass/no-core-2.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/test/run-pass/no-core-2.rs diff --git a/src/test/run-pass/no-core-2.rs b/src/test/run-pass/no-core-2.rs new file mode 100644 index 0000000000000..e09f8f6b7a87c --- /dev/null +++ b/src/test/run-pass/no-core-2.rs @@ -0,0 +1,18 @@ +#![allow(dead_code, unused_imports)] +#![feature(no_core)] +#![no_core] +// edition:2018 + +extern crate std; +extern crate core; +use core::{prelude::v1::*, *}; + +fn foo() { + for _ in &[()] {} +} + +fn bar() -> Option<()> { + None? +} + +fn main() {} From 362d2439bdd221b0efa4f0d28bb51bfde0ea9484 Mon Sep 17 00:00:00 2001 From: Taiki Endo Date: Fri, 29 Mar 2019 13:54:50 +0900 Subject: [PATCH 2/2] Fix error in Rust 2018 + no_core environment --- src/librustc_resolve/lib.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index f48cfa0b1479f..ab3d87fafdac7 100644 --- a/src/librustc_resolve/lib.rs +++ b/src/librustc_resolve/lib.rs @@ -1697,7 +1697,12 @@ impl<'a> hir::lowering::Resolver for Resolver<'a> { components: &[&str], is_value: bool ) -> hir::Path { - let segments = iter::once(keywords::PathRoot.ident()) + let root = if crate_root.is_some() { + keywords::PathRoot + } else { + keywords::Crate + }; + let segments = iter::once(root.ident()) .chain( crate_root.into_iter() .chain(components.iter().cloned())