Open
Description
What is this lint about
Previously inputs for many built-in attributes weren't validated and nonsensical attributes like #[no_std(arbitraty, string = "foo")]
were accepted.
#57321 introduced a check for top-level shape (#[attr]
vs #[attr(...)]
vs #[attr = ...]
) for built-in attributes that produces an error by default, but produces a warning for incorrect attribute forms available on stable that were actually encountered in practice (during crater run).
Currently the list is
#[doc]
#[ignore(...)]
#[inline = "..."]
#[link]
#[link = "..."]
, but it can be extended if more regressions are reported.
How to fix this warning/error
Use one of the correct attribute forms suggested by the compiler.
Current status
- Implement basic input validation for built-in attributes #57321 introduces the
ill_formed_attribute_input
lint as warn-by-default - Transition future compat lints to {ERROR, DENY} - Take 2 #65785 makes the
ill_formed_attribute_input
lint deny-by-default - PR ? makes the
ill_formed_attribute_input
lint a hard error
Metadata
Metadata
Assignees
Labels
Area: Attributes (`#[…]`, `#![…]`)Area: Lints (warnings about flaws in source code) such as unused_mut.Category: Future-incompatibility lintsCategory: An issue tracking the progress of sth. like the implementation of an RFCRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the language team, which will review and decide on the PR/issue.
Type
Projects
Status
Idea