Auto merge of #138165 - jdonszelmann:inline, r=oli-obk
Rewrite `inline` attribute parser to use new infrastructure and improve diagnostics for all parsed attributes r? `@oli-obk` This PR: - creates a new parser for inline attributes - creates consistent error messages and error codes between attribute parsers; inline and others - as such changes a few error messages for other attributes to be (in my eyes) much more consistent - tests ast-lowering lints introduced by rust-lang/rust#138164 since this is now useful for the first time - Coalesce some useless error codes Builds on top of rust-lang/rust#138164 Closes rust-lang/rust#137950
This commit is contained in:
@@ -282,11 +282,22 @@ fn emit_malformed_attribute(
|
||||
name: Symbol,
|
||||
template: AttributeTemplate,
|
||||
) {
|
||||
// attrs with new parsers are locally validated so excluded here
|
||||
if matches!(
|
||||
name,
|
||||
sym::inline
|
||||
| sym::rustc_force_inline
|
||||
| sym::rustc_confusables
|
||||
| sym::repr
|
||||
| sym::deprecated
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Some of previously accepted forms were used in practice,
|
||||
// report them as warnings for now.
|
||||
let should_warn = |name| {
|
||||
matches!(name, sym::doc | sym::ignore | sym::inline | sym::link | sym::test | sym::bench)
|
||||
};
|
||||
let should_warn =
|
||||
|name| matches!(name, sym::doc | sym::ignore | sym::link | sym::test | sym::bench);
|
||||
|
||||
let error_msg = format!("malformed `{name}` attribute input");
|
||||
let mut suggestions = vec![];
|
||||
|
||||
Reference in New Issue
Block a user