From dbc0cd94b94e0c97c4be9ef1cfb1b67431cd51e5 Mon Sep 17 00:00:00 2001 From: Eduard-Mihai Burtescu Date: Wed, 1 Aug 2018 04:26:58 +0300 Subject: [PATCH] rustc_resolve: record single-segment extern crate import resolutions. --- src/librustc_resolve/resolve_imports.rs | 2 ++ src/test/compile-fail/auxiliary/issue-52489.rs | 13 +++++++++++++ src/test/compile-fail/issue-52489.rs | 17 +++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 src/test/compile-fail/auxiliary/issue-52489.rs create mode 100644 src/test/compile-fail/issue-52489.rs diff --git a/src/librustc_resolve/resolve_imports.rs b/src/librustc_resolve/resolve_imports.rs index acdb7c4d4edfc..5441b43785368 100644 --- a/src/librustc_resolve/resolve_imports.rs +++ b/src/librustc_resolve/resolve_imports.rs @@ -677,6 +677,8 @@ impl<'a, 'b:'a> ImportResolver<'a, 'b> { expansion: directive.expansion, }); let _ = self.try_define(directive.parent, target, TypeNS, binding); + let import = self.import_map.entry(directive.id).or_default(); + import[TypeNS] = Some(PathResolution::new(binding.def())); return None; } } diff --git a/src/test/compile-fail/auxiliary/issue-52489.rs b/src/test/compile-fail/auxiliary/issue-52489.rs new file mode 100644 index 0000000000000..68d1ef8d776aa --- /dev/null +++ b/src/test/compile-fail/auxiliary/issue-52489.rs @@ -0,0 +1,13 @@ +// Copyright 2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![crate_type = "lib"] +#![unstable(feature = "issue_52489_unstable", issue = "0")] +#![feature(staged_api)] diff --git a/src/test/compile-fail/issue-52489.rs b/src/test/compile-fail/issue-52489.rs new file mode 100644 index 0000000000000..c43cc12ca0229 --- /dev/null +++ b/src/test/compile-fail/issue-52489.rs @@ -0,0 +1,17 @@ +// Copyright 2018 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// edition:2018 +// aux-build:issue-52489.rs + +use issue_52489; +//~^ ERROR use of unstable library feature 'issue_52489_unstable' + +fn main() {}