Rollup merge of #59462 - taiki-e:no-core, r=petrochenkov

Fix error in Rust 2018 + no_core environment

Minimized reproduction: https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=5b9f6c3026ec9d856699fa6dbd4361f0

This is a fix for the error that occurred in #58702.

r? @Centril
This commit is contained in:
Mazdak Farrokhzad 2019-03-29 12:32:24 +01:00 committed by GitHub
commit 647d09fced
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 1 deletions

View File

@ -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())

View File

@ -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() {}