23 lines
400 B
Rust
23 lines
400 B
Rust
#[repr(C)]
|
|
pub struct Point {
|
|
x: i32,
|
|
y: i32,
|
|
}
|
|
|
|
#[repr(C)]
|
|
pub struct MyStruct {
|
|
point: std::mem::ManuallyDrop<Point>,
|
|
}
|
|
|
|
pub struct NotReprC<T> {
|
|
inner: T,
|
|
}
|
|
|
|
pub type Foo = NotReprC<std::mem::ManuallyDrop<Point>>;
|
|
|
|
#[no_mangle]
|
|
pub extern "C" fn root(a: &Foo, with_manual_drop: &MyStruct) {}
|
|
|
|
#[no_mangle]
|
|
pub extern "C" fn take(with_manual_drop: std::mem::ManuallyDrop<Point>) {}
|