error: cannot find attribute macro `lt_hof` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:53:21
   |
LL |     where Q: for <#[lt_hof] 'i> Fn(&'i [u32]) -> &'i u32
   |                     ^^^^^^

error: cannot find attribute macro `ty_meth` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:48:15
   |
LL |     fn m_ty<#[ty_meth] P>(_: P) { }
   |               ^^^^^^^

error: cannot find attribute macro `lt_meth` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:46:15
   |
LL |     fn m_lt<#[lt_meth] 'h>(_: &'h [u32]) -> &'h u32 { loop { } }
   |               ^^^^^^^

error: cannot find attribute macro `ty_fn` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:42:11
   |
LL | fn f_ty<#[ty_fn] O>(_: O) { }
   |           ^^^^^

error: cannot find attribute macro `lt_fn` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:40:11
   |
LL | fn f_lt<#[lt_fn] 'g>(_: &'g [u32]) -> &'g u32 { loop { } }
   |           ^^^^^

error: cannot find attribute macro `ty_impl_for` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:35:8
   |
LL | impl<#[ty_impl_for] N> TrTy<N> for StTy<N> {
   |        ^^^^^^^^^^^

error: cannot find attribute macro `lt_impl_for` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:31:8
   |
LL | impl<#[lt_impl_for] 'f> TrLt<'f> for StLt<'f> {
   |        ^^^^^^^^^^^

error: cannot find attribute macro `ty_inherent` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:28:8
   |
LL | impl<#[ty_inherent] M> StTy<M> { }
   |        ^^^^^^^^^^^

error: cannot find attribute macro `lt_inherent` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:26:8
   |
LL | impl<#[lt_inherent] 'e> StLt<'e> { }
   |        ^^^^^^^^^^^

error: cannot find attribute macro `ty_type` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:23:13
   |
LL | type TyTy<#[ty_type] L> = (L, );
   |             ^^^^^^^

error: cannot find attribute macro `lt_type` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:21:13
   |
LL | type TyLt<#[lt_type] 'd> = &'d u32;
   |             ^^^^^^^

error: cannot find attribute macro `ty_trait` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:18:14
   |
LL | trait TrTy<#[ty_trait] K> { fn foo(&self, _: K); }
   |              ^^^^^^^^

error: cannot find attribute macro `lt_trait` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:16:14
   |
LL | trait TrLt<#[lt_trait] 'c> { fn foo(&self, _: &'c [u32]) -> &'c u32; }
   |              ^^^^^^^^

error: cannot find attribute macro `ty_enum` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:13:13
   |
LL | enum EnTy<#[ty_enum] J> { A(J), B }
   |             ^^^^^^^

error: cannot find attribute macro `lt_enum` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:11:13
   |
LL | enum EnLt<#[lt_enum] 'b> { A(&'b u32), B }
   |             ^^^^^^^

error: cannot find attribute macro `ty_struct` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:8:15
   |
LL | struct StTy<#[ty_struct] I>(I);
   |               ^^^^^^^^^

error: cannot find attribute macro `lt_struct` in this scope
  --> $DIR/feature-gate-custom_attribute2.rs:6:15
   |
LL | struct StLt<#[lt_struct] 'a>(&'a u32);
   |               ^^^^^^^^^

error: aborting due to 17 previous errors

