about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/validate_attr.rs
AgeCommit message (Collapse)AuthorLines
2025-07-06Port `#[path]` to the new attribute parsing infrastructureJonathan Brouwer-0/+1
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-06Move check for new attribute to `check_builtin_meta_item`Jonathan Brouwer-36/+35
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-05Port `#[ignore]` to the new attribute parsing infrastructureJonathan Brouwer-2/+2
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-04Port `#[non_exhaustive]` to the new attribute parsing infrastructureJonathan Brouwer-0/+1
2025-07-04Rollup merge of #143400 - GrigorenkoPV:attributes/lints, r=jdonszelmannMatthias Krüger-0/+1
Port `#[rustc_pass_by_value]` to the new attribute system Part of rust-lang/rust#131229 r? `@oli-obk`
2025-07-04Port `#[rustc_pass_by_value]` to the new attribute systemPavel Grigorenko-0/+1
2025-07-03Port `#[no_implicit_prelude]` to the new attribute parsing infrastructureJonathan Brouwer-0/+1
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-03Port `#[target_feature]` to the new attribute parsing infrastructureJonathan Brouwer-0/+2
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-01Fix duplicate errors for `link_section`, ↵Jonathan Brouwer-0/+3
`rustc_layout_scalar_valid_range_start` and `rustc_layout_scalar_valid_range_end`
2025-07-01Fix `#[rustc_macro_transparency]` giving two errorsJonathan Brouwer-0/+1
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-01Fix double error for `export_name`Jonathan Brouwer-0/+1
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-06-28Port `#[link_name]` to the new attribute parsing infrastructureJonathan Brouwer-0/+1
Co-authored-by: Anne Stijns <anstijns@gmail.com> Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-06-24Rewrite #[track_caller]Jana Dönszelmann-0/+1
2025-06-23Port `#[rustc_skip_during_method_dispatch]` to the new attribute systemPavel Grigorenko-0/+7
2025-06-22Port `#[must_use]` to new attribute parsing infrastructureJonathan Brouwer-0/+1
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-06-20expected word diagnostic testJana Dönszelmann-0/+1
2025-06-20Rollup merge of #138291 - jdonszelmann:optimize-attr, r=oli-obkTrevor Gross-0/+1
rewrite `optimize` attribute to use new attribute parsing infrastructure r? ```@oli-obk``` I'm afraid we'll get quite a few of these PRs in the future. If we get a lot of trivial changes I'll start merging multiple into one PR. They should be easy to review :) Waiting on #138165 first
2025-06-18convert the `optimize` attribute to a new parserJana Dönszelmann-0/+1
2025-06-18add `#[align]` attributeFolkert de Vries-0/+1
Right now it's used for functions with `fn_align`, in the future it will get more uses (statics, struct fields, etc.)
2025-06-17make error codes reflect reality betterJana Dönszelmann-1/+8
2025-06-17use consistent attr errors in all attribute parsersJana Dönszelmann-1/+1
2025-06-17fix bugs in inline/force_inline and diagnostics of all attr parsersJana Dönszelmann-3/+7
2025-06-09use correct edition when warning for unsafe attributesFolkert de Vries-1/+6
If an attribute is re-emitted by a macro, the incorrect edition was used to emit warnings for unsafe attributes
2025-05-04Make attribute safety validation logic more obviousJieyou Xu-14/+47
2025-05-03Report the `unsafe_attr_outside_unsafe` lint at the closest nodeUrgau-5/+11
2025-04-19Make `#[naked]` an unsafe attributeFolkert de Vries-6/+0
2025-04-14Allow (but don't require) `#[unsafe(naked)]` so that `compiler-builtins` can ↵Folkert de Vries-0/+6
upgrade to it
2025-04-13error on unsafe attributes in pre-2024 editionsFolkert de Vries-2/+8
the `no_mangle`, `link_section` and `export_name` attributes are exceptions, and can still be used without an unsafe in earlier editions
2025-03-26expand: Leave traces when expanding `cfg` attributesVadim Petrochenkov-6/+3
2025-03-17expand: Leave traces when expanding `cfg_attr` attributesVadim Petrochenkov-1/+1
2024-12-21Properly record metavar spans for other expansions other than TTMichael Goulet-6/+2
2024-12-15Add hir::AttributeJonathan Dönszelmann-4/+2
2024-12-15Rename `value` field to `expr` to simplify later commits' diffsOli Scherer-4/+2
2024-12-02Change `AttrArgs::Eq` into a struct variantOli Scherer-3/+5
2024-10-06Rename NestedMetaItem to MetaItemInnercodemountains-3/+3
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-3/+3
2024-09-11Also fix if in elseMichael Goulet-7/+5
2024-08-07Stabilize `unsafe_attributes`carbotaniuman-27/+13
2024-07-30Add toggle for `parse_meta_item` unsafe parsingcarbotaniuman-41/+41
This makes it possible for the `unsafe(...)` syntax to only be valid at the top level, and the `NestedMetaItem`s will automatically reject `unsafe(...)`.
2024-07-29Deny unsafe on more builtin attributescarbotaniuman-56/+92
2024-07-29Reformat `use` declarations.Nicholas Nethercote-2/+2
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2024-06-24coverage: Tighten validation of `#[coverage(off)]` and `#[coverage(on)]`Zalathar-3/+10
2024-06-23Add hard error and migration lint for unsafe attrscarbotaniuman-6/+58
2024-06-18Prefer `dcx` methods over fields or fields' methodsOli Scherer-5/+5
2024-06-07Rollup merge of #126052 - nnethercote:rustc_parse-more-cleanups, r=spastorinoMatthias Krüger-21/+13
More `rustc_parse` cleanups Following on from #125815. r? `@spastorino`
2024-06-06Parse unsafe attributescarbotaniuman-0/+1
2024-06-06Inline and remove `check_builtin_attribute`.Nicholas Nethercote-19/+11
It's small and has a single call site. Also change the second `parse_meta` call to use a simple `match`, like the first `parse_meta` call, instead of a confusing `map_err`+`ok` combination.
2024-06-06Reduce `pub` exposure.Nicholas Nethercote-3/+3
2024-05-21Rename buffer_lint_with_diagnostic to buffer_lintXiretza-1/+1
2024-05-21Convert uses of BuiltinLintDiag::Normal to custom variantsXiretza-21/+11
This ensures all diagnostic messages are created at diagnostic emission time, making them translatable.