mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-16 05:56:56 +00:00
Rollup merge of #111289 - clubby789:fix-111280, r=jyn514
Check arguments length in trivial diagnostic lint Fixes #111280
This commit is contained in:
commit
1de257bd33
@ -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;
|
||||
}
|
||||
|
8
tests/ui/lint/internal/trivial-diagnostics.rs
Normal file
8
tests/ui/lint/internal/trivial-diagnostics.rs
Normal 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() {}
|
15
tests/ui/lint/internal/trivial-diagnostics.stderr
Normal file
15
tests/ui/lint/internal/trivial-diagnostics.stderr
Normal 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`.
|
Loading…
Reference in New Issue
Block a user