I has the same problem as structs:

```rust
mod b {
    impl ::a::Test {
        fn foo(&self) {}
    }
}

mod a {
    pub enum Test { Test1 }
}
```