error: missing fragment specifier
  --> $DIR/macro-missing-fragment.rs:9:20
   |
LL |     ( $( any_token $field_rust_type )* ) => {};
   |                    ^^^^^^^^^^^^^^^^

warning: missing fragment specifier
  --> $DIR/macro-missing-fragment.rs:9:20
   |
LL |     ( $( any_token $field_rust_type )* ) => {};
   |                    ^^^^^^^^^^^^^^^^
   |
   = 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 #40107 <https://github.com/rust-lang/rust/issues/40107>
note: the lint level is defined here
  --> $DIR/macro-missing-fragment.rs:6:9
   |
LL | #![warn(missing_fragment_specifier)]
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: missing fragment specifier
  --> $DIR/macro-missing-fragment.rs:19:7
   |
LL |     ( $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 #40107 <https://github.com/rust-lang/rust/issues/40107>

warning: missing fragment specifier
  --> $DIR/macro-missing-fragment.rs:26:7
   |
LL |     ( $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 #40107 <https://github.com/rust-lang/rust/issues/40107>

error: aborting due to 1 previous error; 3 warnings emitted

Future incompatibility report: Future breakage diagnostic:
warning: missing fragment specifier
  --> $DIR/macro-missing-fragment.rs:9:20
   |
LL |     ( $( any_token $field_rust_type )* ) => {};
   |                    ^^^^^^^^^^^^^^^^
   |
   = 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 #40107 <https://github.com/rust-lang/rust/issues/40107>
note: the lint level is defined here
  --> $DIR/macro-missing-fragment.rs:6:9
   |
LL | #![warn(missing_fragment_specifier)]
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^

Future breakage diagnostic:
warning: missing fragment specifier
  --> $DIR/macro-missing-fragment.rs:19:7
   |
LL |     ( $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 #40107 <https://github.com/rust-lang/rust/issues/40107>
note: the lint level is defined here
  --> $DIR/macro-missing-fragment.rs:6:9
   |
LL | #![warn(missing_fragment_specifier)]
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^

Future breakage diagnostic:
warning: missing fragment specifier
  --> $DIR/macro-missing-fragment.rs:26:7
   |
LL |     ( $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 #40107 <https://github.com/rust-lang/rust/issues/40107>
note: the lint level is defined here
  --> $DIR/macro-missing-fragment.rs:6:9
   |
LL | #![warn(missing_fragment_specifier)]
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^

