11error[E0045]: C-variadic function must have C or cdecl calling convention
2- --> $DIR/variadic-ffi-1.rs:5 :5
2+ --> $DIR/variadic-ffi-1.rs:6 :5
33 |
44LL | fn printf(_: *const u8, ...);
55 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C-variadics require C or cdecl calling convention
66
77error[E0060]: this function takes at least 2 arguments but 0 arguments were supplied
8- --> $DIR/variadic-ffi-1.rs:16 :9
8+ --> $DIR/variadic-ffi-1.rs:17 :9
99 |
1010LL | fn foo(f: isize, x: u8, ...);
1111 | ----------------------------- defined here
@@ -16,7 +16,7 @@ LL | foo();
1616 | expected at least 2 arguments
1717
1818error[E0060]: this function takes at least 2 arguments but 1 argument was supplied
19- --> $DIR/variadic-ffi-1.rs:17 :9
19+ --> $DIR/variadic-ffi-1.rs:18 :9
2020 |
2121LL | fn foo(f: isize, x: u8, ...);
2222 | ----------------------------- defined here
@@ -27,7 +27,7 @@ LL | foo(1);
2727 | expected at least 2 arguments
2828
2929error[E0308]: mismatched types
30- --> $DIR/variadic-ffi-1.rs:19 :56
30+ --> $DIR/variadic-ffi-1.rs:20 :56
3131 |
3232LL | let x: unsafe extern "C" fn(f: isize, x: u8) = foo;
3333 | ------------------------------------- ^^^ expected non-variadic fn, found variadic function
@@ -38,7 +38,7 @@ LL | let x: unsafe extern "C" fn(f: isize, x: u8) = foo;
3838 found fn item `unsafe extern "C" fn(_, _, ...) {foo}`
3939
4040error[E0308]: mismatched types
41- --> $DIR/variadic-ffi-1.rs:20 :54
41+ --> $DIR/variadic-ffi-1.rs:21 :54
4242 |
4343LL | let y: extern "C" fn(f: isize, x: u8, ...) = bar;
4444 | ----------------------------------- ^^^ expected variadic fn, found non-variadic function
@@ -49,37 +49,37 @@ LL | let y: extern "C" fn(f: isize, x: u8, ...) = bar;
4949 found fn item `extern "C" fn(_, _) {bar}`
5050
5151error[E0617]: can't pass `f32` to variadic function
52- --> $DIR/variadic-ffi-1.rs:22 :19
52+ --> $DIR/variadic-ffi-1.rs:23 :19
5353 |
5454LL | foo(1, 2, 3f32);
5555 | ^^^^ help: cast the value to `c_double`: `3f32 as c_double`
5656
5757error[E0617]: can't pass `bool` to variadic function
58- --> $DIR/variadic-ffi-1.rs:23 :19
58+ --> $DIR/variadic-ffi-1.rs:24 :19
5959 |
6060LL | foo(1, 2, true);
6161 | ^^^^ help: cast the value to `c_int`: `true as c_int`
6262
6363error[E0617]: can't pass `i8` to variadic function
64- --> $DIR/variadic-ffi-1.rs:24 :19
64+ --> $DIR/variadic-ffi-1.rs:25 :19
6565 |
6666LL | foo(1, 2, 1i8);
6767 | ^^^ help: cast the value to `c_int`: `1i8 as c_int`
6868
6969error[E0617]: can't pass `u8` to variadic function
70- --> $DIR/variadic-ffi-1.rs:25 :19
70+ --> $DIR/variadic-ffi-1.rs:26 :19
7171 |
7272LL | foo(1, 2, 1u8);
7373 | ^^^ help: cast the value to `c_uint`: `1u8 as c_uint`
7474
7575error[E0617]: can't pass `i16` to variadic function
76- --> $DIR/variadic-ffi-1.rs:26 :19
76+ --> $DIR/variadic-ffi-1.rs:27 :19
7777 |
7878LL | foo(1, 2, 1i16);
7979 | ^^^^ help: cast the value to `c_int`: `1i16 as c_int`
8080
8181error[E0617]: can't pass `u16` to variadic function
82- --> $DIR/variadic-ffi-1.rs:27 :19
82+ --> $DIR/variadic-ffi-1.rs:28 :19
8383 |
8484LL | foo(1, 2, 1u16);
8585 | ^^^^ help: cast the value to `c_uint`: `1u16 as c_uint`
0 commit comments