Skip to content

Commit

Permalink
resolve: Extern prelude is for type namespace only
Browse files Browse the repository at this point in the history
  • Loading branch information
petrochenkov committed Nov 27, 2018
1 parent 45205f2 commit cd2e98d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/librustc_resolve/resolve_imports.rs
Expand Up @@ -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.
Expand Down
8 changes: 8 additions & 0 deletions src/test/ui/imports/issue-56263.rs
@@ -0,0 +1,8 @@
// compile-pass
// edition:2018

use ::std;

fn main() {
let std = 10;
}

0 comments on commit cd2e98d

Please sign in to comment.