summaryrefslogtreecommitdiffstats
path: root/src/test/ui/argument-suggestions/mixed_cases.rs
blob: 73678482b30256dc05b51228f80e4f47b7b08105 (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 this function takes
  three_args(1, "", X {}, ""); //~ ERROR this function takes

  // Missing and Invalid
  three_args(1, X {}); //~ ERROR this 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 this function takes
}