]> git.lizzy.rs Git - rust.git/commit
Avoid unnecessary `MetaItem`/`Attribute` conversions.
authorNicholas Nethercote <n.nethercote@gmail.com>
Thu, 24 Nov 2022 05:00:57 +0000 (16:00 +1100)
committerNicholas Nethercote <n.nethercote@gmail.com>
Tue, 29 Nov 2022 01:08:57 +0000 (12:08 +1100)
commitc9ae38c71e2838f1ac282803ddde47f21f4ca76e
treeb958e56a3adccd7d12f831c73691306ed4860904
parent2585bcea0bc2a9c42a4be2c1eba5c61137f2b167
Avoid unnecessary `MetaItem`/`Attribute` conversions.

`check_builtin_attribute` calls `parse_meta` to convert an `Attribute`
to a `MetaItem`, which it then checks. However, many callers of
`check_builtin_attribute` start with a `MetaItem`, and then convert it
to an `Attribute` by calling `cx.attribute(meta_item)`. This `MetaItem`
to `Attribute` to `MetaItem` conversion is silly.

This commit adds a new function `check_builtin_meta_item`, which can be
called instead from these call sites. `check_builtin_attribute` also now
calls it. The commit also renames `check_meta` as `check_attr` to better
match its arguments.
compiler/rustc_ast_passes/src/ast_validation.rs
compiler/rustc_builtin_macros/src/cfg_accessible.rs
compiler/rustc_builtin_macros/src/derive.rs
compiler/rustc_builtin_macros/src/util.rs
compiler/rustc_expand/src/expand.rs
compiler/rustc_parse/src/validate_attr.rs