| warning: `extern` fn uses type `str`, which is not FFI-safe | 
 |   --> $DIR/extern-C-str-arg-ice-80125.rs:3:23 | 
 |    | | 
 | LL | type ExternCallback = extern "C" fn(*const u8, u32, str); | 
 |    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe | 
 |    | | 
 |    = help: consider using `*const u8` and a length instead | 
 |    = note: string slices have no C equivalent | 
 |    = note: `#[warn(improper_ctypes_definitions)]` on by default | 
 |  | 
 | warning: `extern` fn uses type `str`, which is not FFI-safe | 
 |   --> $DIR/extern-C-str-arg-ice-80125.rs:9:44 | 
 |    | | 
 | LL | pub extern "C" fn register_something(bind: ExternCallback) -> Struct { | 
 |    |                                            ^^^^^^^^^^^^^^ not FFI-safe | 
 |    | | 
 |    = help: consider using `*const u8` and a length instead | 
 |    = note: string slices have no C equivalent | 
 |  | 
 | warning: `extern` fn uses type `Struct`, which is not FFI-safe | 
 |   --> $DIR/extern-C-str-arg-ice-80125.rs:9:63 | 
 |    | | 
 | LL | pub extern "C" fn register_something(bind: ExternCallback) -> Struct { | 
 |    |                                                               ^^^^^^ not FFI-safe | 
 |    | | 
 |    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct | 
 |    = note: this struct has unspecified layout | 
 | note: the type is defined here | 
 |   --> $DIR/extern-C-str-arg-ice-80125.rs:6:1 | 
 |    | | 
 | LL | pub struct Struct(ExternCallback); | 
 |    | ^^^^^^^^^^^^^^^^^ | 
 |  | 
 | warning: 3 warnings emitted | 
 |  |