File tree Expand file tree Collapse file tree 4 files changed +35
-2
lines changed Expand file tree Collapse file tree 4 files changed +35
-2
lines changed Original file line number Diff line number Diff line change 1
1
---
2
- refs/heads/master: df533c6e87f5052667b0c03c918f95b51439fdba
2
+ refs/heads/master: 1f2c18a0afd55bf3a5319d9e3810ec1ac6b3e1bb
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: e263ef1df7b892ed29e53313565eb05ab75e52f4
5
5
refs/heads/try: 597a645456b55e1c886ce15d23a192abdf4d55cf
Original file line number Diff line number Diff line change @@ -1982,6 +1982,7 @@ impl<'a> Resolver<'a> {
1982
1982
// the source of this name is different now
1983
1983
resolution. type_id . set ( id) ;
1984
1984
resolution. value_id . set ( id) ;
1985
+ resolution. is_public . set ( is_public) ;
1985
1986
}
1986
1987
None => {
1987
1988
debug ! ( "(building import directive) creating new" ) ;
Original file line number Diff line number Diff line change @@ -39,7 +39,6 @@ macro_rules! iotest (
39
39
use io:: process:: * ;
40
40
use unstable:: running_on_valgrind;
41
41
use str ;
42
- use util;
43
42
44
43
fn f( ) $b
45
44
Original file line number Diff line number Diff line change
1
+ // Copyright 2014 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
+ mod a {
12
+ pub fn foobar ( ) -> int { 1 }
13
+ }
14
+
15
+ mod b {
16
+ pub fn foobar ( ) -> int { 2 }
17
+ }
18
+
19
+ mod c {
20
+ // Technically the second use shadows the first, but in theory it should
21
+ // only be shadowed for this module. The implementation of resolve currently
22
+ // doesn't implement this, so this test is ensuring that using "c::foobar"
23
+ // is *not* getting b::foobar. Today it's an error, but perhaps one day it
24
+ // can correctly get a::foobar instead.
25
+ pub use a:: foobar;
26
+ use b:: foobar;
27
+ }
28
+
29
+ fn main ( ) {
30
+ assert_eq ! ( c:: foobar( ) , 1 ) ;
31
+ //~^ ERROR: unresolved name `c::foobar`
32
+ }
33
+
You can’t perform that action at this time.
0 commit comments