mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-02 10:18:25 +00:00
c-variadic: check that c-variadic functions cannot be tail-called
as far as I can see this was not tested, though the error message was already implemented
This commit is contained in:
parent
a84bb32e05
commit
d28c31a600
14
tests/ui/explicit-tail-calls/c-variadic.rs
Normal file
14
tests/ui/explicit-tail-calls/c-variadic.rs
Normal file
@ -0,0 +1,14 @@
|
||||
#![expect(incomplete_features)]
|
||||
#![feature(c_variadic, explicit_tail_calls)]
|
||||
#![allow(unused)]
|
||||
|
||||
unsafe extern "C" fn foo(mut ap: ...) -> u32 {
|
||||
ap.arg::<u32>()
|
||||
}
|
||||
|
||||
extern "C" fn bar() -> u32 {
|
||||
unsafe { become foo(1, 2, 3) }
|
||||
//~^ ERROR c-variadic functions can't be tail-called
|
||||
}
|
||||
|
||||
fn main() {}
|
8
tests/ui/explicit-tail-calls/c-variadic.stderr
Normal file
8
tests/ui/explicit-tail-calls/c-variadic.stderr
Normal file
@ -0,0 +1,8 @@
|
||||
error: c-variadic functions can't be tail-called
|
||||
--> $DIR/c-variadic.rs:10:14
|
||||
|
|
||||
LL | unsafe { become foo(1, 2, 3) }
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
Loading…
x
Reference in New Issue
Block a user