This commit adds a new lint - `improper_ctypes_definitions` - which
functions identically to `improper_ctypes`, but on `extern "C" fn`
definitions (as opposed to `improper_ctypes`'s `extern "C" {}`
declarations).
Signed-off-by: David Wood <david@davidtw.co>
13 lines
194 B
Rust
13 lines
194 B
Rust
// run-pass
|
|
// ignore-emscripten
|
|
|
|
#[repr(C)]
|
|
pub struct Foo(i128);
|
|
|
|
#[no_mangle]
|
|
#[allow(improper_ctypes_definitions)]
|
|
pub extern "C" fn foo(x: Foo) -> Foo { x }
|
|
|
|
fn main() {
|
|
foo(Foo(1));
|
|
}
|