1 #![crate_name = "foo"]
2 
3 mod hidden {
4     // @has foo/hidden/struct.Foo.html
5     // @has - '//p/a' '../../foo/struct.FooBar.html'
6     pub struct Foo {}
7     pub union U { a: usize }
8     pub enum Empty {}
9     pub const C: usize = 1;
10     pub static S: usize = 1;
11 
12     // @has foo/hidden/bar/index.html
13     // @has - '//p/a' '../../foo/baz/index.html'
14     pub mod bar {
15         // @has foo/hidden/bar/struct.Thing.html
16         // @has - '//p/a' '../../foo/baz/struct.Thing.html'
17         pub struct Thing {}
18     }
19 }
20 
21 // @has foo/struct.FooBar.html
22 pub use hidden::Foo as FooBar;
23 // @has foo/union.FooU.html
24 pub use hidden::U as FooU;
25 // @has foo/enum.FooEmpty.html
26 pub use hidden::Empty as FooEmpty;
27 // @has foo/constant.FooC.html
28 pub use hidden::C as FooC;
29 // @has foo/static.FooS.html
30 pub use hidden::S as FooS;
31 
32 // @has foo/baz/index.html
33 // @has foo/baz/struct.Thing.html
34 pub use hidden::bar as baz;
35