summaryrefslogtreecommitdiffstats
path: root/tests/ui/argument-suggestions/missing_arguments.rs
blob: c26564641cb9f77b72b4f54a0c880b9e84079e61 (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
fn one_arg(_a: i32) {}
fn two_same(_a: i32, _b: i32) {}
fn two_diff(_a: i32, _b: f32) {}
fn three_same(_a: i32, _b: i32, _c: i32) {}
fn three_diff(_a: i32, _b: f32, _c: &str) {}
fn four_repeated(_a: i32, _b: f32, _c: f32, _d: &str) {}
fn complex(_a: i32, _b: f32, _c: i32, _d: f32, _e: &str) {}

fn main() {
  one_arg(); //~ ERROR function takes
  // The headers here show the types expected,
  // with formatting to emphasize which arguments are missing
  /*         i32     f32    */
  two_same(               ); //~ ERROR function takes
  two_same(   1           ); //~ ERROR function takes
  two_diff(               ); //~ ERROR function takes
  two_diff(   1           ); //~ ERROR function takes
  two_diff(          1.0  ); //~ ERROR function takes

  /*           i32     i32     i32    */
  three_same(                       ); //~ ERROR function takes
  three_same(   1                   ); //~ ERROR function takes
  three_same(   1,      1           ); //~ ERROR function takes

  /*           i32     f32     &str   */
  three_diff(          1.0,     ""  ); //~ ERROR function takes
  three_diff(   1,              ""  ); //~ ERROR function takes
  three_diff(   1,     1.0          ); //~ ERROR function takes
  three_diff(                   ""  ); //~ ERROR function takes
  three_diff(          1.0          ); //~ ERROR function takes
  three_diff(   1                   ); //~ ERROR function takes

  /*              i32     f32     f32     &str   */
  four_repeated(                               ); //~ ERROR function takes
  four_repeated(   1,                     ""   ); //~ ERROR function takes

  /*        i32   f32   i32   f32   &str   */
  complex(                               ); //~ ERROR function takes
  complex(   1,                     ""   ); //~ ERROR function takes
}