[INFO] fetching crate usb 0.2.2...
[INFO] testing usb-0.2.2 against beta-2023-04-20 for beta-1.70-1
[INFO] extracting crate usb 0.2.2 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate usb 0.2.2 on toolchain beta-2023-04-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate usb 0.2.2
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate usb 0.2.2
[INFO] tweaked toml for crates.io crate usb 0.2.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: path `/workspace/builds/worker-0-tc2/source/src/usb.rs` was erroneously implicitly accepted for library `usb`,
[INFO] [stderr] please rename the file to `src/lib.rs` or set lib.path in Cargo.toml
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5812ac9314237d25c7738590d7bb6da4ffe5ff9552700eb7103e7e4d56c197fd
[INFO] running `Command { std: "docker" "start" "-a" "5812ac9314237d25c7738590d7bb6da4ffe5ff9552700eb7103e7e4d56c197fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5812ac9314237d25c7738590d7bb6da4ffe5ff9552700eb7103e7e4d56c197fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5812ac9314237d25c7738590d7bb6da4ffe5ff9552700eb7103e7e4d56c197fd", kill_on_drop: false }`
[INFO] [stdout] 5812ac9314237d25c7738590d7bb6da4ffe5ff9552700eb7103e7e4d56c197fd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ac99b153d8a3ecf67b1da80d9eb8a8355944908e989c62f3de316b5403fdc32f
[INFO] running `Command { std: "docker" "start" "-a" "ac99b153d8a3ecf67b1da80d9eb8a8355944908e989c62f3de316b5403fdc32f", kill_on_drop: false }`
[INFO] [stderr] warning: path `/opt/rustwide/workdir/src/usb.rs` was erroneously implicitly accepted for library `usb`,
[INFO] [stderr] please rename the file to `src/lib.rs` or set lib.path in Cargo.toml
[INFO] [stderr]    Compiling libc v0.1.12
[INFO] [stderr]    Compiling usb v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/usb.rs:25:44
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let mut ctx: *mut libusb_context = mem::uninitialized();
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/usb.rs:44:49
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let mut list: *mut *mut libusb_device = mem::uninitialized();
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/usb.rs:75:47
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut d: libusb_device_descriptor = mem::uninitialized();
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/usb.rs:95:53
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let mut handle: *mut libusb_device_handle = mem::uninitialized();
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut libusb::libusb_context` does not permit being left uninitialized
[INFO] [stdout]   --> src/usb.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let mut ctx: *mut libusb_context = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                this code causes undefined behavior when executed
[INFO] [stdout]    |                                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut *mut libusb::libusb_device` does not permit being left uninitialized
[INFO] [stdout]   --> src/usb.rs:44:44
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let mut list: *mut *mut libusb_device = mem::uninitialized();
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     this code causes undefined behavior when executed
[INFO] [stdout]    |                                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `libusb::libusb_device_descriptor` does not permit being left uninitialized
[INFO] [stdout]    --> src/usb.rs:75:42
[INFO] [stdout]     |
[INFO] [stdout] 75  |             let mut d: libusb_device_descriptor = mem::uninitialized();
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this code causes undefined behavior when executed
[INFO] [stdout]     |                                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/libusb.rs:218:2
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub bLength: uint8_t,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut libusb::libusb_device_handle` does not permit being left uninitialized
[INFO] [stdout]   --> src/usb.rs:95:48
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let mut handle: *mut libusb_device_handle = mem::uninitialized();
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         this code causes undefined behavior when executed
[INFO] [stdout]    |                                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:27:26
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn libusb_init(ctx: *mut *mut libusb_context) -> c_int;
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:28:26
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn libusb_exit(ctx: *mut libusb_context);
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn libusb_set_debug(ctx: *mut libusb_context, level: c_int);
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:31:35
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn libusb_handle_events(ctx: *mut libusb_context) -> c_int;
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:32:45
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn libusb_handle_events_completed(ctx: *mut libusb_context, completed: *mut c_int) -> c_int;
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn libusb_get_device_list(ctx: *mut libusb_context, list: *mut *mut *mut libusb_device) -> size_t;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:34:64
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn libusb_get_device_list(ctx: *mut libusb_context, list: *mut *mut *mut libusb_device) -> size_t;
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:35:39
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn libusb_free_device_list(list: *mut *mut libusb_device, unref_devices: c_int);
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:37:32
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn libusb_ref_device(dev: *mut libusb_device) -> *mut libusb_device;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:37:55
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn libusb_ref_device(dev: *mut libusb_device) -> *mut libusb_device;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:38:34
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn libusb_unref_device(dev: *mut libusb_device);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:39:39
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn libusb_get_configuration(dev: *mut libusb_device_handle, config: *mut c_int) -> c_int;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:40:43
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn libusb_get_device_descriptor(dev: *mut libusb_device, desc: *mut libusb_device_descriptor) -> c_int;
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:41:50
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn libusb_get_active_config_descriptor(dev: *mut libusb_device, config: *mut *mut libusb_config_descriptor) -> c_int;
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:42:43
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn libusb_get_config_descriptor(dev: *mut libusb_device, config_index: uint8_t, config: *mut *mut libusb_config_descriptor) -> ...
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:43:52
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn libusb_get_config_descriptor_by_value(dev: *mut libusb_device, bConfigurationValue: uint8_t, config: *mut *mut libusb_config_d...
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:46:36
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn libusb_get_bus_number(dev: *mut libusb_device) -> uint8_t;
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:47:37
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn libusb_get_port_number(dev: *mut libusb_device) -> uint8_t;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:48:40
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn libusb_get_device_address(dev: *mut libusb_device) -> uint8_t;
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:49:38
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn libusb_get_device_speed(dev: *mut libusb_device) -> c_int;
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:50:41
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn libusb_get_max_packet_size(dev: *mut libusb_device, endpoint: uint8_t) -> c_int;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:51:45
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn libusb_get_max_iso_packet_size(dev: *mut libusb_device, endpoint: uint8_t) -> c_int;
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:53:26
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn libusb_open(dev: *mut libusb_device,  handle: *mut *mut libusb_device_handle) -> c_int;
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:53:55
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn libusb_open(dev: *mut libusb_device,  handle: *mut *mut libusb_device_handle) -> c_int;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:54:34
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn libusb_close(dev_handle: *mut libusb_device_handle);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:55:39
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn libusb_get_device(dev_handle: *mut libusb_device_handle) -> *mut libusb_device;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:55:69
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn libusb_get_device(dev_handle: *mut libusb_device_handle) -> *mut libusb_device;
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:57:39
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn libusb_set_configuration(dev: *mut libusb_device_handle, configuration: c_int) -> c_int;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:58:37
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn libusb_claim_interface(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:59:39
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn libusb_release_interface(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:61:47
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn libusb_set_interface_alt_setting(dev: *mut libusb_device_handle, interface_number: c_int, alternate_setting: c_int) -> c_int;
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:62:32
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn libusb_clear_halt(dev: *mut libusb_device_handle, endpoint: uint8_t) -> c_int;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:63:34
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn libusb_reset_device(dev: *mut libusb_device_handle) -> c_int;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:65:42
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn libusb_kernel_driver_active(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn libusb_detach_kernel_driver(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:67:42
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn libusb_attach_kernel_driver(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:69:54
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn libusb_alloc_transfer(iso_packets: c_int) -> *mut libusb_transfer;
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:70:42
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn libusb_submit_transfer(transfer: *mut libusb_transfer) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:71:42
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn libusb_cancel_transfer(transfer: *mut libusb_transfer) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:72:40
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn libusb_free_transfer(transfer: *mut libusb_transfer);
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 48 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.34s
[INFO] running `Command { std: "docker" "inspect" "ac99b153d8a3ecf67b1da80d9eb8a8355944908e989c62f3de316b5403fdc32f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ac99b153d8a3ecf67b1da80d9eb8a8355944908e989c62f3de316b5403fdc32f", kill_on_drop: false }`
[INFO] [stdout] ac99b153d8a3ecf67b1da80d9eb8a8355944908e989c62f3de316b5403fdc32f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 974c80a9edce4e3f673989ed566116127ea629e8fc3f04b4deda23932b773ed7
[INFO] running `Command { std: "docker" "start" "-a" "974c80a9edce4e3f673989ed566116127ea629e8fc3f04b4deda23932b773ed7", kill_on_drop: false }`
[INFO] [stderr] warning: path `/opt/rustwide/workdir/src/usb.rs` was erroneously implicitly accepted for library `usb`,
[INFO] [stderr] please rename the file to `src/lib.rs` or set lib.path in Cargo.toml
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/usb.rs:25:44
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let mut ctx: *mut libusb_context = mem::uninitialized();
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/usb.rs:44:49
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let mut list: *mut *mut libusb_device = mem::uninitialized();
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/usb.rs:75:47
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut d: libusb_device_descriptor = mem::uninitialized();
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/usb.rs:95:53
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let mut handle: *mut libusb_device_handle = mem::uninitialized();
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut libusb::libusb_context` does not permit being left uninitialized
[INFO] [stdout]   --> src/usb.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let mut ctx: *mut libusb_context = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                this code causes undefined behavior when executed
[INFO] [stdout]    |                                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut *mut libusb::libusb_device` does not permit being left uninitialized
[INFO] [stdout]   --> src/usb.rs:44:44
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let mut list: *mut *mut libusb_device = mem::uninitialized();
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     this code causes undefined behavior when executed
[INFO] [stdout]    |                                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `libusb::libusb_device_descriptor` does not permit being left uninitialized
[INFO] [stdout]    --> src/usb.rs:75:42
[INFO] [stdout]     |
[INFO] [stdout] 75  |             let mut d: libusb_device_descriptor = mem::uninitialized();
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this code causes undefined behavior when executed
[INFO] [stdout]     |                                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/libusb.rs:218:2
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub bLength: uint8_t,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut libusb::libusb_device_handle` does not permit being left uninitialized
[INFO] [stdout]   --> src/usb.rs:95:48
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let mut handle: *mut libusb_device_handle = mem::uninitialized();
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         this code causes undefined behavior when executed
[INFO] [stdout]    |                                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:27:26
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn libusb_init(ctx: *mut *mut libusb_context) -> c_int;
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:28:26
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn libusb_exit(ctx: *mut libusb_context);
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn libusb_set_debug(ctx: *mut libusb_context, level: c_int);
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:31:35
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn libusb_handle_events(ctx: *mut libusb_context) -> c_int;
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:32:45
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn libusb_handle_events_completed(ctx: *mut libusb_context, completed: *mut c_int) -> c_int;
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn libusb_get_device_list(ctx: *mut libusb_context, list: *mut *mut *mut libusb_device) -> size_t;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:34:64
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn libusb_get_device_list(ctx: *mut libusb_context, list: *mut *mut *mut libusb_device) -> size_t;
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:35:39
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn libusb_free_device_list(list: *mut *mut libusb_device, unref_devices: c_int);
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:37:32
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn libusb_ref_device(dev: *mut libusb_device) -> *mut libusb_device;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:37:55
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn libusb_ref_device(dev: *mut libusb_device) -> *mut libusb_device;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:38:34
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn libusb_unref_device(dev: *mut libusb_device);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:39:39
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn libusb_get_configuration(dev: *mut libusb_device_handle, config: *mut c_int) -> c_int;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:40:43
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn libusb_get_device_descriptor(dev: *mut libusb_device, desc: *mut libusb_device_descriptor) -> c_int;
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:41:50
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn libusb_get_active_config_descriptor(dev: *mut libusb_device, config: *mut *mut libusb_config_descriptor) -> c_int;
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:42:43
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn libusb_get_config_descriptor(dev: *mut libusb_device, config_index: uint8_t, config: *mut *mut libusb_config_descriptor) -> ...
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:43:52
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn libusb_get_config_descriptor_by_value(dev: *mut libusb_device, bConfigurationValue: uint8_t, config: *mut *mut libusb_config_d...
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:46:36
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn libusb_get_bus_number(dev: *mut libusb_device) -> uint8_t;
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:47:37
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn libusb_get_port_number(dev: *mut libusb_device) -> uint8_t;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:48:40
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn libusb_get_device_address(dev: *mut libusb_device) -> uint8_t;
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:49:38
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn libusb_get_device_speed(dev: *mut libusb_device) -> c_int;
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:50:41
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn libusb_get_max_packet_size(dev: *mut libusb_device, endpoint: uint8_t) -> c_int;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:51:45
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn libusb_get_max_iso_packet_size(dev: *mut libusb_device, endpoint: uint8_t) -> c_int;
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:53:26
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn libusb_open(dev: *mut libusb_device,  handle: *mut *mut libusb_device_handle) -> c_int;
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:53:55
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn libusb_open(dev: *mut libusb_device,  handle: *mut *mut libusb_device_handle) -> c_int;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:54:34
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn libusb_close(dev_handle: *mut libusb_device_handle);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:55:39
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn libusb_get_device(dev_handle: *mut libusb_device_handle) -> *mut libusb_device;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:55:69
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn libusb_get_device(dev_handle: *mut libusb_device_handle) -> *mut libusb_device;
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:57:39
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn libusb_set_configuration(dev: *mut libusb_device_handle, configuration: c_int) -> c_int;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:58:37
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn libusb_claim_interface(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:59:39
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn libusb_release_interface(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:61:47
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn libusb_set_interface_alt_setting(dev: *mut libusb_device_handle, interface_number: c_int, alternate_setting: c_int) -> c_int;
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:62:32
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn libusb_clear_halt(dev: *mut libusb_device_handle, endpoint: uint8_t) -> c_int;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:63:34
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn libusb_reset_device(dev: *mut libusb_device_handle) -> c_int;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:65:42
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn libusb_kernel_driver_active(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn libusb_detach_kernel_driver(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:67:42
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn libusb_attach_kernel_driver(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:69:54
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn libusb_alloc_transfer(iso_packets: c_int) -> *mut libusb_transfer;
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling usb v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:70:42
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn libusb_submit_transfer(transfer: *mut libusb_transfer) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:71:42
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn libusb_cancel_transfer(transfer: *mut libusb_transfer) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:72:40
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn libusb_free_transfer(transfer: *mut libusb_transfer);
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 48 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, found module `thread::scoped`
[INFO] [stdout]   --> examples/test/main.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 |       let t1 = thread::scoped(|| {
[INFO] [stdout]    |                ^^^^^^^^------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        help: a function with a similar name exists: `scope`
[INFO] [stdout]   --> /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/thread/scoped.rs:129:1
[INFO] [stdout]   ::: /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/thread/scoped.rs:131:60
[INFO] [stdout]    |
[INFO] [stdout]    = note: similarly named function `scope` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, found module `thread::scoped`
[INFO] [stdout]   --> examples/test/main.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 |       let t2 = thread::scoped(|| {
[INFO] [stdout]    |                ^^^^^^^^------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        help: a function with a similar name exists: `scope`
[INFO] [stdout]   --> /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/thread/scoped.rs:129:1
[INFO] [stdout]   ::: /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/thread/scoped.rs:131:60
[INFO] [stdout]    |
[INFO] [stdout]    = note: similarly named function `scope` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `scoped` is private
[INFO] [stdout]   --> examples/test/main.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let t1 = thread::scoped(|| {
[INFO] [stdout]    |                      ^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `scoped` is defined here
[INFO] [stdout]   --> /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/thread/mod.rs:184:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `scoped` is private
[INFO] [stdout]   --> examples/test/main.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let t2 = thread::scoped(|| {
[INFO] [stdout]    |                      ^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `scoped` is defined here
[INFO] [stdout]   --> /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/thread/mod.rs:184:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel
[INFO] [stdout]  --> examples/test/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(scoped)]
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `scoped`
[INFO] [stdout]  --> examples/test/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(scoped)]
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0423, E0554, E0603, E0635.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0423`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `usb` (example "test") due to 7 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/usb.rs:25:44
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let mut ctx: *mut libusb_context = mem::uninitialized();
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/usb.rs:44:49
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let mut list: *mut *mut libusb_device = mem::uninitialized();
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/usb.rs:75:47
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut d: libusb_device_descriptor = mem::uninitialized();
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/usb.rs:95:53
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let mut handle: *mut libusb_device_handle = mem::uninitialized();
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut libusb::libusb_context` does not permit being left uninitialized
[INFO] [stdout]   --> src/usb.rs:25:39
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let mut ctx: *mut libusb_context = mem::uninitialized();
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                this code causes undefined behavior when executed
[INFO] [stdout]    |                                                help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut *mut libusb::libusb_device` does not permit being left uninitialized
[INFO] [stdout]   --> src/usb.rs:44:44
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let mut list: *mut *mut libusb_device = mem::uninitialized();
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                     |
[INFO] [stdout]    |                                                     this code causes undefined behavior when executed
[INFO] [stdout]    |                                                     help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `libusb::libusb_device_descriptor` does not permit being left uninitialized
[INFO] [stdout]    --> src/usb.rs:75:42
[INFO] [stdout]     |
[INFO] [stdout] 75  |             let mut d: libusb_device_descriptor = mem::uninitialized();
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this code causes undefined behavior when executed
[INFO] [stdout]     |                                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/libusb.rs:218:2
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub bLength: uint8_t,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `*mut libusb::libusb_device_handle` does not permit being left uninitialized
[INFO] [stdout]   --> src/usb.rs:95:48
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let mut handle: *mut libusb_device_handle = mem::uninitialized();
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         this code causes undefined behavior when executed
[INFO] [stdout]    |                                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: raw pointers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:27:26
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn libusb_init(ctx: *mut *mut libusb_context) -> c_int;
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:28:26
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn libusb_exit(ctx: *mut libusb_context);
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn libusb_set_debug(ctx: *mut libusb_context, level: c_int);
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:31:35
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn libusb_handle_events(ctx: *mut libusb_context) -> c_int;
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:32:45
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn libusb_handle_events_completed(ctx: *mut libusb_context, completed: *mut c_int) -> c_int;
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_context`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:34:37
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn libusb_get_device_list(ctx: *mut libusb_context, list: *mut *mut *mut libusb_device) -> size_t;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct libusb_context;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:34:64
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn libusb_get_device_list(ctx: *mut libusb_context, list: *mut *mut *mut libusb_device) -> size_t;
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:35:39
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn libusb_free_device_list(list: *mut *mut libusb_device, unref_devices: c_int);
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:37:32
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn libusb_ref_device(dev: *mut libusb_device) -> *mut libusb_device;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:37:55
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn libusb_ref_device(dev: *mut libusb_device) -> *mut libusb_device;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:38:34
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn libusb_unref_device(dev: *mut libusb_device);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:39:39
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn libusb_get_configuration(dev: *mut libusb_device_handle, config: *mut c_int) -> c_int;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:40:43
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn libusb_get_device_descriptor(dev: *mut libusb_device, desc: *mut libusb_device_descriptor) -> c_int;
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:41:50
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn libusb_get_active_config_descriptor(dev: *mut libusb_device, config: *mut *mut libusb_config_descriptor) -> c_int;
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:42:43
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn libusb_get_config_descriptor(dev: *mut libusb_device, config_index: uint8_t, config: *mut *mut libusb_config_descriptor) -> ...
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:43:52
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn libusb_get_config_descriptor_by_value(dev: *mut libusb_device, bConfigurationValue: uint8_t, config: *mut *mut libusb_config_d...
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:46:36
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn libusb_get_bus_number(dev: *mut libusb_device) -> uint8_t;
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:47:37
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn libusb_get_port_number(dev: *mut libusb_device) -> uint8_t;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:48:40
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn libusb_get_device_address(dev: *mut libusb_device) -> uint8_t;
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:49:38
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn libusb_get_device_speed(dev: *mut libusb_device) -> c_int;
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:50:41
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn libusb_get_max_packet_size(dev: *mut libusb_device, endpoint: uint8_t) -> c_int;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:51:45
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn libusb_get_max_iso_packet_size(dev: *mut libusb_device, endpoint: uint8_t) -> c_int;
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:53:26
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn libusb_open(dev: *mut libusb_device,  handle: *mut *mut libusb_device_handle) -> c_int;
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:53:55
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn libusb_open(dev: *mut libusb_device,  handle: *mut *mut libusb_device_handle) -> c_int;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:54:34
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn libusb_close(dev_handle: *mut libusb_device_handle);
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:55:39
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn libusb_get_device(dev_handle: *mut libusb_device_handle) -> *mut libusb_device;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:55:69
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn libusb_get_device(dev_handle: *mut libusb_device_handle) -> *mut libusb_device;
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct libusb_device;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:57:39
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn libusb_set_configuration(dev: *mut libusb_device_handle, configuration: c_int) -> c_int;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:58:37
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn libusb_claim_interface(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:59:39
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn libusb_release_interface(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:61:47
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn libusb_set_interface_alt_setting(dev: *mut libusb_device_handle, interface_number: c_int, alternate_setting: c_int) -> c_int;
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:62:32
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn libusb_clear_halt(dev: *mut libusb_device_handle, endpoint: uint8_t) -> c_int;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:63:34
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn libusb_reset_device(dev: *mut libusb_device_handle) -> c_int;
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:65:42
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn libusb_kernel_driver_active(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn libusb_detach_kernel_driver(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:67:42
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn libusb_attach_kernel_driver(dev: *mut libusb_device_handle, interface_number: c_int) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:69:54
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn libusb_alloc_transfer(iso_packets: c_int) -> *mut libusb_transfer;
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:70:42
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn libusb_submit_transfer(transfer: *mut libusb_transfer) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:71:42
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn libusb_cancel_transfer(transfer: *mut libusb_transfer) -> c_int;
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `libusb::libusb_device_handle`, which is not FFI-safe
[INFO] [stdout]   --> src/libusb.rs:72:40
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn libusb_free_transfer(transfer: *mut libusb_transfer);
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a member to this struct
[INFO] [stdout]    = note: this struct has no fields
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]   --> src/libusb.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct libusb_device_handle;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 48 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "974c80a9edce4e3f673989ed566116127ea629e8fc3f04b4deda23932b773ed7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "974c80a9edce4e3f673989ed566116127ea629e8fc3f04b4deda23932b773ed7", kill_on_drop: false }`
[INFO] [stdout] 974c80a9edce4e3f673989ed566116127ea629e8fc3f04b4deda23932b773ed7
