Repository: rust-lang/rust
File: compiler/rustc_hir/src/attrs/data_structures.rs (Rust)

Code before:
    /// Represents `#[rustc_object_lifetime_default]`.
    RustcObjectLifetimeDefault,

    /// Represents `#[rustc_offload_kernel]`
    RustcOffloadKernel,

    /// Represents `#[rustc_paren_sugar]`.
    RustcParenSugar(Span),

    /// Represents `#[rustc_pass_by_value]` (used by the `rustc_pass_by_value` lint).
    RustcPassByValue(Span),

    /// Represents `#[rustc_pass_indirectly_in_non_rustic_abis]`
    RustcPassIndirectlyInNonRusticAbis(Span),

    /// Represents `#[rustc_preserve_ub_checks]`
    RustcPreserveUbChecks,

    /// Represents `#[rustc_pub_transparent]` (used by the `repr_transparent_external_private_fields` lint).
    RustcPubTransparent(Span),

    /// Represents `#[rustc_reallocator]`
    RustcReallocator,

    /// Represents `#[rustc_reservation_impl]`
    RustcReservationImpl(Span, Option<Symbol>),

    /// Represents `#[rustc_scalable_vector(N)]`
    RustcScalableVector {
        /// The base multiple of lanes that are in a scalable vector, if provided. `element_count`
        /// is not provided for representing tuple types.
        element_count: Option<u16>,
        span: Span,
    },

    /// Represents `#[rustc_should_not_be_called_on_const_items]`
    RustcShouldNotBeCalledOnConstItems(Span),

    /// Represents `#[rustc_simd_monomorphize_lane_limit = "N"]`.
    RustcSimdMonomorphizeLaneLimit(Limit),

    /// Represents `#[rustc_skip_during_method_dispatch]`.
    RustcSkipDuringMethodDispatch { array: bool, boxed_slice: bool, span: Span },

    /// Represents `#[rustc_specialization_trait]`.
    RustcSpecializationTrait(Span),

    /// Represents `#[rustc_std_internal_symbol]`.
    RustcStdInternalSymbol(Span),

    /// Represents `#[rustc_then_this_would_need]`

Review comment (suggestion):
I don't think the argument for this should be optional, the template is `template!(NameValueStr: "reservation message")` and I don't see it used without an argument anywhere

Code after:
    RustcLintUntrackedQueryInformation,

    /// Represents `#[rustc_macro_transparency]`.
    RustcMacroTransparency(Transparency),

    /// Represents `#[rustc_main]`.
    RustcMain,

    /// Represents `#[rustc_mir]`.
    RustcMir(ThinVec<RustcMirKind>),

    /// Represents `#[rustc_must_implement_one_of]`
    RustcMustImplementOneOf { attr_span: Span, fn_names: ThinVec<Ident> },

    /// Represents `#[rustc_never_returns_null_ptr]`
    RustcNeverReturnsNullPointer,

    /// Represents `#[rustc_no_implicit_autorefs]`
    RustcNoImplicitAutorefs,

    /// Represents `#[rustc_non_const_trait_method]`.
    RustcNonConstTraitMethod,

    /// Represents `#[rustc_nounwind]`
    RustcNounwind,

    /// Represents `#[rustc_objc_class]`
    RustcObjcClass { classname: Symbol, span: Span },

    /// Represents `#[rustc_objc_selector]`
    RustcObjcSelector { methname: Symbol, span: Span },

    /// Represents `#[rustc_object_lifetime_default]`.
    RustcObjectLifetimeDefault,

    /// Represents `#[rustc_offload_kernel]`
    RustcOffloadKernel,

    /// Represents `#[rustc_outlives]`
    RustcOutlives,

    /// Represents `#[rustc_paren_sugar]`.
    RustcParenSugar(Span),

    /// Represents `#[rustc_pass_by_value]` (used by the `rustc_pass_by_value` lint).
    RustcPassByValue(Span),

    /// Represents `#[rustc_pass_indirectly_in_non_rustic_abis]`
    RustcPassIndirectlyInNonRusticAbis(Span),

    /// Represents `#[rustc_preserve_ub_checks]`