- is_valid &= if self.tcx.sess.check_name(attr, sym::inline) {
- self.check_inline(hir_id, attr, span, target)
- } else if self.tcx.sess.check_name(attr, sym::non_exhaustive) {
- self.check_non_exhaustive(hir_id, attr, span, target)
- } else if self.tcx.sess.check_name(attr, sym::marker) {
- self.check_marker(hir_id, attr, span, target)
- } else if self.tcx.sess.check_name(attr, sym::target_feature) {
- self.check_target_feature(hir_id, attr, span, target)
- } else if self.tcx.sess.check_name(attr, sym::track_caller) {
- self.check_track_caller(hir_id, &attr.span, attrs, span, target)
- } else if self.tcx.sess.check_name(attr, sym::doc) {
- self.check_doc_attrs(attr, hir_id, target)
- } else if self.tcx.sess.check_name(attr, sym::no_link) {
- self.check_no_link(hir_id, &attr, span, target)
- } else if self.tcx.sess.check_name(attr, sym::export_name) {
- self.check_export_name(hir_id, &attr, span, target)
- } else if self.tcx.sess.check_name(attr, sym::rustc_args_required_const) {
- self.check_rustc_args_required_const(&attr, span, target, item)
- } else if self.tcx.sess.check_name(attr, sym::rustc_layout_scalar_valid_range_start) {
- self.check_rustc_layout_scalar_valid_range(&attr, span, target)
- } else if self.tcx.sess.check_name(attr, sym::rustc_layout_scalar_valid_range_end) {
- self.check_rustc_layout_scalar_valid_range(&attr, span, target)
- } else if self.tcx.sess.check_name(attr, sym::allow_internal_unstable) {
- self.check_allow_internal_unstable(hir_id, &attr, span, target, &attrs)
- } else if self.tcx.sess.check_name(attr, sym::rustc_allow_const_fn_unstable) {
- self.check_rustc_allow_const_fn_unstable(hir_id, &attr, span, target)
- } else if self.tcx.sess.check_name(attr, sym::naked) {
- self.check_naked(hir_id, attr, span, target)
- } else if self.tcx.sess.check_name(attr, sym::rustc_legacy_const_generics) {
- self.check_rustc_legacy_const_generics(&attr, span, target, item)
- } else if self.tcx.sess.check_name(attr, sym::rustc_clean)
- || self.tcx.sess.check_name(attr, sym::rustc_dirty)
- || self.tcx.sess.check_name(attr, sym::rustc_if_this_changed)
- || self.tcx.sess.check_name(attr, sym::rustc_then_this_would_need)
- {
- self.check_rustc_dirty_clean(&attr)
- } else {
- // lint-only checks
- if self.tcx.sess.check_name(attr, sym::cold) {
- self.check_cold(hir_id, attr, span, target);
- } else if self.tcx.sess.check_name(attr, sym::link_name) {
- self.check_link_name(hir_id, attr, span, target);
- } else if self.tcx.sess.check_name(attr, sym::link_section) {
- self.check_link_section(hir_id, attr, span, target);
- } else if self.tcx.sess.check_name(attr, sym::no_mangle) {
- self.check_no_mangle(hir_id, attr, span, target);
+ is_valid &= match attr.name_or_empty() {
+ sym::inline => self.check_inline(hir_id, attr, span, target),
+ sym::non_exhaustive => self.check_non_exhaustive(hir_id, attr, span, target),
+ sym::marker => self.check_marker(hir_id, attr, span, target),
+ sym::target_feature => self.check_target_feature(hir_id, attr, span, target),
+ sym::track_caller => {
+ self.check_track_caller(hir_id, &attr.span, attrs, span, target)