diff options
Diffstat (limited to '')
-rw-r--r-- | tests/ui/c-variadic/feature-gate-extended_varargs_abi_support.rs (renamed from src/test/ui/c-variadic/feature-gate-extended_varargs_abi_support.rs) | 2 | ||||
-rw-r--r-- | tests/ui/c-variadic/feature-gate-extended_varargs_abi_support.stderr (renamed from src/test/ui/c-variadic/feature-gate-extended_varargs_abi_support.stderr) | 12 | ||||
-rw-r--r-- | tests/ui/c-variadic/issue-32201.rs (renamed from src/test/ui/c-variadic/issue-32201.rs) | 0 | ||||
-rw-r--r-- | tests/ui/c-variadic/issue-32201.stderr (renamed from src/test/ui/c-variadic/issue-32201.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/c-variadic/issue-86053-1.rs (renamed from src/test/ui/c-variadic/issue-86053-1.rs) | 2 | ||||
-rw-r--r-- | tests/ui/c-variadic/issue-86053-1.stderr | 81 | ||||
-rw-r--r-- | tests/ui/c-variadic/issue-86053-2.rs (renamed from src/test/ui/c-variadic/issue-86053-2.rs) | 0 | ||||
-rw-r--r-- | tests/ui/c-variadic/issue-86053-2.stderr (renamed from src/test/ui/c-variadic/issue-86053-2.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/c-variadic/variadic-ffi-1.rs (renamed from src/test/ui/c-variadic/variadic-ffi-1.rs) | 4 | ||||
-rw-r--r-- | tests/ui/c-variadic/variadic-ffi-1.stderr (renamed from src/test/ui/c-variadic/variadic-ffi-1.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/c-variadic/variadic-ffi-2.rs (renamed from src/test/ui/c-variadic/variadic-ffi-2.rs) | 1 | ||||
-rw-r--r-- | tests/ui/c-variadic/variadic-ffi-2.stderr (renamed from src/test/ui/c-variadic/variadic-ffi-2.stderr) | 2 | ||||
-rw-r--r-- | tests/ui/c-variadic/variadic-ffi-4.rs (renamed from src/test/ui/c-variadic/variadic-ffi-4.rs) | 0 | ||||
-rw-r--r-- | tests/ui/c-variadic/variadic-ffi-4.stderr (renamed from src/test/ui/c-variadic/variadic-ffi-4.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/c-variadic/variadic-ffi-6.rs (renamed from src/test/ui/c-variadic/variadic-ffi-6.rs) | 0 | ||||
-rw-r--r-- | tests/ui/c-variadic/variadic-ffi-6.stderr (renamed from src/test/ui/c-variadic/variadic-ffi-6.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/c-variadic/variadic-ffi-no-fixed-args.rs (renamed from src/test/ui/c-variadic/variadic-ffi-no-fixed-args.rs) | 0 | ||||
-rw-r--r-- | tests/ui/c-variadic/variadic-ffi-no-fixed-args.stderr (renamed from src/test/ui/c-variadic/variadic-ffi-no-fixed-args.stderr) | 0 | ||||
-rw-r--r-- | tests/ui/c-variadic/variadic-unreachable-arg-error.rs (renamed from src/test/ui/c-variadic/variadic-unreachable-arg-error.rs) | 0 |
19 files changed, 91 insertions, 13 deletions
diff --git a/src/test/ui/c-variadic/feature-gate-extended_varargs_abi_support.rs b/tests/ui/c-variadic/feature-gate-extended_varargs_abi_support.rs index 087743e50..fce6210b2 100644 --- a/src/test/ui/c-variadic/feature-gate-extended_varargs_abi_support.rs +++ b/tests/ui/c-variadic/feature-gate-extended_varargs_abi_support.rs @@ -1,5 +1,3 @@ -#![feature(abi_efiapi)] - fn efiapi(f: extern "efiapi" fn(usize, ...)) { //~^ ERROR: C-variadic function must have a compatible calling convention, like `C` or `cdecl` //~^^ ERROR: using calling conventions other than `C` or `cdecl` for varargs functions is unstable diff --git a/src/test/ui/c-variadic/feature-gate-extended_varargs_abi_support.stderr b/tests/ui/c-variadic/feature-gate-extended_varargs_abi_support.stderr index 007d7d795..5b97b396f 100644 --- a/src/test/ui/c-variadic/feature-gate-extended_varargs_abi_support.stderr +++ b/tests/ui/c-variadic/feature-gate-extended_varargs_abi_support.stderr @@ -1,5 +1,5 @@ error[E0658]: using calling conventions other than `C` or `cdecl` for varargs functions is unstable - --> $DIR/feature-gate-extended_varargs_abi_support.rs:3:14 + --> $DIR/feature-gate-extended_varargs_abi_support.rs:1:14 | LL | fn efiapi(f: extern "efiapi" fn(usize, ...)) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -8,13 +8,13 @@ LL | fn efiapi(f: extern "efiapi" fn(usize, ...)) { = help: add `#![feature(extended_varargs_abi_support)]` to the crate attributes to enable error[E0045]: C-variadic function must have a compatible calling convention, like `C` or `cdecl` - --> $DIR/feature-gate-extended_varargs_abi_support.rs:3:14 + --> $DIR/feature-gate-extended_varargs_abi_support.rs:1:14 | LL | fn efiapi(f: extern "efiapi" fn(usize, ...)) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C-variadic function must have a compatible calling convention error[E0658]: using calling conventions other than `C` or `cdecl` for varargs functions is unstable - --> $DIR/feature-gate-extended_varargs_abi_support.rs:8:12 + --> $DIR/feature-gate-extended_varargs_abi_support.rs:6:12 | LL | fn sysv(f: extern "sysv64" fn(usize, ...)) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -23,13 +23,13 @@ LL | fn sysv(f: extern "sysv64" fn(usize, ...)) { = help: add `#![feature(extended_varargs_abi_support)]` to the crate attributes to enable error[E0045]: C-variadic function must have a compatible calling convention, like `C` or `cdecl` - --> $DIR/feature-gate-extended_varargs_abi_support.rs:8:12 + --> $DIR/feature-gate-extended_varargs_abi_support.rs:6:12 | LL | fn sysv(f: extern "sysv64" fn(usize, ...)) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C-variadic function must have a compatible calling convention error[E0658]: using calling conventions other than `C` or `cdecl` for varargs functions is unstable - --> $DIR/feature-gate-extended_varargs_abi_support.rs:13:11 + --> $DIR/feature-gate-extended_varargs_abi_support.rs:11:11 | LL | fn win(f: extern "win64" fn(usize, ...)) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -38,7 +38,7 @@ LL | fn win(f: extern "win64" fn(usize, ...)) { = help: add `#![feature(extended_varargs_abi_support)]` to the crate attributes to enable error[E0045]: C-variadic function must have a compatible calling convention, like `C` or `cdecl` - --> $DIR/feature-gate-extended_varargs_abi_support.rs:13:11 + --> $DIR/feature-gate-extended_varargs_abi_support.rs:11:11 | LL | fn win(f: extern "win64" fn(usize, ...)) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C-variadic function must have a compatible calling convention diff --git a/src/test/ui/c-variadic/issue-32201.rs b/tests/ui/c-variadic/issue-32201.rs index f27bb1c2e..f27bb1c2e 100644 --- a/src/test/ui/c-variadic/issue-32201.rs +++ b/tests/ui/c-variadic/issue-32201.rs diff --git a/src/test/ui/c-variadic/issue-32201.stderr b/tests/ui/c-variadic/issue-32201.stderr index cedb58784..cedb58784 100644 --- a/src/test/ui/c-variadic/issue-32201.stderr +++ b/tests/ui/c-variadic/issue-32201.stderr diff --git a/src/test/ui/c-variadic/issue-86053-1.rs b/tests/ui/c-variadic/issue-86053-1.rs index b30548e19..49d5c0390 100644 --- a/src/test/ui/c-variadic/issue-86053-1.rs +++ b/tests/ui/c-variadic/issue-86053-1.rs @@ -2,7 +2,7 @@ // error-pattern:unexpected `self` parameter in function // error-pattern:`...` must be the last argument of a C-variadic function // error-pattern:cannot find type `F` in this scope -// error-pattern:in type `&'a &'b usize`, reference has a longer lifetime than the data it references + #![feature(c_variadic)] #![crate_type="lib"] diff --git a/tests/ui/c-variadic/issue-86053-1.stderr b/tests/ui/c-variadic/issue-86053-1.stderr new file mode 100644 index 000000000..5a02f4aa9 --- /dev/null +++ b/tests/ui/c-variadic/issue-86053-1.stderr @@ -0,0 +1,81 @@ +error: expected type, found `,` + --> $DIR/issue-86053-1.rs:10:47 + | +LL | fn ordering4 < 'a , 'b > ( a : , self , self , self , + | ^ expected type + +error: unexpected `self` parameter in function + --> $DIR/issue-86053-1.rs:10:51 + | +LL | fn ordering4 < 'a , 'b > ( a : , self , self , self , + | ^^^^ must be the first parameter of an associated function + +error: unexpected `self` parameter in function + --> $DIR/issue-86053-1.rs:10:58 + | +LL | fn ordering4 < 'a , 'b > ( a : , self , self , self , + | ^^^^ must be the first parameter of an associated function + +error: unexpected `self` parameter in function + --> $DIR/issue-86053-1.rs:10:67 + | +LL | fn ordering4 < 'a , 'b > ( a : , self , self , self , + | ^^^^ must be the first parameter of an associated function + +error: unexpected `self` parameter in function + --> $DIR/issue-86053-1.rs:11:5 + | +LL | self , ... , self , self , ... ) where F : FnOnce ( & 'a & 'b usize ) { + | ^^^^ must be the first parameter of an associated function + +error: unexpected `self` parameter in function + --> $DIR/issue-86053-1.rs:11:20 + | +LL | self , ... , self , self , ... ) where F : FnOnce ( & 'a & 'b usize ) { + | ^^^^ must be the first parameter of an associated function + +error: unexpected `self` parameter in function + --> $DIR/issue-86053-1.rs:11:29 + | +LL | self , ... , self , self , ... ) where F : FnOnce ( & 'a & 'b usize ) { + | ^^^^ must be the first parameter of an associated function + +error: `...` must be the last argument of a C-variadic function + --> $DIR/issue-86053-1.rs:11:12 + | +LL | self , ... , self , self , ... ) where F : FnOnce ( & 'a & 'b usize ) { + | ^^^ + +error: only foreign or `unsafe extern "C"` functions may be C-variadic + --> $DIR/issue-86053-1.rs:11:12 + | +LL | self , ... , self , self , ... ) where F : FnOnce ( & 'a & 'b usize ) { + | ^^^ + +error: only foreign or `unsafe extern "C"` functions may be C-variadic + --> $DIR/issue-86053-1.rs:11:36 + | +LL | self , ... , self , self , ... ) where F : FnOnce ( & 'a & 'b usize ) { + | ^^^ + +error[E0412]: cannot find type `F` in this scope + --> $DIR/issue-86053-1.rs:11:48 + | +LL | self , ... , self , self , ... ) where F : FnOnce ( & 'a & 'b usize ) { + | ^ + --> $SRC_DIR/core/src/ops/function.rs:LL:COL + | + = note: similarly named trait `Fn` defined here + | +help: a trait with a similar name exists + | +LL | self , ... , self , self , ... ) where Fn : FnOnce ( & 'a & 'b usize ) { + | ~~ +help: you might be missing a type parameter + | +LL | fn ordering4 < 'a , 'b, F > ( a : , self , self , self , + | +++ + +error: aborting due to 11 previous errors + +For more information about this error, try `rustc --explain E0412`. diff --git a/src/test/ui/c-variadic/issue-86053-2.rs b/tests/ui/c-variadic/issue-86053-2.rs index c545831f7..c545831f7 100644 --- a/src/test/ui/c-variadic/issue-86053-2.rs +++ b/tests/ui/c-variadic/issue-86053-2.rs diff --git a/src/test/ui/c-variadic/issue-86053-2.stderr b/tests/ui/c-variadic/issue-86053-2.stderr index 815b06e77..815b06e77 100644 --- a/src/test/ui/c-variadic/issue-86053-2.stderr +++ b/tests/ui/c-variadic/issue-86053-2.stderr diff --git a/src/test/ui/c-variadic/variadic-ffi-1.rs b/tests/ui/c-variadic/variadic-ffi-1.rs index 24407a71c..acd8a25dc 100644 --- a/src/test/ui/c-variadic/variadic-ffi-1.rs +++ b/tests/ui/c-variadic/variadic-ffi-1.rs @@ -19,8 +19,8 @@ extern "C" fn bar(f: isize, x: u8) {} fn main() { unsafe { - foo(); //~ ERROR this function takes at least 2 arguments but 0 arguments were supplied - foo(1); //~ ERROR this function takes at least 2 arguments but 1 argument was supplied + foo(); //~ ERROR function takes at least 2 arguments but 0 arguments were supplied + foo(1); //~ ERROR function takes at least 2 arguments but 1 argument was supplied let x: unsafe extern "C" fn(f: isize, x: u8) = foo; //~ ERROR mismatched types let y: extern "C" fn(f: isize, x: u8, ...) = bar; //~ ERROR mismatched types diff --git a/src/test/ui/c-variadic/variadic-ffi-1.stderr b/tests/ui/c-variadic/variadic-ffi-1.stderr index 4beea83d8..4beea83d8 100644 --- a/src/test/ui/c-variadic/variadic-ffi-1.stderr +++ b/tests/ui/c-variadic/variadic-ffi-1.stderr diff --git a/src/test/ui/c-variadic/variadic-ffi-2.rs b/tests/ui/c-variadic/variadic-ffi-2.rs index 96cea8754..c34b7e55f 100644 --- a/src/test/ui/c-variadic/variadic-ffi-2.rs +++ b/tests/ui/c-variadic/variadic-ffi-2.rs @@ -1,6 +1,5 @@ // ignore-arm stdcall isn't supported #![feature(extended_varargs_abi_support)] -#![feature(abi_efiapi)] fn baz(f: extern "stdcall" fn(usize, ...)) { //~^ ERROR: C-variadic function must have a compatible calling convention, diff --git a/src/test/ui/c-variadic/variadic-ffi-2.stderr b/tests/ui/c-variadic/variadic-ffi-2.stderr index 4e74c9d92..e21001eca 100644 --- a/src/test/ui/c-variadic/variadic-ffi-2.stderr +++ b/tests/ui/c-variadic/variadic-ffi-2.stderr @@ -1,5 +1,5 @@ error[E0045]: C-variadic function must have a compatible calling convention, like `C`, `cdecl`, `win64`, `sysv64` or `efiapi` - --> $DIR/variadic-ffi-2.rs:5:11 + --> $DIR/variadic-ffi-2.rs:4:11 | LL | fn baz(f: extern "stdcall" fn(usize, ...)) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C-variadic function must have a compatible calling convention diff --git a/src/test/ui/c-variadic/variadic-ffi-4.rs b/tests/ui/c-variadic/variadic-ffi-4.rs index 806403794..806403794 100644 --- a/src/test/ui/c-variadic/variadic-ffi-4.rs +++ b/tests/ui/c-variadic/variadic-ffi-4.rs diff --git a/src/test/ui/c-variadic/variadic-ffi-4.stderr b/tests/ui/c-variadic/variadic-ffi-4.stderr index 6f8e53298..6f8e53298 100644 --- a/src/test/ui/c-variadic/variadic-ffi-4.stderr +++ b/tests/ui/c-variadic/variadic-ffi-4.stderr diff --git a/src/test/ui/c-variadic/variadic-ffi-6.rs b/tests/ui/c-variadic/variadic-ffi-6.rs index 4dd8a2d45..4dd8a2d45 100644 --- a/src/test/ui/c-variadic/variadic-ffi-6.rs +++ b/tests/ui/c-variadic/variadic-ffi-6.rs diff --git a/src/test/ui/c-variadic/variadic-ffi-6.stderr b/tests/ui/c-variadic/variadic-ffi-6.stderr index 4c7792d96..4c7792d96 100644 --- a/src/test/ui/c-variadic/variadic-ffi-6.stderr +++ b/tests/ui/c-variadic/variadic-ffi-6.stderr diff --git a/src/test/ui/c-variadic/variadic-ffi-no-fixed-args.rs b/tests/ui/c-variadic/variadic-ffi-no-fixed-args.rs index 588c15a18..588c15a18 100644 --- a/src/test/ui/c-variadic/variadic-ffi-no-fixed-args.rs +++ b/tests/ui/c-variadic/variadic-ffi-no-fixed-args.rs diff --git a/src/test/ui/c-variadic/variadic-ffi-no-fixed-args.stderr b/tests/ui/c-variadic/variadic-ffi-no-fixed-args.stderr index e11ba43ca..e11ba43ca 100644 --- a/src/test/ui/c-variadic/variadic-ffi-no-fixed-args.stderr +++ b/tests/ui/c-variadic/variadic-ffi-no-fixed-args.stderr diff --git a/src/test/ui/c-variadic/variadic-unreachable-arg-error.rs b/tests/ui/c-variadic/variadic-unreachable-arg-error.rs index f60f6f3e8..f60f6f3e8 100644 --- a/src/test/ui/c-variadic/variadic-unreachable-arg-error.rs +++ b/tests/ui/c-variadic/variadic-unreachable-arg-error.rs |