about summary refs log tree commit diff
path: root/src/librustc_resolve
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-01-13 05:26:59 +0100
committerGitHub <noreply@github.com>2019-01-13 05:26:59 +0100
commitc04d6fa08450831ef26ad27b73345b8bbb0ac9fb (patch)
tree3bfaaa74a14b6933a220efb75ca71659350c3ab0 /src/librustc_resolve
parent8c1813d3e12e61f4d53e0d997bb0747f557062ff (diff)
parent6aa78563697245ff7835a57c7e7eb331e9ecec08 (diff)
Rollup merge of #57557 - petrochenkov:ecused, r=varkor
resolve: Mark extern crate items as used in more cases

Fixes https://github.com/rust-lang/rust/issues/57421
Diffstat (limited to 'src/librustc_resolve')
-rw-r--r--src/librustc_resolve/lib.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs
index 7c05913467c..f7a82c7bf4a 100644
--- a/src/librustc_resolve/lib.rs
+++ b/src/librustc_resolve/lib.rs
@@ -5112,6 +5112,9 @@ impl<'a> Resolver<'a> {
         }
         self.extern_prelude.get(&ident.modern()).cloned().and_then(|entry| {
             if let Some(binding) = entry.extern_crate_item {
+                if !speculative && entry.introduced_by_item {
+                    self.record_use(ident, TypeNS, binding, false);
+                }
                 Some(binding)
             } else {
                 let crate_id = if !speculative {