rdxusb 2025.0.0

Cross-platform library for accessing Redux Robotics devices over USB
Documentation

Build #3365867 2026-05-23 23:34:31

Build failed. If you want to re-trigger a documentation build, you can do it here. You can find more information on docs.rs builds documentation on the builds page.

# error kind ExecutionFailed

# pre-build errors command failed: exit status: 101

# rustc version rustc 1.98.0-nightly (54333ff07 2026-05-22)

# docs.rs version docsrs 0.0.0 (f16e33f3e6ac9fc9e4413728c5dd1b2ba1c6b799 2026-05-23 )

# build log [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-w" "/opt/rustwide/workdir" "--user" "1001:1001" "c42641eac9c275fce2d42ef38157c3c69e0ef949c90983795ad5a32fb15b1abf" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20260522-1.98.0-nightly-54333ff07\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }` [INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op [INFO] [stderr] Documenting rdxusb v2025.0.0 (/opt/rustwide/workdir) [INFO] [stderr] error[E0277]: the trait bound `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>: ringbuf::storage::Storage` is not satisfied [INFO] [stderr] --> src/host.rs:16:15 [INFO] [stderr] | [INFO] [stderr] 16 | rx_queue: Vec<<AsyncRb<Heap<RdxUsbFsPacket>> as async_ringbuf::traits::Split>::Prod> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ringbuf::storage::Storage` is not implemented for `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>` [INFO] [stderr] | [INFO] [stderr] note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait [INFO] [stderr] | [INFO] [stderr] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.4.8/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ------------------------ this is the found trait [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] help: the following other types implement trait `ringbuf::storage::Storage` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | unsafe impl<T> Storage for Ref<'_, T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Ref<'_, T>` [INFO] [stderr] ... [INFO] [stderr] 103 | unsafe impl<T, const N: usize> Storage for Array<T, N> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>; N]>` [INFO] [stderr] ... [INFO] [stderr] 121 | unsafe impl<T> Storage for Slice<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>]>` [INFO] [stderr] ... [INFO] [stderr] 143 | unsafe impl<T> Storage for Heap<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Heap<T>` [INFO] [stderr] = note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] = note: required for `async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>` to implement `async_ringbuf::traits::Split` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `AsyncRb<Heap<RdxUsbFsPacket>>: RingBuffer` is not satisfied [INFO] [stderr] --> src/host.rs:16:15 [INFO] [stderr] | [INFO] [stderr] 16 | rx_queue: Vec<<AsyncRb<Heap<RdxUsbFsPacket>> as async_ringbuf::traits::Split>::Prod> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stderr] | [INFO] [stderr] = help: the trait `async_ringbuf::traits::RingBuffer` is not implemented for `async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>` [INFO] [stderr] note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/traits/ring_buffer.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub trait RingBuffer: Observer + Consumer + Producer { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait [INFO] [stderr] | [INFO] [stderr] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.4.8/src/traits/ring_buffer.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub trait RingBuffer: Observer + Consumer + Producer { [INFO] [stderr] | ---------------------------------------------------- this is the found trait [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] help: the trait `async_ringbuf::traits::RingBuffer` is implemented for `async_ringbuf::AsyncRb<S>` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-ringbuf-0.3.6/src/rb.rs:86:1 [INFO] [stderr] | [INFO] [stderr] 86 | impl<S: Storage> RingBuffer for AsyncRb<S> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: required for `ringbuf::Arc<async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>>` to implement `ringbuf::rb::traits::RbRef` [INFO] [stderr] = note: required for `ringbuf::Arc<async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>>` to implement `async_ringbuf::rb::AsyncRbRef` [INFO] [stderr] note: required by a bound in `async_ringbuf::wrap::AsyncWrap` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-ringbuf-0.3.6/src/wrap/mod.rs:11:25 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct AsyncWrap<R: AsyncRbRef, const P: bool, const C: bool> { [INFO] [stderr] | ^^^^^^^^^^ required by this bound in `AsyncWrap` [INFO] [stderr] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-gnu/doc/rdxusb.long-type-10611573651895011182.txt' [INFO] [stderr] = note: consider using `--verbose` to print the full type name to the console [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>: ringbuf::storage::Storage` is not satisfied [INFO] [stderr] --> src/host.rs:196:27 [INFO] [stderr] | [INFO] [stderr] 196 | pub struct RdxUsbFsWriter(<AsyncRb<Heap<RdxUsbFsPacket>> as async_ringbuf::traits::Split>::Prod); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ringbuf::storage::Storage` is not implemented for `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>` [INFO] [stderr] | [INFO] [stderr] note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait [INFO] [stderr] | [INFO] [stderr] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.4.8/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ------------------------ this is the found trait [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] help: the following other types implement trait `ringbuf::storage::Storage` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | unsafe impl<T> Storage for Ref<'_, T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Ref<'_, T>` [INFO] [stderr] ... [INFO] [stderr] 103 | unsafe impl<T, const N: usize> Storage for Array<T, N> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>; N]>` [INFO] [stderr] ... [INFO] [stderr] 121 | unsafe impl<T> Storage for Slice<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>]>` [INFO] [stderr] ... [INFO] [stderr] 143 | unsafe impl<T> Storage for Heap<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Heap<T>` [INFO] [stderr] = note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] = note: required for `async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>` to implement `async_ringbuf::traits::Split` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `AsyncRb<Heap<RdxUsbFsPacket>>: RingBuffer` is not satisfied [INFO] [stderr] --> src/host.rs:196:27 [INFO] [stderr] | [INFO] [stderr] 196 | pub struct RdxUsbFsWriter(<AsyncRb<Heap<RdxUsbFsPacket>> as async_ringbuf::traits::Split>::Prod); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stderr] | [INFO] [stderr] = help: the trait `async_ringbuf::traits::RingBuffer` is not implemented for `async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>` [INFO] [stderr] note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/traits/ring_buffer.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub trait RingBuffer: Observer + Consumer + Producer { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait [INFO] [stderr] | [INFO] [stderr] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.4.8/src/traits/ring_buffer.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub trait RingBuffer: Observer + Consumer + Producer { [INFO] [stderr] | ---------------------------------------------------- this is the found trait [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] help: the trait `async_ringbuf::traits::RingBuffer` is implemented for `async_ringbuf::AsyncRb<S>` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-ringbuf-0.3.6/src/rb.rs:86:1 [INFO] [stderr] | [INFO] [stderr] 86 | impl<S: Storage> RingBuffer for AsyncRb<S> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: required for `ringbuf::Arc<async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>>` to implement `ringbuf::rb::traits::RbRef` [INFO] [stderr] = note: required for `ringbuf::Arc<async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>>` to implement `async_ringbuf::rb::AsyncRbRef` [INFO] [stderr] note: required by a bound in `async_ringbuf::wrap::AsyncWrap` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-ringbuf-0.3.6/src/wrap/mod.rs:11:25 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct AsyncWrap<R: AsyncRbRef, const P: bool, const C: bool> { [INFO] [stderr] | ^^^^^^^^^^ required by this bound in `AsyncWrap` [INFO] [stderr] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-gnu/doc/rdxusb.long-type-10611573651895011182.txt' [INFO] [stderr] = note: consider using `--verbose` to print the full type name to the console [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>: ringbuf::storage::Storage` is not satisfied [INFO] [stderr] --> src/host.rs:209:15 [INFO] [stderr] | [INFO] [stderr] 209 | tx_queue: <AsyncRb<Heap<RdxUsbFsPacket>> as async_ringbuf::traits::Split>::Cons, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ringbuf::storage::Storage` is not implemented for `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>` [INFO] [stderr] | [INFO] [stderr] note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait [INFO] [stderr] | [INFO] [stderr] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.4.8/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ------------------------ this is the found trait [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] help: the following other types implement trait `ringbuf::storage::Storage` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | unsafe impl<T> Storage for Ref<'_, T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Ref<'_, T>` [INFO] [stderr] ... [INFO] [stderr] 103 | unsafe impl<T, const N: usize> Storage for Array<T, N> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>; N]>` [INFO] [stderr] ... [INFO] [stderr] 121 | unsafe impl<T> Storage for Slice<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>]>` [INFO] [stderr] ... [INFO] [stderr] 143 | unsafe impl<T> Storage for Heap<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Heap<T>` [INFO] [stderr] = note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] = note: required for `async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>` to implement `async_ringbuf::traits::Split` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `AsyncRb<Heap<RdxUsbFsPacket>>: RingBuffer` is not satisfied [INFO] [stderr] --> src/host.rs:209:15 [INFO] [stderr] | [INFO] [stderr] 209 | tx_queue: <AsyncRb<Heap<RdxUsbFsPacket>> as async_ringbuf::traits::Split>::Cons, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stderr] | [INFO] [stderr] = help: the trait `async_ringbuf::traits::RingBuffer` is not implemented for `async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>` [INFO] [stderr] note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/traits/ring_buffer.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub trait RingBuffer: Observer + Consumer + Producer { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait [INFO] [stderr] | [INFO] [stderr] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.4.8/src/traits/ring_buffer.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub trait RingBuffer: Observer + Consumer + Producer { [INFO] [stderr] | ---------------------------------------------------- this is the found trait [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] help: the trait `async_ringbuf::traits::RingBuffer` is implemented for `async_ringbuf::AsyncRb<S>` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-ringbuf-0.3.6/src/rb.rs:86:1 [INFO] [stderr] | [INFO] [stderr] 86 | impl<S: Storage> RingBuffer for AsyncRb<S> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: required for `ringbuf::Arc<async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>>` to implement `ringbuf::rb::traits::RbRef` [INFO] [stderr] = note: required for `ringbuf::Arc<async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>>` to implement `async_ringbuf::rb::AsyncRbRef` [INFO] [stderr] note: required by a bound in `async_ringbuf::wrap::AsyncWrap` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-ringbuf-0.3.6/src/wrap/mod.rs:11:25 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct AsyncWrap<R: AsyncRbRef, const P: bool, const C: bool> { [INFO] [stderr] | ^^^^^^^^^^ required by this bound in `AsyncWrap` [INFO] [stderr] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-gnu/doc/rdxusb.long-type-10611573651895011182.txt' [INFO] [stderr] = note: consider using `--verbose` to print the full type name to the console [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>: ringbuf::storage::Storage` is not satisfied [INFO] [stderr] --> src/host.rs:234:15 [INFO] [stderr] | [INFO] [stderr] 234 | rx_queue: <AsyncRb<Heap<RdxUsbFsPacket>> as async_ringbuf::traits::Split>::Cons, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ringbuf::storage::Storage` is not implemented for `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>` [INFO] [stderr] | [INFO] [stderr] note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait [INFO] [stderr] | [INFO] [stderr] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.4.8/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ------------------------ this is the found trait [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] help: the following other types implement trait `ringbuf::storage::Storage` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | unsafe impl<T> Storage for Ref<'_, T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Ref<'_, T>` [INFO] [stderr] ... [INFO] [stderr] 103 | unsafe impl<T, const N: usize> Storage for Array<T, N> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>; N]>` [INFO] [stderr] ... [INFO] [stderr] 121 | unsafe impl<T> Storage for Slice<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>]>` [INFO] [stderr] ... [INFO] [stderr] 143 | unsafe impl<T> Storage for Heap<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Heap<T>` [INFO] [stderr] = note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] = note: required for `async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>` to implement `async_ringbuf::traits::Split` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `AsyncRb<Heap<RdxUsbFsPacket>>: RingBuffer` is not satisfied [INFO] [stderr] --> src/host.rs:234:15 [INFO] [stderr] | [INFO] [stderr] 234 | rx_queue: <AsyncRb<Heap<RdxUsbFsPacket>> as async_ringbuf::traits::Split>::Cons, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stderr] | [INFO] [stderr] = help: the trait `async_ringbuf::traits::RingBuffer` is not implemented for `async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>` [INFO] [stderr] note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/traits/ring_buffer.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub trait RingBuffer: Observer + Consumer + Producer { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait [INFO] [stderr] | [INFO] [stderr] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.4.8/src/traits/ring_buffer.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub trait RingBuffer: Observer + Consumer + Producer { [INFO] [stderr] | ---------------------------------------------------- this is the found trait [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] help: the trait `async_ringbuf::traits::RingBuffer` is implemented for `async_ringbuf::AsyncRb<S>` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-ringbuf-0.3.6/src/rb.rs:86:1 [INFO] [stderr] | [INFO] [stderr] 86 | impl<S: Storage> RingBuffer for AsyncRb<S> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: required for `ringbuf::Arc<async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>>` to implement `ringbuf::rb::traits::RbRef` [INFO] [stderr] = note: required for `ringbuf::Arc<async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>>` to implement `async_ringbuf::rb::AsyncRbRef` [INFO] [stderr] note: required by a bound in `async_ringbuf::wrap::AsyncWrap` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/async-ringbuf-0.3.6/src/wrap/mod.rs:11:25 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct AsyncWrap<R: AsyncRbRef, const P: bool, const C: bool> { [INFO] [stderr] | ^^^^^^^^^^ required by this bound in `AsyncWrap` [INFO] [stderr] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-gnu/doc/rdxusb.long-type-10611573651895011182.txt' [INFO] [stderr] = note: consider using `--verbose` to print the full type name to the console [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>: ringbuf::storage::Storage` is not satisfied [INFO] [stderr] --> src/event_loop.rs:49:14 [INFO] [stderr] | [INFO] [stderr] 49 | FsDevice(Vec<RdxUsbFsChannel>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ the trait `ringbuf::storage::Storage` is not implemented for `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>` [INFO] [stderr] | [INFO] [stderr] note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait [INFO] [stderr] | [INFO] [stderr] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.4.8/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ------------------------ this is the found trait [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] help: the following other types implement trait `ringbuf::storage::Storage` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | unsafe impl<T> Storage for Ref<'_, T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Ref<'_, T>` [INFO] [stderr] ... [INFO] [stderr] 103 | unsafe impl<T, const N: usize> Storage for Array<T, N> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>; N]>` [INFO] [stderr] ... [INFO] [stderr] 121 | unsafe impl<T> Storage for Slice<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>]>` [INFO] [stderr] ... [INFO] [stderr] 143 | unsafe impl<T> Storage for Heap<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Heap<T>` [INFO] [stderr] = note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] = note: required for `async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>` to implement `async_ringbuf::traits::Split` [INFO] [stderr] note: required because it appears within the type `host::RdxUsbFsChannel` [INFO] [stderr] --> src/host.rs:231:12 [INFO] [stderr] | [INFO] [stderr] 231 | pub struct RdxUsbFsChannel { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] note: required by an implicit `Sized` bound in `std::vec::Vec` [INFO] [stderr] --> /rustc/54333ff079780f803f65dcee30c544050b35f544/library/alloc/src/vec/mod.rs:438:0 [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>: ringbuf::storage::Storage` is not satisfied [INFO] [stderr] --> src/event_loop.rs:53:14 [INFO] [stderr] | [INFO] [stderr] 53 | FsDevice(RdxUsbFsWriter), [INFO] [stderr] | ^^^^^^^^^^^^^^ the trait `ringbuf::storage::Storage` is not implemented for `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>` [INFO] [stderr] | [INFO] [stderr] note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait [INFO] [stderr] | [INFO] [stderr] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.4.8/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ------------------------ this is the found trait [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] help: the following other types implement trait `ringbuf::storage::Storage` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | unsafe impl<T> Storage for Ref<'_, T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Ref<'_, T>` [INFO] [stderr] ... [INFO] [stderr] 103 | unsafe impl<T, const N: usize> Storage for Array<T, N> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>; N]>` [INFO] [stderr] ... [INFO] [stderr] 121 | unsafe impl<T> Storage for Slice<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>]>` [INFO] [stderr] ... [INFO] [stderr] 143 | unsafe impl<T> Storage for Heap<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Heap<T>` [INFO] [stderr] = note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] = note: required for `async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>` to implement `async_ringbuf::traits::Split` [INFO] [stderr] note: required because it appears within the type `host::RdxUsbFsWriter` [INFO] [stderr] --> src/host.rs:196:12 [INFO] [stderr] | [INFO] [stderr] 196 | pub struct RdxUsbFsWriter(<AsyncRb<Heap<RdxUsbFsPacket>> as async_ringbuf::traits::Split>::Prod); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] = note: no field of an enum variant may have a dynamically sized type [INFO] [stderr] = help: change the field's type to have a statically known size [INFO] [stderr] help: borrowed types always have a statically known size [INFO] [stderr] | [INFO] [stderr] 53 | FsDevice(&RdxUsbFsWriter), [INFO] [stderr] | + [INFO] [stderr] help: the `Box` type always has a statically known size and allocates its contents in the heap [INFO] [stderr] | [INFO] [stderr] 53 | FsDevice(Box<RdxUsbFsWriter>), [INFO] [stderr] | ++++ + [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>: ringbuf::storage::Storage` is not satisfied [INFO] [stderr] --> src/event_loop.rs:198:20 [INFO] [stderr] | [INFO] [stderr] 198 | static EVENT_LOOP: Mutex<OnceCell<EventLoop>> = Mutex::new(OnceCell::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ringbuf::storage::Storage` is not implemented for `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>` [INFO] [stderr] | [INFO] [stderr] note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait [INFO] [stderr] | [INFO] [stderr] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.4.8/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ------------------------ this is the found trait [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] help: the following other types implement trait `ringbuf::storage::Storage` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | unsafe impl<T> Storage for Ref<'_, T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Ref<'_, T>` [INFO] [stderr] ... [INFO] [stderr] 103 | unsafe impl<T, const N: usize> Storage for Array<T, N> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>; N]>` [INFO] [stderr] ... [INFO] [stderr] 121 | unsafe impl<T> Storage for Slice<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>]>` [INFO] [stderr] ... [INFO] [stderr] 143 | unsafe impl<T> Storage for Heap<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Heap<T>` [INFO] [stderr] = note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] = note: required for `async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>` to implement `async_ringbuf::traits::Split` [INFO] [stderr] note: required because it appears within the type `host::RdxUsbFsWriter` [INFO] [stderr] --> src/host.rs:196:12 [INFO] [stderr] | [INFO] [stderr] 196 | pub struct RdxUsbFsWriter(<AsyncRb<Heap<RdxUsbFsPacket>> as async_ringbuf::traits::Split>::Prod); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] note: required because it appears within the type `event_loop::Writer` [INFO] [stderr] --> src/event_loop.rs:52:10 [INFO] [stderr] | [INFO] [stderr] 52 | pub enum Writer { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] note: required because it appears within the type `event_loop::OpenDevice` [INFO] [stderr] --> src/event_loop.rs:58:12 [INFO] [stderr] | [INFO] [stderr] 58 | pub struct OpenDevice { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] note: required because it appears within the type `std::option::Option<event_loop::OpenDevice>` [INFO] [stderr] --> /rustc/54333ff079780f803f65dcee30c544050b35f544/library/core/src/option.rs:597:9 [INFO] [stderr] note: required because it appears within the type `event_loop::Device` [INFO] [stderr] --> src/event_loop.rs:111:12 [INFO] [stderr] | [INFO] [stderr] 111 | pub struct Device { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = note: required because it appears within the type `(i32, event_loop::Device)` [INFO] [stderr] = note: required for `hashbrown::raw::RawTable<(i32, event_loop::Device)>` to implement `std::marker::Send` [INFO] [stderr] note: required because it appears within the type `hashbrown::map::HashMap<i32, event_loop::Device, std::hash::RandomState>` [INFO] [stderr] --> /rust/deps/hashbrown-0.17.1/src/map.rs:182:11 [INFO] [stderr] note: required because it appears within the type `std::collections::HashMap<i32, event_loop::Device>` [INFO] [stderr] --> /rustc/54333ff079780f803f65dcee30c544050b35f544/library/std/src/collections/hash/map.rs:246:11 [INFO] [stderr] note: required because it appears within the type `event_loop::EventLoop` [INFO] [stderr] --> src/event_loop.rs:140:12 [INFO] [stderr] | [INFO] [stderr] 140 | pub struct EventLoop { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] note: required because it appears within the type `std::option::Option<event_loop::EventLoop>` [INFO] [stderr] --> /rustc/54333ff079780f803f65dcee30c544050b35f544/library/core/src/option.rs:597:9 [INFO] [stderr] note: required because it appears within the type `std::cell::UnsafeCell<std::option::Option<event_loop::EventLoop>>` [INFO] [stderr] --> /rustc/54333ff079780f803f65dcee30c544050b35f544/library/core/src/cell.rs:2323:11 [INFO] [stderr] note: required because it appears within the type `std::cell::OnceCell<event_loop::EventLoop>` [INFO] [stderr] --> /rustc/54333ff079780f803f65dcee30c544050b35f544/library/core/src/cell/once.rs:35:11 [INFO] [stderr] = note: required for `std::sync::Mutex<std::cell::OnceCell<event_loop::EventLoop>>` to implement `std::marker::Sync` [INFO] [stderr] = note: shared static variables must have a type that implements `Sync` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>: ringbuf::storage::Storage` is not satisfied [INFO] [stderr] --> src/host.rs:190:53 [INFO] [stderr] | [INFO] [stderr] 190 | pub fn write_poller(&self, n_packets: usize) -> (RdxUsbFsWritePoller, RdxUsbFsWriter) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ringbuf::storage::Storage` is not implemented for `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>` [INFO] [stderr] | [INFO] [stderr] note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait [INFO] [stderr] | [INFO] [stderr] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.4.8/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ------------------------ this is the found trait [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] help: the following other types implement trait `ringbuf::storage::Storage` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | unsafe impl<T> Storage for Ref<'_, T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Ref<'_, T>` [INFO] [stderr] ... [INFO] [stderr] 103 | unsafe impl<T, const N: usize> Storage for Array<T, N> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>; N]>` [INFO] [stderr] ... [INFO] [stderr] 121 | unsafe impl<T> Storage for Slice<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>]>` [INFO] [stderr] ... [INFO] [stderr] 143 | unsafe impl<T> Storage for Heap<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Heap<T>` [INFO] [stderr] = note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] = note: required for `async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>` to implement `async_ringbuf::traits::Split` [INFO] [stderr] note: required because it appears within the type `host::RdxUsbFsWritePoller` [INFO] [stderr] --> src/host.rs:207:12 [INFO] [stderr] | [INFO] [stderr] 207 | pub struct RdxUsbFsWritePoller { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: only the last element of a tuple may have a dynamically sized type [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>: ringbuf::storage::Storage` is not satisfied [INFO] [stderr] --> src/host.rs:213:61 [INFO] [stderr] | [INFO] [stderr] 213 | pub fn new(iface: nusb::Interface, n_packets: usize) -> (Self, RdxUsbFsWriter) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `ringbuf::storage::Storage` is not implemented for `ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>` [INFO] [stderr] | [INFO] [stderr] note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected trait [INFO] [stderr] | [INFO] [stderr] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.4.8/src/storage.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub unsafe trait Storage { [INFO] [stderr] | ------------------------ this is the found trait [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] help: the following other types implement trait `ringbuf::storage::Storage` [INFO] [stderr] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ringbuf-0.5.0/src/storage.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | unsafe impl<T> Storage for Ref<'_, T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Ref<'_, T>` [INFO] [stderr] ... [INFO] [stderr] 103 | unsafe impl<T, const N: usize> Storage for Array<T, N> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>; N]>` [INFO] [stderr] ... [INFO] [stderr] 121 | unsafe impl<T> Storage for Slice<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Owning<[std::mem::MaybeUninit<T>]>` [INFO] [stderr] ... [INFO] [stderr] 143 | unsafe impl<T> Storage for Heap<T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ringbuf::storage::Heap<T>` [INFO] [stderr] = note: there are multiple different versions of crate `ringbuf` in the dependency graph [INFO] [stderr] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stderr] = note: required for `async_ringbuf::AsyncRb<ringbuf::storage::Heap<rdxusb_protocol::RdxUsbFsPacket>>` to implement `async_ringbuf::traits::Split` [INFO] [stderr] note: required because it appears within the type `host::RdxUsbFsWritePoller` [INFO] [stderr] --> src/host.rs:207:12 [INFO] [stderr] | [INFO] [stderr] 207 | pub struct RdxUsbFsWritePoller { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: only the last element of a tuple may have a dynamically sized type [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0277`. [INFO] [stderr] error: could not document `rdxusb` [INFO] running `Command { std: "docker" "inspect" "c42641eac9c275fce2d42ef38157c3c69e0ef949c90983795ad5a32fb15b1abf", kill_on_drop: false }`