error[E0428]: the name `Foo` is defined multiple times
  --> $DIR/issue-21546.rs:7:1
   |
LL | mod Foo { }
   | ------- previous definition of the module `Foo` here
...
LL | struct Foo;
   | ^^^^^^^^^^^ `Foo` redefined here
   |
   = note: `Foo` must be defined only once in the type namespace of this module

error[E0428]: the name `Bar` is defined multiple times
  --> $DIR/issue-21546.rs:14:1
   |
LL | mod Bar { }
   | ------- previous definition of the module `Bar` here
...
LL | struct Bar(i32);
   | ^^^^^^^^^^^^^^^^ `Bar` redefined here
   |
   = note: `Bar` must be defined only once in the type namespace of this module

error[E0428]: the name `Baz` is defined multiple times
  --> $DIR/issue-21546.rs:22:1
   |
LL | struct Baz(i32);
   | ---------------- previous definition of the type `Baz` here
...
LL | mod Baz { }
   | ^^^^^^^ `Baz` redefined here
   |
   = note: `Baz` must be defined only once in the type namespace of this module

error[E0428]: the name `Qux` is defined multiple times
  --> $DIR/issue-21546.rs:30:1
   |
LL | struct Qux { x: bool }
   | ---------- previous definition of the type `Qux` here
...
LL | mod Qux { }
   | ^^^^^^^ `Qux` redefined here
   |
   = note: `Qux` must be defined only once in the type namespace of this module

error[E0428]: the name `Quux` is defined multiple times
  --> $DIR/issue-21546.rs:38:1
   |
LL | struct Quux;
   | ------------ previous definition of the type `Quux` here
...
LL | mod Quux { }
   | ^^^^^^^^ `Quux` redefined here
   |
   = note: `Quux` must be defined only once in the type namespace of this module

error[E0428]: the name `Corge` is defined multiple times
  --> $DIR/issue-21546.rs:46:1
   |
LL | enum Corge { A, B }
   | ---------- previous definition of the type `Corge` here
...
LL | mod Corge { }
   | ^^^^^^^^^ `Corge` redefined here
   |
   = note: `Corge` must be defined only once in the type namespace of this module

error: aborting due to 6 previous errors

For more information about this error, try `rustc --explain E0428`.