[INFO] fetching crate sh1108 0.2.0... [INFO] testing sh1108-0.2.0 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate sh1108 0.2.0 into /workspace/builds/worker-7-tc1/source [INFO] removed /workspace/builds/worker-7-tc1/source/.cargo/config [INFO] started tweaking crates.io crate sh1108 0.2.0 [INFO] finished tweaking crates.io crate sh1108 0.2.0 [INFO] tweaked toml for crates.io crate sh1108 0.2.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate sh1108 0.2.0 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate sh1108 0.2.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded stm32-usbd v0.6.0 [INFO] [stderr] Downloaded bxcan v0.7.0 [INFO] [stderr] Downloaded display-interface-i2c v0.5.0 [INFO] [stderr] Downloaded profont v0.7.0 [INFO] [stderr] Downloaded display-interface-spi v0.5.0 [INFO] [stderr] Downloaded display-interface v0.5.0 [INFO] [stderr] Downloaded cortex-m-semihosting v0.5.0 [INFO] [stderr] Downloaded usb-device v0.2.9 [INFO] [stderr] Downloaded panic-semihosting v0.6.0 [INFO] [stderr] Downloaded fugit-timer v0.1.3 [INFO] [stderr] Downloaded volatile-register v0.2.0 [INFO] [stderr] Downloaded stm32f1xx-hal v0.10.0 [INFO] [stderr] Downloaded stm32f1 v0.15.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e4781988418d5f2fe06c87a84eee3fc05970ddf4f0ff6addd2a1745d92df4efe [INFO] running `Command { std: "docker" "start" "-a" "e4781988418d5f2fe06c87a84eee3fc05970ddf4f0ff6addd2a1745d92df4efe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e4781988418d5f2fe06c87a84eee3fc05970ddf4f0ff6addd2a1745d92df4efe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e4781988418d5f2fe06c87a84eee3fc05970ddf4f0ff6addd2a1745d92df4efe", kill_on_drop: false }` [INFO] [stdout] e4781988418d5f2fe06c87a84eee3fc05970ddf4f0ff6addd2a1745d92df4efe [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 8cd8df1bace0c41ceeef338733746b087999f86160e90796406eb9a3db113b41 [INFO] running `Command { std: "docker" "start" "-a" "8cd8df1bace0c41ceeef338733746b087999f86160e90796406eb9a3db113b41", kill_on_drop: false }` [INFO] [stderr] Compiling az v1.2.1 [INFO] [stderr] Compiling sh1108 v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling display-interface v0.5.0 [INFO] [stderr] Compiling embedded-hal v1.0.0 [INFO] [stderr] Compiling embedded-graphics-core v0.4.0 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.84s [INFO] running `Command { std: "docker" "inspect" "8cd8df1bace0c41ceeef338733746b087999f86160e90796406eb9a3db113b41", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8cd8df1bace0c41ceeef338733746b087999f86160e90796406eb9a3db113b41", kill_on_drop: false }` [INFO] [stdout] 8cd8df1bace0c41ceeef338733746b087999f86160e90796406eb9a3db113b41 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 66db4ae67e07034b98e22c24d6edb0a31585862d6470b32c049a344fbcd62771 [INFO] running `Command { std: "docker" "start" "-a" "66db4ae67e07034b98e22c24d6edb0a31585862d6470b32c049a344fbcd62771", kill_on_drop: false }` [INFO] [stderr] Compiling cortex-m v0.7.7 [INFO] [stderr] Compiling nb v1.0.0 [INFO] [stderr] Compiling vcell v0.1.3 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.48 [INFO] [stderr] Compiling bare-metal v0.2.5 [INFO] [stderr] Compiling volatile-register v0.2.0 [INFO] [stderr] Compiling bitfield v0.13.2 [INFO] [stderr] Compiling nb v0.1.3 [INFO] [stderr] Compiling cortex-m-rt v0.7.3 [INFO] [stderr] Compiling embedded-hal v0.2.7 [INFO] [stderr] Compiling embedded-hal-async v1.0.0 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling stm32-usbd v0.6.0 [INFO] [stderr] Compiling stm32f1 v0.15.1 [INFO] [stderr] Compiling cortex-m-semihosting v0.5.0 [INFO] [stderr] Compiling gcd v2.3.0 [INFO] [stderr] Compiling fugit v0.3.7 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling micromath v2.1.0 [INFO] [stderr] Compiling bare-metal v1.0.0 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling usb-device v0.2.9 [INFO] [stderr] Compiling bxcan v0.7.0 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling embedded-dma v0.2.0 [INFO] [stderr] Compiling byte-slice-cast v1.2.2 [INFO] [stderr] Compiling fugit-timer v0.1.3 [INFO] [stderr] Compiling display-interface-spi v0.5.0 [INFO] [stderr] Compiling display-interface-i2c v0.5.0 [INFO] [stderr] Compiling panic-semihosting v0.6.0 [INFO] [stderr] Compiling float-cmp v0.9.0 [INFO] [stderr] Compiling embedded-graphics v0.8.1 [INFO] [stderr] Compiling profont v0.7.0 [INFO] [stderr] Compiling cortex-m-rt-macros v0.7.0 [INFO] [stderr] Compiling stm32f1xx-hal v0.10.0 [INFO] [stderr] Compiling sh1108 v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:67:60 [INFO] [stdout] | [INFO] [stdout] 67 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ------- ^^^^^^^^^^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/pixelsquare.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 24 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `Builder::connect` [INFO] [stdout] --> /opt/rustwide/workdir/src/builder.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn connect(self, interface: DI) -> DisplayMode> [INFO] [stdout] | ------- required by a bound in this associated function [INFO] [stdout] 98 | where [INFO] [stdout] 99 | DI: display_interface::WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Builder::connect` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/pixelsquare-c75291e2546ad559.long-type-3010790207405720697.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:67:75 [INFO] [stdout] | [INFO] [stdout] 67 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/pixelsquare.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 24 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `RawMode, ...)>>>` to implement `DisplayModeTrait>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ---- required by a bound in this associated function [INFO] [stdout] ... [INFO] [stdout] 34 | MODE: DisplayModeTrait, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/pixelsquare-c75291e2546ad559.long-type-3010790207405720697.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:67:75 [INFO] [stdout] | [INFO] [stdout] 67 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/pixelsquare.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 24 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...)>>>` to implement `DisplayModeTrait>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/pixelsquare-c75291e2546ad559.long-type-3010790207405720697.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:67:19 [INFO] [stdout] | [INFO] [stdout] 67 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/pixelsquare.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 24 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `sh1108::mode::GraphicsMode` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/graphics.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct GraphicsMode [INFO] [stdout] | ------------ required by a bound in this struct [INFO] [stdout] 30 | where [INFO] [stdout] 31 | DI: WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `GraphicsMode` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/pixelsquare-c75291e2546ad559.long-type-3010790207405720697.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/image.rs:72:60 [INFO] [stdout] | [INFO] [stdout] 72 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ------- ^^^^^^^^^^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `Builder::connect` [INFO] [stdout] --> /opt/rustwide/workdir/src/builder.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn connect(self, interface: DI) -> DisplayMode> [INFO] [stdout] | ------- required by a bound in this associated function [INFO] [stdout] 98 | where [INFO] [stdout] 99 | DI: display_interface::WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Builder::connect` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image-441f5537f2dbac44.long-type-9521951448907171504.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/image.rs:72:75 [INFO] [stdout] | [INFO] [stdout] 72 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `RawMode, ...)>>>` to implement `DisplayModeTrait>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ---- required by a bound in this associated function [INFO] [stdout] ... [INFO] [stdout] 34 | MODE: DisplayModeTrait, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image-441f5537f2dbac44.long-type-9521951448907171504.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/image.rs:72:75 [INFO] [stdout] | [INFO] [stdout] 72 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...)>>>` to implement `DisplayModeTrait>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image-441f5537f2dbac44.long-type-9521951448907171504.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `reset` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | disp.reset(&mut res, &mut delay).unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/image.rs:72:19 [INFO] [stdout] | [INFO] [stdout] 72 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `sh1108::mode::GraphicsMode` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/graphics.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct GraphicsMode [INFO] [stdout] | ------------ required by a bound in this struct [INFO] [stdout] 30 | where [INFO] [stdout] 31 | DI: WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `GraphicsMode` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image-441f5537f2dbac44.long-type-9521951448907171504.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/graphics.rs:72:60 [INFO] [stdout] | [INFO] [stdout] 72 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ------- ^^^^^^^^^^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/graphics.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `Builder::connect` [INFO] [stdout] --> /opt/rustwide/workdir/src/builder.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn connect(self, interface: DI) -> DisplayMode> [INFO] [stdout] | ------- required by a bound in this associated function [INFO] [stdout] 98 | where [INFO] [stdout] 99 | DI: display_interface::WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Builder::connect` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/graphics-099ecd3adce56788.long-type-1604097044615588985.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `init` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:71:10 [INFO] [stdout] | [INFO] [stdout] 71 | disp.init().unwrap(); [INFO] [stdout] | ^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/graphics.rs:72:75 [INFO] [stdout] | [INFO] [stdout] 72 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/graphics.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `RawMode, ...)>>>` to implement `DisplayModeTrait>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ---- required by a bound in this associated function [INFO] [stdout] ... [INFO] [stdout] 34 | MODE: DisplayModeTrait, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/graphics-099ecd3adce56788.long-type-1604097044615588985.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/graphics.rs:72:75 [INFO] [stdout] | [INFO] [stdout] 72 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/graphics.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...)>>>` to implement `DisplayModeTrait>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/graphics-099ecd3adce56788.long-type-1604097044615588985.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `reset` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/image.rs:74:10 [INFO] [stdout] | [INFO] [stdout] 74 | disp.reset(&mut res, &mut delay).unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `flush` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:72:10 [INFO] [stdout] | [INFO] [stdout] 72 | disp.flush().unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/rotation.rs:75:18 [INFO] [stdout] | [INFO] [stdout] 75 | .connect(i2c_interface) [INFO] [stdout] | ------- ^^^^^^^^^^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/rotation.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `Builder::connect` [INFO] [stdout] --> /opt/rustwide/workdir/src/builder.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn connect(self, interface: DI) -> DisplayMode> [INFO] [stdout] | ------- required by a bound in this associated function [INFO] [stdout] 98 | where [INFO] [stdout] 99 | DI: display_interface::WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Builder::connect` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/rotation-8b36b78b5b0ba67a.long-type-5785872104035392570.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/rotation.rs:76:10 [INFO] [stdout] | [INFO] [stdout] 76 | .into(); [INFO] [stdout] | ^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/rotation.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `RawMode, ...)>>>` to implement `DisplayModeTrait>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ---- required by a bound in this associated function [INFO] [stdout] ... [INFO] [stdout] 34 | MODE: DisplayModeTrait, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/rotation-8b36b78b5b0ba67a.long-type-5785872104035392570.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/rotation.rs:76:10 [INFO] [stdout] | [INFO] [stdout] 76 | .into(); [INFO] [stdout] | ^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/rotation.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...)>>>` to implement `DisplayModeTrait>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/rotation-8b36b78b5b0ba67a.long-type-5785872104035392570.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/rotation.rs:72:19 [INFO] [stdout] | [INFO] [stdout] 72 | let mut disp: GraphicsMode<_> = Builder::new() [INFO] [stdout] | ^^^^^^^^^^^^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/rotation.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `sh1108::mode::GraphicsMode` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/graphics.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct GraphicsMode [INFO] [stdout] | ------------ required by a bound in this struct [INFO] [stdout] 30 | where [INFO] [stdout] 31 | DI: WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `GraphicsMode` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/rotation-8b36b78b5b0ba67a.long-type-5785872104035392570.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:75:10 [INFO] [stdout] | [INFO] [stdout] 75 | disp.set_pixel(0, 0, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `init` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/image.rs:76:10 [INFO] [stdout] | [INFO] [stdout] 76 | disp.init().unwrap(); [INFO] [stdout] | ^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/text.rs:74:60 [INFO] [stdout] | [INFO] [stdout] 74 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ------- ^^^^^^^^^^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/text.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 31 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `Builder::connect` [INFO] [stdout] --> /opt/rustwide/workdir/src/builder.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn connect(self, interface: DI) -> DisplayMode> [INFO] [stdout] | ------- required by a bound in this associated function [INFO] [stdout] 98 | where [INFO] [stdout] 99 | DI: display_interface::WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Builder::connect` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/text-d02c4527799001db.long-type-5351265557172929081.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `flush` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/image.rs:77:10 [INFO] [stdout] | [INFO] [stdout] 77 | disp.flush().unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `reset` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/rotation.rs:78:10 [INFO] [stdout] | [INFO] [stdout] 78 | disp.reset(&mut res, &mut delay).unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/graphics.rs:72:19 [INFO] [stdout] | [INFO] [stdout] 72 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/graphics.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `sh1108::mode::GraphicsMode` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/graphics.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct GraphicsMode [INFO] [stdout] | ------------ required by a bound in this struct [INFO] [stdout] 30 | where [INFO] [stdout] 31 | DI: WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `GraphicsMode` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/graphics-099ecd3adce56788.long-type-1604097044615588985.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/text.rs:74:75 [INFO] [stdout] | [INFO] [stdout] 74 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/text.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 31 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `RawMode, ...)>>>` to implement `DisplayModeTrait>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ---- required by a bound in this associated function [INFO] [stdout] ... [INFO] [stdout] 34 | MODE: DisplayModeTrait, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/text-d02c4527799001db.long-type-5351265557172929081.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/text.rs:74:75 [INFO] [stdout] | [INFO] [stdout] 74 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/text.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 31 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...)>>>` to implement `DisplayModeTrait>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/text-d02c4527799001db.long-type-5351265557172929081.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/image.rs:81:40 [INFO] [stdout] | [INFO] [stdout] 81 | Image::new(&im, Point::new(32, 0)).draw(&mut disp).unwrap(); [INFO] [stdout] | ^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...)>>>` to implement `DrawTarget` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image-441f5537f2dbac44.long-type-9521951448907171504.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:76:10 [INFO] [stdout] | [INFO] [stdout] 76 | disp.set_pixel(1, 0, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `init` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/rotation.rs:80:10 [INFO] [stdout] | [INFO] [stdout] 80 | disp.init().unwrap(); [INFO] [stdout] | ^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/text.rs:74:19 [INFO] [stdout] | [INFO] [stdout] 74 | let mut disp: GraphicsMode<_> = Builder::new().connect(i2c_interface).into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/text.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 31 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `sh1108::mode::GraphicsMode` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/graphics.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct GraphicsMode [INFO] [stdout] | ------------ required by a bound in this struct [INFO] [stdout] 30 | where [INFO] [stdout] 31 | DI: WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `GraphicsMode` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/text-d02c4527799001db.long-type-5351265557172929081.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:77:10 [INFO] [stdout] | [INFO] [stdout] 77 | disp.set_pixel(2, 0, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:78:10 [INFO] [stdout] | [INFO] [stdout] 78 | disp.set_pixel(3, 0, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `reset` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/graphics.rs:74:10 [INFO] [stdout] | [INFO] [stdout] 74 | disp.reset(&mut res, &mut delay).unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `flush` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/rotation.rs:81:10 [INFO] [stdout] | [INFO] [stdout] 81 | disp.flush().unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `flush` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/image.rs:83:10 [INFO] [stdout] | [INFO] [stdout] 83 | disp.flush().unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:81:10 [INFO] [stdout] | [INFO] [stdout] 81 | disp.set_pixel(3, 0, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `set_rotation` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/rotation.rs:85:10 [INFO] [stdout] | [INFO] [stdout] 85 | disp.set_rotation(DisplayRotation::Rotate270).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `get_dimensions` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/rotation.rs:87:23 [INFO] [stdout] | [INFO] [stdout] 87 | let (w, h) = disp.get_dimensions(); [INFO] [stdout] | ^^^^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:82:10 [INFO] [stdout] | [INFO] [stdout] 82 | disp.set_pixel(3, 1, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> examples/image_spi.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 57 | let spi = Spi::spi1( [INFO] [stdout] | --------- arguments to this function are incorrect [INFO] [stdout] ... [INFO] [stdout] 61 | spi::MODE_0, [INFO] [stdout] | ^^^^^^^^^^^ expected `stm32f1xx_hal::spi::Mode`, found `embedded_hal::spi::Mode` [INFO] [stdout] | [INFO] [stdout] note: two different versions of crate `embedded_hal` are being used; two types coming from two different versions of the same crate are different types even if they look the same [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/spi.rs:202:1 [INFO] [stdout] | [INFO] [stdout] 202 | pub struct Mode { [INFO] [stdout] | ^^^^^^^^^^^^^^^ this is the found type `embedded_hal::spi::Mode` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/spi.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct Mode { [INFO] [stdout] | ^^^^^^^^^^^^^^^ this is the expected type `stm32f1xx_hal::spi::Mode` [INFO] [stdout] | [INFO] [stdout] ::: examples/image_spi.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 32 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn spi1( [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 2 arguments but 3 arguments were supplied [INFO] [stdout] --> examples/image_spi.rs:66:25 [INFO] [stdout] | [INFO] [stdout] 66 | let spi_interface = SPIInterface::new(spi, dc, cs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ -- unexpected argument #3 of type `stm32f1xx_hal::gpio::Pin<'A', 1, stm32f1xx_hal::gpio::Output>` [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-spi-0.5.0/src/lib.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn new(spi: SPI, dc: DC) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] help: remove the extra argument [INFO] [stdout] | [INFO] [stdout] 66 - let spi_interface = SPIInterface::new(spi, dc, cs); [INFO] [stdout] 66 + let spi_interface = SPIInterface::new(spi, dc); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `init` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/graphics.rs:76:10 [INFO] [stdout] | [INFO] [stdout] 76 | disp.init().unwrap(); [INFO] [stdout] | ^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> examples/demo.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 53 | let spi = Spi::spi1( [INFO] [stdout] | --------- arguments to this function are incorrect [INFO] [stdout] ... [INFO] [stdout] 57 | spi::MODE_0, [INFO] [stdout] | ^^^^^^^^^^^ expected `stm32f1xx_hal::spi::Mode`, found `embedded_hal::spi::Mode` [INFO] [stdout] | [INFO] [stdout] note: two different versions of crate `embedded_hal` are being used; two types coming from two different versions of the same crate are different types even if they look the same [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/spi.rs:202:1 [INFO] [stdout] | [INFO] [stdout] 202 | pub struct Mode { [INFO] [stdout] | ^^^^^^^^^^^^^^^ this is the found type `embedded_hal::spi::Mode` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/spi.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct Mode { [INFO] [stdout] | ^^^^^^^^^^^^^^^ this is the expected type `stm32f1xx_hal::spi::Mode` [INFO] [stdout] | [INFO] [stdout] ::: examples/demo.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 28 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn spi1( [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `reset` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/text.rs:76:10 [INFO] [stdout] | [INFO] [stdout] 76 | disp.reset(&mut res, &mut delay).unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Spi, ..., ...), u8>: SpiDevice` is not satisfied [INFO] [stdout] --> examples/demo.rs:64:60 [INFO] [stdout] | [INFO] [stdout] 64 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ------- ^^^^^^^^^^^^^ the trait `SpiDevice` is not implemented for `Spi, Pin<'A', 6>, ...), u8>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/spi.rs:347:1 [INFO] [stdout] | [INFO] [stdout] 347 | pub trait SpiDevice: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/demo.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 28 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `Builder::connect` [INFO] [stdout] --> /opt/rustwide/workdir/src/builder.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn connect(self, interface: DI) -> DisplayMode> [INFO] [stdout] | ------- required by a bound in this associated function [INFO] [stdout] 98 | where [INFO] [stdout] 99 | DI: display_interface::WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Builder::connect` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/demo-4cf9a3b2a96592a6.long-type-6094056293164625039.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` is not satisfied [INFO] [stdout] --> examples/demo.rs:64:60 [INFO] [stdout] | [INFO] [stdout] 64 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ------- ^^^^^^^^^^^^^ the trait `OutputPin` is not implemented for `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/digital.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | pub trait OutputPin: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/demo.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 28 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `Builder::connect` [INFO] [stdout] --> /opt/rustwide/workdir/src/builder.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn connect(self, interface: DI) -> DisplayMode> [INFO] [stdout] | ------- required by a bound in this associated function [INFO] [stdout] 98 | where [INFO] [stdout] 99 | DI: display_interface::WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Builder::connect` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/demo-4cf9a3b2a96592a6.long-type-10584095557600143558.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Spi, ..., ...), u8>: SpiDevice` is not satisfied [INFO] [stdout] --> examples/demo.rs:64:75 [INFO] [stdout] | [INFO] [stdout] 64 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ^^^^ the trait `SpiDevice` is not implemented for `Spi, Pin<'A', 6>, ...), u8>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/spi.rs:347:1 [INFO] [stdout] | [INFO] [stdout] 347 | pub trait SpiDevice: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/demo.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 28 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `RawMode, ...>>` to implement `DisplayModeTrait, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ---- required by a bound in this associated function [INFO] [stdout] ... [INFO] [stdout] 34 | MODE: DisplayModeTrait, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/demo-4cf9a3b2a96592a6.long-type-6094056293164625039.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Spi, ..., ...), u8>: SpiDevice` is not satisfied [INFO] [stdout] --> examples/image_spi.rs:71:60 [INFO] [stdout] | [INFO] [stdout] 71 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ------- ^^^^^^^^^^^^^ the trait `SpiDevice` is not implemented for `Spi, Pin<'A', 6>, ...), u8>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/spi.rs:347:1 [INFO] [stdout] | [INFO] [stdout] 347 | pub trait SpiDevice: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image_spi.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 32 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `Builder::connect` [INFO] [stdout] --> /opt/rustwide/workdir/src/builder.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn connect(self, interface: DI) -> DisplayMode> [INFO] [stdout] | ------- required by a bound in this associated function [INFO] [stdout] 98 | where [INFO] [stdout] 99 | DI: display_interface::WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Builder::connect` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image_spi-9b13a223bd394830.long-type-6853271681476095053.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `sh1108` (example "image") due to 9 previous errors [INFO] [stdout] error[E0599]: the method `init` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/text.rs:78:10 [INFO] [stdout] | [INFO] [stdout] 78 | disp.init().unwrap(); [INFO] [stdout] | ^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:83:10 [INFO] [stdout] | [INFO] [stdout] 83 | disp.set_pixel(3, 2, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:84:10 [INFO] [stdout] | [INFO] [stdout] 84 | disp.set_pixel(3, 3, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/rotation.rs:95:6 [INFO] [stdout] | [INFO] [stdout] 95 | .draw(&mut disp) [INFO] [stdout] | ^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/rotation.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...)>>>` to implement `DrawTarget` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/rotation-8b36b78b5b0ba67a.long-type-5785872104035392570.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `flush` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/rotation.rs:98:10 [INFO] [stdout] | [INFO] [stdout] 98 | disp.flush().unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `flush` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/graphics.rs:77:10 [INFO] [stdout] | [INFO] [stdout] 77 | disp.flush().unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `flush` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/text.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | disp.flush().unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` is not satisfied [INFO] [stdout] --> examples/demo.rs:64:75 [INFO] [stdout] | [INFO] [stdout] 64 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ^^^^ the trait `OutputPin` is not implemented for `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/digital.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | pub trait OutputPin: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/demo.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 28 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `RawMode, ...>>` to implement `DisplayModeTrait, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ---- required by a bound in this associated function [INFO] [stdout] ... [INFO] [stdout] 34 | MODE: DisplayModeTrait, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/demo-4cf9a3b2a96592a6.long-type-10584095557600143558.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Spi, ..., ...), u8>: SpiDevice` is not satisfied [INFO] [stdout] --> examples/demo.rs:64:75 [INFO] [stdout] | [INFO] [stdout] 64 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ^^^^ the trait `SpiDevice` is not implemented for `Spi, Pin<'A', 6>, ...), u8>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/spi.rs:347:1 [INFO] [stdout] | [INFO] [stdout] 347 | pub trait SpiDevice: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/demo.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 28 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...>>` to implement `DisplayModeTrait, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/demo-4cf9a3b2a96592a6.long-type-6094056293164625039.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` is not satisfied [INFO] [stdout] --> examples/demo.rs:64:75 [INFO] [stdout] | [INFO] [stdout] 64 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ^^^^ the trait `OutputPin` is not implemented for `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/digital.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | pub trait OutputPin: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/demo.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 28 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...>>` to implement `DisplayModeTrait, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/demo-4cf9a3b2a96592a6.long-type-10584095557600143558.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `sh1108` (example "rotation") due to 11 previous errors [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:87:10 [INFO] [stdout] | [INFO] [stdout] 87 | disp.set_pixel(0, 3, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/graphics.rs:81:10 [INFO] [stdout] | [INFO] [stdout] 81 | .draw(&mut disp) [INFO] [stdout] | ^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/graphics.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 29 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...)>>>` to implement `DrawTarget` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/graphics-099ecd3adce56788.long-type-1604097044615588985.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` is not satisfied [INFO] [stdout] --> examples/image_spi.rs:71:60 [INFO] [stdout] | [INFO] [stdout] 71 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ------- ^^^^^^^^^^^^^ the trait `OutputPin` is not implemented for `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/digital.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | pub trait OutputPin: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image_spi.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 32 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `Builder::connect` [INFO] [stdout] --> /opt/rustwide/workdir/src/builder.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn connect(self, interface: DI) -> DisplayMode> [INFO] [stdout] | ------- required by a bound in this associated function [INFO] [stdout] 98 | where [INFO] [stdout] 99 | DI: display_interface::WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Builder::connect` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image_spi-9b13a223bd394830.long-type-9030125735124705647.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Spi, ..., ...), u8>: SpiDevice` is not satisfied [INFO] [stdout] --> examples/image_spi.rs:71:75 [INFO] [stdout] | [INFO] [stdout] 71 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ^^^^ the trait `SpiDevice` is not implemented for `Spi, Pin<'A', 6>, ...), u8>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/spi.rs:347:1 [INFO] [stdout] | [INFO] [stdout] 347 | pub trait SpiDevice: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image_spi.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 32 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `RawMode, ...>>` to implement `DisplayModeTrait, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ---- required by a bound in this associated function [INFO] [stdout] ... [INFO] [stdout] 34 | MODE: DisplayModeTrait, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image_spi-9b13a223bd394830.long-type-6853271681476095053.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` is not satisfied [INFO] [stdout] --> examples/image_spi.rs:71:75 [INFO] [stdout] | [INFO] [stdout] 71 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ^^^^ the trait `OutputPin` is not implemented for `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/digital.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | pub trait OutputPin: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image_spi.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 32 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `RawMode, ...>>` to implement `DisplayModeTrait, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ---- required by a bound in this associated function [INFO] [stdout] ... [INFO] [stdout] 34 | MODE: DisplayModeTrait, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image_spi-9b13a223bd394830.long-type-9030125735124705647.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Spi, ..., ...), u8>: SpiDevice` is not satisfied [INFO] [stdout] --> examples/image_spi.rs:71:75 [INFO] [stdout] | [INFO] [stdout] 71 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ^^^^ the trait `SpiDevice` is not implemented for `Spi, Pin<'A', 6>, ...), u8>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/spi.rs:347:1 [INFO] [stdout] | [INFO] [stdout] 347 | pub trait SpiDevice: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image_spi.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 32 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...>>` to implement `DisplayModeTrait, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image_spi-9b13a223bd394830.long-type-6853271681476095053.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlockingI2c>, ...)>: I2c` is not satisfied [INFO] [stdout] --> examples/text.rs:87:10 [INFO] [stdout] | [INFO] [stdout] 87 | .draw(&mut disp) [INFO] [stdout] | ^^^^ the trait `embedded_hal::i2c::I2c` is not implemented for `BlockingI2c>, ...)>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/i2c.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | pub trait I2c: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/text.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use display_interface_i2c::I2CInterface; [INFO] [stdout] | --------------------- one version of crate `embedded_hal` used here, as a dependency of crate `embedded_hal_async` [INFO] [stdout] ... [INFO] [stdout] 31 | use stm32f1xx_hal::{ [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `I2CInterface>, ...)>>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...)>>>` to implement `DrawTarget` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/text-d02c4527799001db.long-type-5351265557172929081.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` is not satisfied [INFO] [stdout] --> examples/image_spi.rs:71:75 [INFO] [stdout] | [INFO] [stdout] 71 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ^^^^ the trait `OutputPin` is not implemented for `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/digital.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | pub trait OutputPin: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image_spi.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 32 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...>>` to implement `DisplayModeTrait, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>>` [INFO] [stdout] note: required by a bound in `DisplayMode::::into` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/displaymode.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn into>(self) -> NMODE [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `DisplayMode::::into` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image_spi-9b13a223bd394830.long-type-9030125735124705647.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Spi, ..., ...), u8>: SpiDevice` is not satisfied [INFO] [stdout] --> examples/image_spi.rs:71:19 [INFO] [stdout] | [INFO] [stdout] 71 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ the trait `SpiDevice` is not implemented for `Spi, Pin<'A', 6>, ...), u8>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/spi.rs:347:1 [INFO] [stdout] | [INFO] [stdout] 347 | pub trait SpiDevice: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image_spi.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 32 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `sh1108::mode::GraphicsMode` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/graphics.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct GraphicsMode [INFO] [stdout] | ------------ required by a bound in this struct [INFO] [stdout] 30 | where [INFO] [stdout] 31 | DI: WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `GraphicsMode` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image_spi-9b13a223bd394830.long-type-6853271681476095053.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` is not satisfied [INFO] [stdout] --> examples/image_spi.rs:71:19 [INFO] [stdout] | [INFO] [stdout] 71 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ the trait `OutputPin` is not implemented for `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/digital.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | pub trait OutputPin: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image_spi.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 32 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `sh1108::mode::GraphicsMode` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/graphics.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct GraphicsMode [INFO] [stdout] | ------------ required by a bound in this struct [INFO] [stdout] 30 | where [INFO] [stdout] 31 | DI: WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `GraphicsMode` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image_spi-9b13a223bd394830.long-type-9030125735124705647.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `flush` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/graphics.rs:104:10 [INFO] [stdout] | [INFO] [stdout] 104 | disp.flush().unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Spi, ..., ...), u8>: SpiDevice` is not satisfied [INFO] [stdout] --> examples/demo.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ the trait `SpiDevice` is not implemented for `Spi, Pin<'A', 6>, ...), u8>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/spi.rs:347:1 [INFO] [stdout] | [INFO] [stdout] 347 | pub trait SpiDevice: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/demo.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 28 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `sh1108::mode::GraphicsMode` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/graphics.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct GraphicsMode [INFO] [stdout] | ------------ required by a bound in this struct [INFO] [stdout] 30 | where [INFO] [stdout] 31 | DI: WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `GraphicsMode` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/demo-4cf9a3b2a96592a6.long-type-6094056293164625039.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` is not satisfied [INFO] [stdout] --> examples/demo.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | let mut disp: GraphicsMode<_> = Builder::new().connect(spi_interface).into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ the trait `OutputPin` is not implemented for `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/digital.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | pub trait OutputPin: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/demo.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 28 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] note: required by a bound in `sh1108::mode::GraphicsMode` [INFO] [stdout] --> /opt/rustwide/workdir/src/mode/graphics.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct GraphicsMode [INFO] [stdout] | ------------ required by a bound in this struct [INFO] [stdout] 30 | where [INFO] [stdout] 31 | DI: WriteOnlyDataCommand, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ required by this bound in `GraphicsMode` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/demo-4cf9a3b2a96592a6.long-type-10584095557600143558.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:88:10 [INFO] [stdout] | [INFO] [stdout] 88 | disp.set_pixel(1, 3, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `flush` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/text.rs:94:10 [INFO] [stdout] | [INFO] [stdout] 94 | disp.flush().unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `reset` exists for struct `GraphicsMode, ...>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/demo.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | disp.reset(&mut res, &mut delay).unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-spi-0.5.0/src/lib.rs:111:1 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct SPIInterface { [INFO] [stdout] | -------------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ doesn't satisfy `_: OutputPin` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- doesn't satisfy `_: SpiDevice` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Spi, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>: SpiDevice` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:89:10 [INFO] [stdout] | [INFO] [stdout] 89 | disp.set_pixel(2, 3, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `reset` exists for struct `GraphicsMode, ...>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/image_spi.rs:73:10 [INFO] [stdout] | [INFO] [stdout] 73 | disp.reset(&mut res, &mut delay).unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-spi-0.5.0/src/lib.rs:111:1 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct SPIInterface { [INFO] [stdout] | -------------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ doesn't satisfy `_: OutputPin` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- doesn't satisfy `_: SpiDevice` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Spi, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>: SpiDevice` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `init` exists for struct `GraphicsMode, ...>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/demo.rs:68:10 [INFO] [stdout] | [INFO] [stdout] 68 | disp.init().unwrap(); [INFO] [stdout] | ^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-spi-0.5.0/src/lib.rs:111:1 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct SPIInterface { [INFO] [stdout] | -------------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ doesn't satisfy `_: OutputPin` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- doesn't satisfy `_: SpiDevice` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Spi, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>: SpiDevice` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:90:10 [INFO] [stdout] | [INFO] [stdout] 90 | disp.set_pixel(3, 3, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `init` exists for struct `GraphicsMode, ...>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/image_spi.rs:75:10 [INFO] [stdout] | [INFO] [stdout] 75 | disp.init().unwrap(); [INFO] [stdout] | ^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-spi-0.5.0/src/lib.rs:111:1 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct SPIInterface { [INFO] [stdout] | -------------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ doesn't satisfy `_: OutputPin` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- doesn't satisfy `_: SpiDevice` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Spi, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>: SpiDevice` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `flush` exists for struct `GraphicsMode, ...>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/demo.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | disp.flush().unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-spi-0.5.0/src/lib.rs:111:1 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct SPIInterface { [INFO] [stdout] | -------------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ doesn't satisfy `_: OutputPin` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- doesn't satisfy `_: SpiDevice` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Spi, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>: SpiDevice` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `flush` exists for struct `GraphicsMode, ...>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/image_spi.rs:76:10 [INFO] [stdout] | [INFO] [stdout] 76 | disp.flush().unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-spi-0.5.0/src/lib.rs:111:1 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct SPIInterface { [INFO] [stdout] | -------------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ doesn't satisfy `_: OutputPin` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- doesn't satisfy `_: SpiDevice` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Spi, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>: SpiDevice` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `sh1108` (example "graphics") due to 9 previous errors [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:93:10 [INFO] [stdout] | [INFO] [stdout] 93 | disp.set_pixel(0, 0, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `sh1108` (example "text") due to 9 previous errors [INFO] [stdout] error[E0277]: the trait bound `Spi, ..., ...), u8>: SpiDevice` is not satisfied [INFO] [stdout] --> examples/demo.rs:71:15 [INFO] [stdout] | [INFO] [stdout] 71 | draw_demo(&mut disp).unwrap(); [INFO] [stdout] | --------- ^^^^^^^^^ the trait `SpiDevice` is not implemented for `Spi, Pin<'A', 6>, ...), u8>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/spi.rs:347:1 [INFO] [stdout] | [INFO] [stdout] 347 | pub trait SpiDevice: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/demo.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 28 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...>>` to implement `DrawTarget` [INFO] [stdout] note: required by a bound in `draw_demo` [INFO] [stdout] --> examples/demo.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 78 | fn draw_demo(disp: &mut D) -> Result<(), D::Error> [INFO] [stdout] | --------- required by a bound in this function [INFO] [stdout] 79 | where [INFO] [stdout] 80 | D: embedded_graphics::draw_target::DrawTarget, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `draw_demo` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/demo-4cf9a3b2a96592a6.long-type-6094056293164625039.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` is not satisfied [INFO] [stdout] --> examples/demo.rs:71:15 [INFO] [stdout] | [INFO] [stdout] 71 | draw_demo(&mut disp).unwrap(); [INFO] [stdout] | --------- ^^^^^^^^^ the trait `OutputPin` is not implemented for `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/digital.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | pub trait OutputPin: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/demo.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 28 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...>>` to implement `DrawTarget` [INFO] [stdout] note: required by a bound in `draw_demo` [INFO] [stdout] --> examples/demo.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 78 | fn draw_demo(disp: &mut D) -> Result<(), D::Error> [INFO] [stdout] | --------- required by a bound in this function [INFO] [stdout] 79 | where [INFO] [stdout] 80 | D: embedded_graphics::draw_target::DrawTarget, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `draw_demo` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/demo-4cf9a3b2a96592a6.long-type-10584095557600143558.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Spi, ..., ...), u8>: SpiDevice` is not satisfied [INFO] [stdout] --> examples/image_spi.rs:80:40 [INFO] [stdout] | [INFO] [stdout] 80 | Image::new(&im, Point::new(32, 0)).draw(&mut disp).unwrap(); [INFO] [stdout] | ^^^^ the trait `SpiDevice` is not implemented for `Spi, Pin<'A', 6>, ...), u8>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/spi.rs:347:1 [INFO] [stdout] | [INFO] [stdout] 347 | pub trait SpiDevice: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image_spi.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 32 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...>>` to implement `DrawTarget` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image_spi-9b13a223bd394830.long-type-6853271681476095053.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` is not satisfied [INFO] [stdout] --> examples/image_spi.rs:80:40 [INFO] [stdout] | [INFO] [stdout] 80 | Image::new(&im, Point::new(32, 0)).draw(&mut disp).unwrap(); [INFO] [stdout] | ^^^^ the trait `OutputPin` is not implemented for `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/digital.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | pub trait OutputPin: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/image_spi.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 32 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...>>` to implement `DrawTarget` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/image_spi-9b13a223bd394830.long-type-9030125735124705647.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:94:10 [INFO] [stdout] | [INFO] [stdout] 94 | disp.set_pixel(0, 1, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `flush` exists for struct `GraphicsMode, ...>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/image_spi.rs:82:10 [INFO] [stdout] | [INFO] [stdout] 82 | disp.flush().unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-spi-0.5.0/src/lib.rs:111:1 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct SPIInterface { [INFO] [stdout] | -------------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ doesn't satisfy `_: OutputPin` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- doesn't satisfy `_: SpiDevice` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Spi, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>: SpiDevice` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `flush` exists for struct `GraphicsMode, ...>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/demo.rs:73:10 [INFO] [stdout] | [INFO] [stdout] 73 | disp.flush().unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-spi-0.5.0/src/lib.rs:111:1 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct SPIInterface { [INFO] [stdout] | -------------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ doesn't satisfy `_: OutputPin` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- doesn't satisfy `_: SpiDevice` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Spi, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>: SpiDevice` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` [INFO] [stdout] which is required by `SPIInterface, stm32f1xx_hal::gpio::Pin<'A', 6>, stm32f1xx_hal::gpio::Pin<'A', 7, stm32f1xx_hal::gpio::Alternate>), u8>, stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Spi, ..., ...), u8>: SpiDevice` is not satisfied [INFO] [stdout] --> examples/demo.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | draw_demo(&mut disp).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ the trait `SpiDevice` is not implemented for `Spi, Pin<'A', 6>, ...), u8>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/spi.rs:347:1 [INFO] [stdout] | [INFO] [stdout] 347 | pub trait SpiDevice: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/demo.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 28 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/spi.rs:116:1 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct Spi { [INFO] [stdout] | --------------------------------------------------------------- this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...>>` to implement `DrawTarget` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/demo-4cf9a3b2a96592a6.long-type-6094056293164625039.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>: OutputPin` is not satisfied [INFO] [stdout] --> examples/demo.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | draw_demo(&mut disp).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ the trait `OutputPin` is not implemented for `stm32f1xx_hal::gpio::Pin<'A', 2, stm32f1xx_hal::gpio::Output>` [INFO] [stdout] | [INFO] [stdout] note: there are multiple different versions of crate `embedded_hal` in the dependency graph [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-1.0.0/src/digital.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | pub trait OutputPin: ErrorType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait [INFO] [stdout] | [INFO] [stdout] ::: examples/demo.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use embedded_hal::spi; [INFO] [stdout] | ------------ one version of crate `embedded_hal` used here, as a direct dependency of the current crate [INFO] [stdout] ... [INFO] [stdout] 28 | use stm32f1xx_hal::{prelude::*, spi::Spi, stm32}; [INFO] [stdout] | ------------- one version of crate `embedded_hal` used here, as a dependency of crate `stm32f1xx_hal` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/gpio.rs:425:1 [INFO] [stdout] | [INFO] [stdout] 425 | pub struct Pin> { [INFO] [stdout] | ------------------------------------------------------------------ this type doesn't implement the required trait [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.7/src/adc.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | pub trait Channel { [INFO] [stdout] | ---------------------- this is the found trait [INFO] [stdout] = help: you can use `cargo tree` to explore your dependency tree [INFO] [stdout] = note: required for `SPIInterface, ...>` to implement `display_interface::WriteOnlyDataCommand` [INFO] [stdout] = note: required for `GraphicsMode, ...>>` to implement `DrawTarget` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/x86_64-unknown-linux-musl/debug/examples/demo-4cf9a3b2a96592a6.long-type-10584095557600143558.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:95:10 [INFO] [stdout] | [INFO] [stdout] 95 | disp.set_pixel(0, 2, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `set_pixel` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:96:10 [INFO] [stdout] | [INFO] [stdout] 96 | disp.set_pixel(0, 3, 1); [INFO] [stdout] | ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `flush` exists for struct `GraphicsMode, ...)>>>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/pixelsquare.rs:98:10 [INFO] [stdout] | [INFO] [stdout] 98 | disp.flush().unwrap(); [INFO] [stdout] | ^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/display-interface-i2c-0.5.0/src/lib.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct I2CInterface { [INFO] [stdout] | ---------------------------- doesn't satisfy `_: WriteOnlyDataCommand` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/stm32f1xx-hal-0.10.0/src/i2c/blocking.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BlockingI2c { [INFO] [stdout] | --------------------------------- doesn't satisfy `_: I2c` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlockingI2c>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>: embedded_hal::i2c::I2c` [INFO] [stdout] which is required by `I2CInterface>, stm32f1xx_hal::gpio::Pin<'B', 9, stm32f1xx_hal::gpio::Alternate>)>>: display_interface::WriteOnlyDataCommand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `sh1108` (example "image_spi") due to 16 previous errors [INFO] [stderr] error: could not compile `sh1108` (example "pixelsquare") due to 24 previous errors [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `sh1108` (example "demo") due to 17 previous errors [INFO] running `Command { std: "docker" "inspect" "66db4ae67e07034b98e22c24d6edb0a31585862d6470b32c049a344fbcd62771", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "66db4ae67e07034b98e22c24d6edb0a31585862d6470b32c049a344fbcd62771", kill_on_drop: false }` [INFO] [stdout] 66db4ae67e07034b98e22c24d6edb0a31585862d6470b32c049a344fbcd62771