error: `Class` is ambiguous
  --> $DIR/ambiguous-5.rs:12:23
   |
LL |     struct MarkRecord(Class);
   |                       ^^^^^ ambiguous name
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #114095 <https://github.com/rust-lang/rust/issues/114095>
   = note: ambiguous because of multiple glob imports of a name in the same module
note: `Class` could refer to the struct imported here
  --> $DIR/ambiguous-5.rs:11:9
   |
LL |     use super::*;
   |         ^^^^^^^^
   = help: consider adding an explicit import of `Class` to disambiguate
note: `Class` could also refer to the struct imported here
  --> $DIR/ambiguous-5.rs:10:9
   |
LL |     use super::gsubgpos::*;
   |         ^^^^^^^^^^^^^^^^^^
   = help: consider adding an explicit import of `Class` to disambiguate
   = note: `#[deny(ambiguous_glob_imports)]` (part of `#[deny(future_incompatible)]`) on by default

error: aborting due to 1 previous error

Future incompatibility report: Future breakage diagnostic:
error: `Class` is ambiguous
  --> $DIR/ambiguous-5.rs:12:23
   |
LL |     struct MarkRecord(Class);
   |                       ^^^^^ ambiguous name
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #114095 <https://github.com/rust-lang/rust/issues/114095>
   = note: ambiguous because of multiple glob imports of a name in the same module
note: `Class` could refer to the struct imported here
  --> $DIR/ambiguous-5.rs:11:9
   |
LL |     use super::*;
   |         ^^^^^^^^
   = help: consider adding an explicit import of `Class` to disambiguate
note: `Class` could also refer to the struct imported here
  --> $DIR/ambiguous-5.rs:10:9
   |
LL |     use super::gsubgpos::*;
   |         ^^^^^^^^^^^^^^^^^^
   = help: consider adding an explicit import of `Class` to disambiguate
   = note: `#[deny(ambiguous_glob_imports)]` (part of `#[deny(future_incompatible)]`) on by default

