co3 0.3.1

Build C API from Rust
Documentation
error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
 --> tests/ui_fail/wide_raw_pointer.rs:3:1
  |
3 | / ffi! {
4 | |     #![unsafe(extern("C"))]
5 | |
6 | |     fn const_wide_pointer(value: *const [u8]);
7 | |     fn mut_wide_pointer(value: *mut [u8]);
8 | | }
  | |_^ doesn't have a size known at compile-time
  |
  = help: the trait `std::marker::Sized` is not implemented for `[u8]`
  = help: the following other types implement trait `CFnArg`:
            *const R
            *mut R
            CBox<C>
            CBoxedSlice<C>
            CSlice<C>
            CSliceMut<C>
            MaybeUninit<T>
            ReprCOption<T>
          and $N others
  = note: required for `*const [u8]` to implement `CFnArg`
  = note: this error originates in the macro `ffi` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
 --> tests/ui_fail/wide_raw_pointer.rs:3:1
  |
3 | / ffi! {
4 | |     #![unsafe(extern("C"))]
5 | |
6 | |     fn const_wide_pointer(value: *const [u8]);
7 | |     fn mut_wide_pointer(value: *mut [u8]);
8 | | }
  | |_^ doesn't have a size known at compile-time
  |
  = help: the trait `std::marker::Sized` is not implemented for `[u8]`
  = help: the following other types implement trait `CFnArg`:
            *const R
            *mut R
            CBox<C>
            CBoxedSlice<C>
            CSlice<C>
            CSliceMut<C>
            MaybeUninit<T>
            ReprCOption<T>
          and $N others
  = note: required for `*mut [u8]` to implement `CFnArg`
  = note: this error originates in the macro `ffi` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
 --> tests/ui_fail/wide_raw_pointer.rs:6:27
  |
6 |     fn const_wide_pointer(value: *const [u8]);
  |        ------------------ ^^^^^ doesn't have a size known at compile-time
  |        |
  |        required by a bound introduced by this call
  |
  = help: the trait `std::marker::Sized` is not implemented for `[u8]`
  = help: the following other types implement trait `CFnArg`:
            *const R
            *mut R
            CBox<C>
            CBoxedSlice<C>
            CSlice<C>
            CSliceMut<C>
            MaybeUninit<T>
            ReprCOption<T>
          and $N others
  = note: required for `*const [u8]` to implement `CFnArg`
note: required by a bound in `const_wide_pointer::const_wide_pointer`
 --> tests/ui_fail/wide_raw_pointer.rs:3:1
  |
3 | / ffi! {
4 | |     #![unsafe(extern("C"))]
5 | |
6 | |     fn const_wide_pointer(value: *const [u8]);
7 | |     fn mut_wide_pointer(value: *mut [u8]);
8 | | }
  | |_^ required by this bound in `const_wide_pointer`
  = note: this error originates in the macro `ffi` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
 --> tests/ui_fail/wide_raw_pointer.rs:7:25
  |
7 |     fn mut_wide_pointer(value: *mut [u8]);
  |        ---------------- ^^^^^ doesn't have a size known at compile-time
  |        |
  |        required by a bound introduced by this call
  |
  = help: the trait `std::marker::Sized` is not implemented for `[u8]`
  = help: the following other types implement trait `CFnArg`:
            *const R
            *mut R
            CBox<C>
            CBoxedSlice<C>
            CSlice<C>
            CSliceMut<C>
            MaybeUninit<T>
            ReprCOption<T>
          and $N others
  = note: required for `*mut [u8]` to implement `CFnArg`
note: required by a bound in `mut_wide_pointer::mut_wide_pointer`
 --> tests/ui_fail/wide_raw_pointer.rs:3:1
  |
3 | / ffi! {
4 | |     #![unsafe(extern("C"))]
5 | |
6 | |     fn const_wide_pointer(value: *const [u8]);
7 | |     fn mut_wide_pointer(value: *mut [u8]);
8 | | }
  | |_^ required by this bound in `mut_wide_pointer`
  = note: this error originates in the macro `ffi` (in Nightly builds, run with -Z macro-backtrace for more info)