[INFO] fetching crate pca9535 1.2.0...
[INFO] testing pca9535-1.2.0 against 1.76.0 for beta-1.77-1
[INFO] extracting crate pca9535 1.2.0 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate pca9535 1.2.0 on toolchain 1.76.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-1-tc1/source/.cargo/config.toml
[INFO] started tweaking crates.io crate pca9535 1.2.0
[INFO] finished tweaking crates.io crate pca9535 1.2.0
[INFO] tweaked toml for crates.io crate pca9535 1.2.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded embedded-hal-nb v1.0.0-alpha.1
[INFO] [stderr]   Downloaded rppal v0.14.1
[INFO] [stderr]   Downloaded embedded-hal v1.0.0-alpha.9
[INFO] [stderr]   Downloaded spin_sleep v1.2.0
[INFO] [stderr]   Downloaded shared-bus v0.2.5
[INFO] [stderr]   Downloaded serial_test_derive v0.6.0
[INFO] [stderr]   Downloaded serial_test v0.6.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0d9f7ff88e54daa5517b98c82cbb50863839f7f9e4ef2640fe195b68fba2eeb2
[INFO] running `Command { std: "docker" "start" "-a" "0d9f7ff88e54daa5517b98c82cbb50863839f7f9e4ef2640fe195b68fba2eeb2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0d9f7ff88e54daa5517b98c82cbb50863839f7f9e4ef2640fe195b68fba2eeb2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0d9f7ff88e54daa5517b98c82cbb50863839f7f9e4ef2640fe195b68fba2eeb2", kill_on_drop: false }`
[INFO] [stdout] 0d9f7ff88e54daa5517b98c82cbb50863839f7f9e4ef2640fe195b68fba2eeb2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 33904e2117339620f061c4f5659111ea68e257b6818bf930db8313657b4e2c5b
[INFO] running `Command { std: "docker" "start" "-a" "33904e2117339620f061c4f5659111ea68e257b6818bf930db8313657b4e2c5b", kill_on_drop: false }`
[INFO] [stderr]    Compiling embedded-hal v1.0.0-alpha.9
[INFO] [stderr]    Compiling pca9535 v1.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.38s
[INFO] running `Command { std: "docker" "inspect" "33904e2117339620f061c4f5659111ea68e257b6818bf930db8313657b4e2c5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "33904e2117339620f061c4f5659111ea68e257b6818bf930db8313657b4e2c5b", kill_on_drop: false }`
[INFO] [stdout] 33904e2117339620f061c4f5659111ea68e257b6818bf930db8313657b4e2c5b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 11814ce47e1383bda19599c9812aa56029a7deddd46a3200eeeeafdb67e7e66d
[INFO] running `Command { std: "docker" "start" "-a" "11814ce47e1383bda19599c9812aa56029a7deddd46a3200eeeeafdb67e7e66d", kill_on_drop: false }`
[INFO] [stderr]    Compiling nb v1.1.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling nb v0.1.3
[INFO] [stderr]    Compiling smallvec v1.13.1
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling embedded-hal v0.2.7
[INFO] [stderr]    Compiling embedded-hal-nb v1.0.0-alpha.1
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling spin_sleep v1.2.0
[INFO] [stderr]    Compiling rppal v0.14.1
[INFO] [stderr]    Compiling shared-bus v0.2.5
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling serial_test_derive v0.6.0
[INFO] [stderr]    Compiling serial_test v0.6.0
[INFO] [stderr]    Compiling pca9535 v1.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:233:33
[INFO] [stdout]     |
[INFO] [stdout] 233 |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:240:34
[INFO] [stdout]     |
[INFO] [stdout] 240 |         static ref PCA9535_GPIO: Pca9535Gpio = {
[INFO] [stdout]     |                                  ^^^^^^^^^^^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:221:34
[INFO] [stdout]     |
[INFO] [stdout] 221 |         static ref PCA9535_GPIO: Pca9535Gpio = {
[INFO] [stdout]     |                                  ^^^^^^^^^^^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pca9535` (test "cached") due to 11 previous errors
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pca9535` (test "immediate") due to 11 previous errors
[INFO] running `Command { std: "docker" "inspect" "11814ce47e1383bda19599c9812aa56029a7deddd46a3200eeeeafdb67e7e66d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11814ce47e1383bda19599c9812aa56029a7deddd46a3200eeeeafdb67e7e66d", kill_on_drop: false }`
[INFO] [stdout] 11814ce47e1383bda19599c9812aa56029a7deddd46a3200eeeeafdb67e7e66d
[INFO] testing pca9535-1.2.0 against beta-2024-02-10 for beta-1.77-1
[INFO] extracting crate pca9535 1.2.0 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate pca9535 1.2.0 on toolchain beta-2024-02-10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate pca9535 1.2.0
[INFO] finished tweaking crates.io crate pca9535 1.2.0
[INFO] tweaked toml for crates.io crate pca9535 1.2.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 47febd63f4cc322e77c2cd6db5a84c4418ff77e19fa135ecc2e7b7f75dbaf558
[INFO] running `Command { std: "docker" "start" "-a" "47febd63f4cc322e77c2cd6db5a84c4418ff77e19fa135ecc2e7b7f75dbaf558", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "47febd63f4cc322e77c2cd6db5a84c4418ff77e19fa135ecc2e7b7f75dbaf558", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "47febd63f4cc322e77c2cd6db5a84c4418ff77e19fa135ecc2e7b7f75dbaf558", kill_on_drop: false }`
[INFO] [stdout] 47febd63f4cc322e77c2cd6db5a84c4418ff77e19fa135ecc2e7b7f75dbaf558
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 11d13ee0aaf74a7cbad8dc307bc76a753d177b2155f7c76f7b607acd9b86dc47
[INFO] running `Command { std: "docker" "start" "-a" "11d13ee0aaf74a7cbad8dc307bc76a753d177b2155f7c76f7b607acd9b86dc47", kill_on_drop: false }`
[INFO] [stderr]    Compiling embedded-hal v1.0.0-alpha.9
[INFO] [stderr]    Compiling pca9535 v1.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.30s
[INFO] running `Command { std: "docker" "inspect" "11d13ee0aaf74a7cbad8dc307bc76a753d177b2155f7c76f7b607acd9b86dc47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11d13ee0aaf74a7cbad8dc307bc76a753d177b2155f7c76f7b607acd9b86dc47", kill_on_drop: false }`
[INFO] [stdout] 11d13ee0aaf74a7cbad8dc307bc76a753d177b2155f7c76f7b607acd9b86dc47
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5983ce8f937b1c2d997eea207ab2b9a074cfe4d910aa3c884910c8fda5ebeba5
[INFO] running `Command { std: "docker" "start" "-a" "5983ce8f937b1c2d997eea207ab2b9a074cfe4d910aa3c884910c8fda5ebeba5", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling nb v1.1.0
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling smallvec v1.13.1
[INFO] [stderr]    Compiling nb v0.1.3
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling embedded-hal v0.2.7
[INFO] [stderr]    Compiling embedded-hal-nb v1.0.0-alpha.1
[INFO] [stderr]    Compiling spin_sleep v1.2.0
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling rppal v0.14.1
[INFO] [stderr]    Compiling shared-bus v0.2.5
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling serial_test_derive v0.6.0
[INFO] [stderr]    Compiling serial_test v0.6.0
[INFO] [stderr]    Compiling pca9535 v1.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:215:33
[INFO] [stdout]     |
[INFO] [stdout] 215 |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:221:34
[INFO] [stdout]     |
[INFO] [stdout] 221 |         static ref PCA9535_GPIO: Pca9535Gpio = {
[INFO] [stdout]     |                                  ^^^^^^^^^^^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:233:33
[INFO] [stdout]     |
[INFO] [stdout] 233 |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:240:34
[INFO] [stdout]     |
[INFO] [stdout] 240 |         static ref PCA9535_GPIO: Pca9535Gpio = {
[INFO] [stdout]     |                                  ^^^^^^^^^^^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>: ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not satisfied
[INFO] [stdout]    --> tests/immediate.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     lazy_static! {
[INFO] [stdout] 215 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, ImmediateExpander, Mutex<ImmediateExpander>> = {
[INFO] [stdout] 216 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 217 | |             let expander = Pca9535Immediate::new(i2c_bus.acquire_i2c(), ADDR);
[INFO] [stdout] ...   |
[INFO] [stdout] 232 | |         };
[INFO] [stdout] 233 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>` is not implemented for `Mutex<Pca9535Immediate<I2cProxy<'static, Mutex<rppal::i2c::I2c>>>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>: ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not satisfied
[INFO] [stdout]    --> tests/cached.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 | /     lazy_static! {
[INFO] [stdout] 233 | |         static ref IO_EXPANDER: IoExpander<ShareableI2c, CachedExpander, Mutex<CachedExpander>> = {
[INFO] [stdout] 234 | |             let i2c_bus = *I2C_BUS.lock().unwrap();
[INFO] [stdout] 235 | |             let expander =
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         };
[INFO] [stdout] 252 | |     }
[INFO] [stdout]     | |_____^ the trait `ExpanderMutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>` is not implemented for `Mutex<Pca9535Cached<I2cProxy<'static, Mutex<rppal::i2c::I2c>>, &'static rppal::gpio::InputPin>>`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `IoExpander`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/expander/io.rs:16:9
[INFO] [stdout]     |
[INFO] [stdout] 12  | pub struct IoExpander<I2C, Ex, Em>
[INFO] [stdout]     |            ---------- required by a bound in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16  |     Em: ExpanderMutex<Ex>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ required by this bound in `IoExpander`
[INFO] [stdout]     = note: this error originates in the macro `__lazy_static_internal` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pca9535` (test "immediate") due to 11 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `pca9535` (test "cached") due to 11 previous errors
[INFO] running `Command { std: "docker" "inspect" "5983ce8f937b1c2d997eea207ab2b9a074cfe4d910aa3c884910c8fda5ebeba5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5983ce8f937b1c2d997eea207ab2b9a074cfe4d910aa3c884910c8fda5ebeba5", kill_on_drop: false }`
[INFO] [stdout] 5983ce8f937b1c2d997eea207ab2b9a074cfe4d910aa3c884910c8fda5ebeba5
