diff options
| author | bors <bors@rust-lang.org> | 2018-11-27 19:04:44 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-11-27 19:04:44 +0000 |
| commit | 400c2bc5ed292f77c49693320f4eda37bb375e90 (patch) | |
| tree | 56835860042374f4e5d7d320bec63b97a322983a /src | |
| parent | aeff91d97702c11cdb5992fd18bb2cf2fb99efda (diff) | |
| parent | cd2e98dbd35f078fa14fbe021f1fb3861257e9a6 (diff) | |
| download | rust-400c2bc5ed292f77c49693320f4eda37bb375e90.tar.gz rust-400c2bc5ed292f77c49693320f4eda37bb375e90.zip | |
Auto merge of #56264 - petrochenkov:typonly, r=nikomatsakis
resolve: Extern prelude is for type namespace only Fixes https://github.com/rust-lang/rust/issues/56263 (stable-to-beta regression)
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_resolve/resolve_imports.rs | 4 | ||||
| -rw-r--r-- | src/test/ui/imports/issue-56263.rs | 8 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/librustc_resolve/resolve_imports.rs b/src/librustc_resolve/resolve_imports.rs index 3bfa862f0dc..e7cd32f4e81 100644 --- a/src/librustc_resolve/resolve_imports.rs +++ b/src/librustc_resolve/resolve_imports.rs @@ -173,7 +173,9 @@ impl<'a, 'crateloader> Resolver<'a, 'crateloader> { } ModuleOrUniformRoot::ExternPrelude => { assert!(!restricted_shadowing); - return if let Some(binding) = self.extern_prelude_get(ident, !record_used) { + return if ns != TypeNS { + Err((Determined, Weak::No)) + } else if let Some(binding) = self.extern_prelude_get(ident, !record_used) { Ok(binding) } else if !self.graph_root.unresolved_invocations.borrow().is_empty() { // Macro-expanded `extern crate` items can add names to extern prelude. diff --git a/src/test/ui/imports/issue-56263.rs b/src/test/ui/imports/issue-56263.rs new file mode 100644 index 00000000000..4113d4390c3 --- /dev/null +++ b/src/test/ui/imports/issue-56263.rs @@ -0,0 +1,8 @@ +// compile-pass +// edition:2018 + +use ::std; + +fn main() { + let std = 10; +} |
