tests: Test that extern "C" fn
ptrs lint on slices
This commit is contained in:
parent
f48c99a004
commit
e62b5e64a3
9
tests/ui/lint/extern-C-fnptr-lints-slices.rs
Normal file
9
tests/ui/lint/extern-C-fnptr-lints-slices.rs
Normal file
@ -0,0 +1,9 @@
|
||||
#[deny(improper_ctypes_definitions)]
|
||||
|
||||
// It's an improper ctype (a slice) arg in an extern "C" fnptr.
|
||||
|
||||
pub type F = extern "C" fn(&[u8]);
|
||||
//~^ ERROR: `extern` fn uses type `[u8]`, which is not FFI-safe
|
||||
|
||||
|
||||
fn main() {}
|
16
tests/ui/lint/extern-C-fnptr-lints-slices.stderr
Normal file
16
tests/ui/lint/extern-C-fnptr-lints-slices.stderr
Normal file
@ -0,0 +1,16 @@
|
||||
error: `extern` fn uses type `[u8]`, which is not FFI-safe
|
||||
--> $DIR/extern-C-fnptr-lints-slices.rs:5:14
|
||||
|
|
||||
LL | pub type F = extern "C" fn(&[u8]);
|
||||
| ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
|
||||
|
|
||||
= help: consider using a raw pointer instead
|
||||
= note: slices have no C equivalent
|
||||
note: the lint level is defined here
|
||||
--> $DIR/extern-C-fnptr-lints-slices.rs:1:8
|
||||
|
|
||||
LL | #[deny(improper_ctypes_definitions)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
Loading…
Reference in New Issue
Block a user