1 // run-pass
2 
3 #![allow(unused_imports)]
4 // pretty-expanded FIXME #23616
5 
6 pub use foo::bar::{self, First};
7 use self::bar::Second;
8 
9 mod foo {
10     pub use self::bar::baz::{self};
11 
12     pub mod bar {
13         pub mod baz {
14             pub struct Fourth;
15         }
16         pub struct First;
17         pub struct Second;
18     }
19 
20     pub struct Third;
21 }
22 
23 mod baz {
24     use super::foo::{bar, self};
25     pub use foo::Third;
26 }
27 
main()28 fn main() {
29     let _ = First;
30     let _ = Second;
31     let _ = baz::Third;
32     let _ = foo::baz::Fourth;
33 }
34