warning: attribute must be of the form `#[inline]` or `#[inline(always|never)]`
  --> $DIR/issue-43106-gating-of-inline.rs:17:5
   |
LL |     #[inline = "2100"] fn f() { }
   |     ^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(ill_formed_attribute_input)]` on by default
   = 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 #57571 <https://github.com/rust-lang/rust/issues/57571>

error[E0518]: attribute should be applied to function or closure
  --> $DIR/issue-43106-gating-of-inline.rs:11:1
   |
LL |   #[inline]
   |   ^^^^^^^^^
LL |
LL | / mod inline {
LL | |     mod inner { #![inline] }
LL | |
LL | |
...  |
LL | |
LL | | }
   | |_- not a function or closure

error[E0518]: attribute should be applied to function or closure
  --> $DIR/issue-43106-gating-of-inline.rs:14:17
   |
LL |     mod inner { #![inline] }
   |     ------------^^^^^^^^^^-- not a function or closure

error[E0518]: attribute should be applied to function or closure
  --> $DIR/issue-43106-gating-of-inline.rs:21:5
   |
LL |     #[inline] struct S;
   |     ^^^^^^^^^ --------- not a function or closure

error[E0518]: attribute should be applied to function or closure
  --> $DIR/issue-43106-gating-of-inline.rs:24:5
   |
LL |     #[inline] type T = S;
   |     ^^^^^^^^^ ----------- not a function or closure

error[E0518]: attribute should be applied to function or closure
  --> $DIR/issue-43106-gating-of-inline.rs:27:5
   |
LL |     #[inline] impl S { }
   |     ^^^^^^^^^ ---------- not a function or closure

error: aborting due to 5 previous errors

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