Rollup merge of #111289 - clubby789:fix-111280, r=jyn514

Check arguments length in trivial diagnostic lint

Fixes #111280
This commit is contained in:
Matthias Krüger 2023-05-06 23:32:03 +02:00 committed by GitHub
commit 1de257bd33
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 2 deletions

View File

@ -478,8 +478,10 @@ impl EarlyLintPass for Diagnostics {
}
if !segments.iter().all(|(name, args)| {
let arg = match name.as_str() {
"struct_span_err" | "span_note" | "span_label" | "span_help" => &args[1],
"note" | "help" => &args[0],
"struct_span_err" | "span_note" | "span_label" | "span_help" if args.len() == 2 => {
&args[1]
}
"note" | "help" if args.len() == 1 => &args[0],
_ => {
return false;
}

View File

@ -0,0 +1,8 @@
// compile-flags: -Zunstable-options
pub fn issue_111280() {
struct_span_err(msg).emit(); //~ ERROR cannot find value `msg`
//~^ ERROR cannot find function `struct_span_err`
}
fn main() {}

View File

@ -0,0 +1,15 @@
error[E0425]: cannot find value `msg` in this scope
--> $DIR/trivial-diagnostics.rs:4:21
|
LL | struct_span_err(msg).emit();
| ^^^ not found in this scope
error[E0425]: cannot find function `struct_span_err` in this scope
--> $DIR/trivial-diagnostics.rs:4:5
|
LL | struct_span_err(msg).emit();
| ^^^^^^^^^^^^^^^ not found in this scope
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0425`.