summaryrefslogtreecommitdiffstats
path: root/tests/ui/argument-suggestions/mixed_cases.rs
blob: 86e94a4382c0d31b89da6341c5b40e582e118d36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Cases where multiple argument suggestions are mixed

struct X {}

fn two_args(_a: i32, _b: f32) {}
fn three_args(_a: i32, _b: f32, _c: &str) {}

fn main() {
  // Extra + Invalid
  two_args(1, "", X {}); //~ ERROR function takes
  three_args(1, "", X {}, ""); //~ ERROR function takes

  // Missing and Invalid
  three_args(1, X {}); //~ ERROR function takes

  // Missing and Extra
  three_args(1, "", X {}); //~ ERROR arguments to this function are incorrect

  // Swapped and Invalid
  three_args("", X {}, 1); //~ ERROR arguments to this function are incorrect

  // Swapped and missing
  three_args("", 1); //~ ERROR function takes
}