1 // run-pass
2 
3 mod a {
4     pub enum B {}
5 
6     pub mod d {
7         pub enum E {}
8         pub enum F {}
9 
10         pub mod g {
11             pub enum H {}
12             pub enum I {}
13         }
14     }
15 }
16 
17 // Test every possible part of the syntax
18 use a::{B, d::{self, *, g::H}};
19 
20 // Test a more common use case
21 use std::sync::{Arc, atomic::{AtomicBool, Ordering}};
22 
main()23 fn main() {
24     let _: B;
25     let _: E;
26     let _: F;
27     let _: H;
28     let _: d::g::I;
29 
30     let _: Arc<AtomicBool>;
31     let _: Ordering;
32 }
33