| warning: `extern` block uses type `Option<TransparentNoNiche>`, which is not FFI-safe |
| --> $DIR/clashing-extern-fn.rs:482:55 |
| | |
| LL | fn hidden_niche_transparent_no_niche() -> Option<TransparentNoNiche>; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe |
| | |
| = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum |
| = note: enum has no representation hint |
| = note: `#[warn(improper_ctypes)]` on by default |
| |
| warning: `extern` block uses type `Option<UnsafeCell<NonZero<usize>>>`, which is not FFI-safe |
| --> $DIR/clashing-extern-fn.rs:486:46 |
| | |
| LL | fn hidden_niche_unsafe_cell() -> Option<UnsafeCell<NonZero<usize>>>; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe |
| | |
| = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum |
| = note: enum has no representation hint |
| |
| warning: `clash` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:13:13 |
| | |
| LL | fn clash(x: u8); |
| | ---------------- `clash` previously declared here |
| ... |
| LL | fn clash(x: u64); |
| | ^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn(u8)` |
| found `unsafe extern "C" fn(u64)` |
| = note: `#[warn(clashing_extern_declarations)]` on by default |
| |
| warning: `extern_link_name` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:51:9 |
| | |
| LL | #[link_name = "extern_link_name"] |
| | --------------------------------- `extern_link_name` previously declared here |
| ... |
| LL | fn extern_link_name(x: u32); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn(i16)` |
| found `unsafe extern "C" fn(u32)` |
| |
| warning: `some_other_extern_link_name` redeclares `some_other_new_name` with a different signature |
| --> $DIR/clashing-extern-fn.rs:54:9 |
| | |
| LL | fn some_other_new_name(x: i16); |
| | ------------------------------- `some_other_new_name` previously declared here |
| ... |
| LL | #[link_name = "some_other_new_name"] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn(i16)` |
| found `unsafe extern "C" fn(u32)` |
| |
| warning: `other_both_names_different` redeclares `link_name_same` with a different signature |
| --> $DIR/clashing-extern-fn.rs:58:9 |
| | |
| LL | #[link_name = "link_name_same"] |
| | ------------------------------- `link_name_same` previously declared here |
| ... |
| LL | #[link_name = "link_name_same"] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn(i16)` |
| found `unsafe extern "C" fn(u32)` |
| |
| warning: `different_mod` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:71:9 |
| | |
| LL | fn different_mod(x: u8); |
| | ------------------------ `different_mod` previously declared here |
| ... |
| LL | fn different_mod(x: u64); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn(u8)` |
| found `unsafe extern "C" fn(u64)` |
| |
| warning: `variadic_decl` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:81:9 |
| | |
| LL | fn variadic_decl(x: u8, ...); |
| | ----------------------------- `variadic_decl` previously declared here |
| ... |
| LL | fn variadic_decl(x: u8); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn(u8, ...)` |
| found `unsafe extern "C" fn(u8)` |
| |
| warning: `weigh_banana` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:141:13 |
| | |
| LL | fn weigh_banana(count: *const Banana) -> u64; |
| | --------------------------------------------- `weigh_banana` previously declared here |
| ... |
| LL | fn weigh_banana(count: *const Banana) -> u64; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn(*const banana::one::Banana) -> u64` |
| found `unsafe extern "C" fn(*const banana::three::Banana) -> u64` |
| |
| warning: `weigh_banana` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:154:13 |
| | |
| LL | fn weigh_banana(count: *const Banana) -> u64; |
| | --------------------------------------------- `weigh_banana` previously declared here |
| ... |
| LL | fn weigh_banana(count: *const Banana) -> u64; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn(*const banana::one::Banana) -> u64` |
| found `unsafe extern "C" fn(*const banana::four::Banana) -> u64` |
| |
| warning: `weigh_banana3` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:200:13 |
| | |
| LL | fn weigh_banana3(count: *const Banana) -> u64; |
| | ---------------------------------------------- `weigh_banana3` previously declared here |
| ... |
| LL | fn weigh_banana3(count: *const Banana) -> u64; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn(*const banana3::one::Banana) -> u64` |
| found `unsafe extern "C" fn(*const banana3::three::Banana) -> u64` |
| |
| warning: `weigh_banana3` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:214:13 |
| | |
| LL | fn weigh_banana3(count: *const Banana) -> u64; |
| | ---------------------------------------------- `weigh_banana3` previously declared here |
| ... |
| LL | fn weigh_banana3(count: *const Banana) -> u64; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn(*const banana3::one::Banana) -> u64` |
| found `unsafe extern "C" fn(*const banana3::four::Banana) -> u64` |
| |
| warning: `draw_point` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:243:13 |
| | |
| LL | fn draw_point(p: Point); |
| | ------------------------ `draw_point` previously declared here |
| ... |
| LL | fn draw_point(p: Point); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn(sameish_members::a::Point)` |
| found `unsafe extern "C" fn(sameish_members::b::Point)` |
| |
| warning: `origin` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:269:13 |
| | |
| LL | fn origin() -> Point3; |
| | ---------------------- `origin` previously declared here |
| ... |
| LL | fn origin() -> Point3; |
| | ^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn() -> same_sized_members_clash::a::Point3` |
| found `unsafe extern "C" fn() -> same_sized_members_clash::b::Point3` |
| |
| warning: `transparent_incorrect` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:292:13 |
| | |
| LL | fn transparent_incorrect() -> T; |
| | -------------------------------- `transparent_incorrect` previously declared here |
| ... |
| LL | fn transparent_incorrect() -> isize; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn() -> T` |
| found `unsafe extern "C" fn() -> isize` |
| |
| warning: `missing_return_type` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:310:13 |
| | |
| LL | fn missing_return_type() -> usize; |
| | ---------------------------------- `missing_return_type` previously declared here |
| ... |
| LL | fn missing_return_type(); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn() -> usize` |
| found `unsafe extern "C" fn()` |
| |
| warning: `non_zero_usize` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:328:13 |
| | |
| LL | fn non_zero_usize() -> core::num::NonZero<usize>; |
| | ------------------------------------------------- `non_zero_usize` previously declared here |
| ... |
| LL | fn non_zero_usize() -> usize; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn() -> NonZero<usize>` |
| found `unsafe extern "C" fn() -> usize` |
| |
| warning: `non_null_ptr` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:330:13 |
| | |
| LL | fn non_null_ptr() -> core::ptr::NonNull<usize>; |
| | ----------------------------------------------- `non_null_ptr` previously declared here |
| ... |
| LL | fn non_null_ptr() -> *const usize; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn() -> NonNull<usize>` |
| found `unsafe extern "C" fn() -> *const usize` |
| |
| warning: `option_non_zero_usize_incorrect` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:424:13 |
| | |
| LL | fn option_non_zero_usize_incorrect() -> usize; |
| | ---------------------------------------------- `option_non_zero_usize_incorrect` previously declared here |
| ... |
| LL | fn option_non_zero_usize_incorrect() -> isize; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn() -> usize` |
| found `unsafe extern "C" fn() -> isize` |
| |
| warning: `option_non_null_ptr_incorrect` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:426:13 |
| | |
| LL | fn option_non_null_ptr_incorrect() -> *const usize; |
| | --------------------------------------------------- `option_non_null_ptr_incorrect` previously declared here |
| ... |
| LL | fn option_non_null_ptr_incorrect() -> *const isize; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn() -> *const usize` |
| found `unsafe extern "C" fn() -> *const isize` |
| |
| warning: `hidden_niche_transparent_no_niche` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:482:13 |
| | |
| LL | fn hidden_niche_transparent_no_niche() -> usize; |
| | ------------------------------------------------ `hidden_niche_transparent_no_niche` previously declared here |
| ... |
| LL | fn hidden_niche_transparent_no_niche() -> Option<TransparentNoNiche>; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn() -> usize` |
| found `unsafe extern "C" fn() -> Option<TransparentNoNiche>` |
| |
| warning: `hidden_niche_unsafe_cell` redeclared with a different signature |
| --> $DIR/clashing-extern-fn.rs:486:13 |
| | |
| LL | fn hidden_niche_unsafe_cell() -> usize; |
| | --------------------------------------- `hidden_niche_unsafe_cell` previously declared here |
| ... |
| LL | fn hidden_niche_unsafe_cell() -> Option<UnsafeCell<NonZero<usize>>>; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration |
| | |
| = note: expected `unsafe extern "C" fn() -> usize` |
| found `unsafe extern "C" fn() -> Option<UnsafeCell<NonZero<usize>>>` |
| |
| warning: 22 warnings emitted |
| |