File tree 2 files changed +27
-1
lines changed
2 files changed +27
-1
lines changed Original file line number Diff line number Diff line change @@ -197,7 +197,8 @@ impl<'a> Resolver<'a> {
197
197
// If the resolution doesn't depend on glob definability, check privacy and return.
198
198
if let Some ( result) = self . try_result ( & resolution, ns) {
199
199
return result. and_then ( |binding| {
200
- if self . is_accessible ( binding. vis ) && !is_disallowed_private_import ( binding) {
200
+ if self . is_accessible ( binding. vis ) && !is_disallowed_private_import ( binding) ||
201
+ binding. is_extern_crate ( ) { // c.f. issue #37020
201
202
Success ( binding)
202
203
} else {
203
204
Failed ( None )
Original file line number Diff line number Diff line change
1
+ // Copyright 2016 The Rust Project Developers. See the COPYRIGHT
2
+ // file at the top-level directory of this distribution and at
3
+ // http://rust-lang.org/COPYRIGHT.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
+ // option. This file may not be copied, modified, or distributed
9
+ // except according to those terms.
10
+
11
+ #![ allow( private_in_public) ]
12
+
13
+ mod foo {
14
+ pub mod bar {
15
+ extern crate core;
16
+ }
17
+ }
18
+
19
+ mod baz {
20
+ pub use foo:: bar:: core;
21
+ }
22
+
23
+ fn main ( ) {
24
+ baz:: core:: cell:: Cell :: new ( 0u32 ) ;
25
+ }
You can’t perform that action at this time.
0 commit comments