Skip to content

Commit 647d09f

Browse files
authored
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
2 parents 38af98e + 362d243 commit 647d09f

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

src/librustc_resolve/lib.rs

+6-1
Original file line numberDiff line numberDiff line change
@@ -1697,7 +1697,12 @@ impl<'a> hir::lowering::Resolver for Resolver<'a> {
16971697
components: &[&str],
16981698
is_value: bool
16991699
) -> hir::Path {
1700-
let segments = iter::once(keywords::PathRoot.ident())
1700+
let root = if crate_root.is_some() {
1701+
keywords::PathRoot
1702+
} else {
1703+
keywords::Crate
1704+
};
1705+
let segments = iter::once(root.ident())
17011706
.chain(
17021707
crate_root.into_iter()
17031708
.chain(components.iter().cloned())

src/test/run-pass/no-core-2.rs

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#![allow(dead_code, unused_imports)]
2+
#![feature(no_core)]
3+
#![no_core]
4+
// edition:2018
5+
6+
extern crate std;
7+
extern crate core;
8+
use core::{prelude::v1::*, *};
9+
10+
fn foo() {
11+
for _ in &[()] {}
12+
}
13+
14+
fn bar() -> Option<()> {
15+
None?
16+
}
17+
18+
fn main() {}

0 commit comments

Comments
 (0)