[INFO] fetching crate aw-soc 0.0.0...
[INFO] checking aw-soc-0.0.0 against master#fd2c811d25ad5773fbd2463e058bf4edf4d44eb2 for pr-130443
[INFO] extracting crate aw-soc 0.0.0 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate aw-soc 0.0.0 on toolchain fd2c811d25ad5773fbd2463e058bf4edf4d44eb2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate aw-soc 0.0.0
[INFO] finished tweaking crates.io crate aw-soc 0.0.0
[INFO] tweaked toml for crates.io crate aw-soc 0.0.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 10 packages to latest compatible versions
[INFO] [stderr]       Adding memoffset v0.8.0 (available: v0.9.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded embedded-hal v1.0.0
[INFO] [stderr]   Downloaded memoffset v0.8.0
[INFO] [stderr]   Downloaded embedded-hal-nb v1.0.0
[INFO] [stderr]   Downloaded base-address v0.0.0
[INFO] [stderr]   Downloaded uart16550 v0.0.1
[INFO] [stderr]   Downloaded plic v0.0.2
[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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e87975f3a00481f74fa6c7e312203d1ff87105f80572a078f771bfd780a2f449
[INFO] running `Command { std: "docker" "start" "-a" "e87975f3a00481f74fa6c7e312203d1ff87105f80572a078f771bfd780a2f449", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e87975f3a00481f74fa6c7e312203d1ff87105f80572a078f771bfd780a2f449", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e87975f3a00481f74fa6c7e312203d1ff87105f80572a078f771bfd780a2f449", kill_on_drop: false }`
[INFO] [stdout] e87975f3a00481f74fa6c7e312203d1ff87105f80572a078f771bfd780a2f449
[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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 96e432dd02f0d193f19074c8597de71c37c78eac962661c0d96e282eaa7ccef0
[INFO] running `Command { std: "docker" "start" "-a" "96e432dd02f0d193f19074c8597de71c37c78eac962661c0d96e282eaa7ccef0", kill_on_drop: false }`
[INFO] [stderr]    Compiling memoffset v0.8.0
[INFO] [stderr]     Checking embedded-hal v1.0.0
[INFO] [stderr]     Checking base-address v0.0.0
[INFO] [stderr]     Checking uart16550 v0.0.1
[INFO] [stderr]     Checking plic v0.0.2
[INFO] [stderr]     Checking embedded-hal-nb v1.0.0
[INFO] [stderr]     Checking aw-soc v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0405]: cannot find trait `SpiBusRead` in module `embedded_hal::spi`
[INFO] [stdout]    --> src/spi.rs:564:72
[INFO] [stdout]     |
[INFO] [stdout] 564 | impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::spi::SpiBusRead
[INFO] [stdout]     |                                                                        ^^^^^^^^^^ not found in `embedded_hal::spi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `SpiBusWrite` in module `embedded_hal::spi`
[INFO] [stdout]    --> src/spi.rs:591:72
[INFO] [stdout]     |
[INFO] [stdout] 591 | impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::spi::SpiBusWrite<u8>
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^ not found in `embedded_hal::spi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `SpiBusFlush` in module `embedded_hal::spi`
[INFO] [stdout]    --> src/spi.rs:618:72
[INFO] [stdout]     |
[INFO] [stdout] 618 | impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::spi::SpiBusFlush
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^ not found in `embedded_hal::spi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `serial` in `embedded_hal`
[INFO] [stdout]    --> src/uart.rs:190:67
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::serial::ErrorType
[INFO] [stdout]     |                                                                   ^^^^^^ could not find `serial` in `embedded_hal`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 3   + use embedded_hal_nb::serial;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `serial`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 190 - impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::serial::ErrorType
[INFO] [stdout] 190 + impl<A: BaseAddress, const I: usize, PINS: Pins<I>> serial::ErrorType
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `serial` in `embedded_hal`
[INFO] [stdout]    --> src/uart.rs:193:32
[INFO] [stdout]     |
[INFO] [stdout] 193 |     type Error = embedded_hal::serial::ErrorKind;
[INFO] [stdout]     |                                ^^^^^^ could not find `serial` in `embedded_hal`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 3   + use embedded_hal_nb::serial;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `serial`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 193 -     type Error = embedded_hal::serial::ErrorKind;
[INFO] [stdout] 193 +     type Error = serial::ErrorKind;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `serial` in `embedded_hal`
[INFO] [stdout]    --> src/uart.rs:196:67
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::serial::Write
[INFO] [stdout]     |                                                                   ^^^^^^ could not find `serial` in `embedded_hal`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 3   + use embedded_hal_nb::serial;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `serial`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 196 - impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::serial::Write
[INFO] [stdout] 196 + impl<A: BaseAddress, const I: usize, PINS: Pins<I>> serial::Write
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::wafer::interrupt::*`
[INFO] [stdout]  --> src/plic.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::wafer::interrupt::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wafer::pins::*`
[INFO] [stdout]    --> src/lib.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub use wafer::pins::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0223]: ambiguous associated type
[INFO] [stdout]    --> src/spi.rs:567:56
[INFO] [stdout]     |
[INFO] [stdout] 567 |     fn read(&mut self, words: &mut [u8]) -> Result<(), Self::Error> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use fully-qualified syntax
[INFO] [stdout]     |
[INFO] [stdout] 567 |     fn read(&mut self, words: &mut [u8]) -> Result<(), <Spi<A, I, PINS> as TryFrom>::Error> {
[INFO] [stdout]     |                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 567 |     fn read(&mut self, words: &mut [u8]) -> Result<(), <Spi<A, I, PINS> as TryInto>::Error> {
[INFO] [stdout]     |                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 567 |     fn read(&mut self, words: &mut [u8]) -> Result<(), <Spi<A, I, PINS> as embedded_hal::spi::ErrorType>::Error> {
[INFO] [stdout]     |                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0223]: ambiguous associated type
[INFO] [stdout]    --> src/spi.rs:594:53
[INFO] [stdout]     |
[INFO] [stdout] 594 |     fn write(&mut self, words: &[u8]) -> Result<(), Self::Error> {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use fully-qualified syntax
[INFO] [stdout]     |
[INFO] [stdout] 594 |     fn write(&mut self, words: &[u8]) -> Result<(), <Spi<A, I, PINS> as TryFrom>::Error> {
[INFO] [stdout]     |                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 594 |     fn write(&mut self, words: &[u8]) -> Result<(), <Spi<A, I, PINS> as TryInto>::Error> {
[INFO] [stdout]     |                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 594 |     fn write(&mut self, words: &[u8]) -> Result<(), <Spi<A, I, PINS> as embedded_hal::spi::ErrorType>::Error> {
[INFO] [stdout]     |                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0223]: ambiguous associated type
[INFO] [stdout]    --> src/spi.rs:621:39
[INFO] [stdout]     |
[INFO] [stdout] 621 |     fn flush(&mut self) -> Result<(), Self::Error> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use fully-qualified syntax
[INFO] [stdout]     |
[INFO] [stdout] 621 |     fn flush(&mut self) -> Result<(), <Spi<A, I, PINS> as TryFrom>::Error> {
[INFO] [stdout]     |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 621 |     fn flush(&mut self) -> Result<(), <Spi<A, I, PINS> as TryInto>::Error> {
[INFO] [stdout]     |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 621 |     fn flush(&mut self) -> Result<(), <Spi<A, I, PINS> as embedded_hal::spi::ErrorType>::Error> {
[INFO] [stdout]     |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0223]: ambiguous associated type
[INFO] [stdout]    --> src/uart.rs:200:54
[INFO] [stdout]     |
[INFO] [stdout] 200 |     fn write(&mut self, buffer: &[u8]) -> Result<(), Self::Error> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use fully-qualified syntax
[INFO] [stdout]     |
[INFO] [stdout] 200 |     fn write(&mut self, buffer: &[u8]) -> Result<(), <Serial<A, I, PINS> as TryFrom>::Error> {
[INFO] [stdout]     |                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 200 |     fn write(&mut self, buffer: &[u8]) -> Result<(), <Serial<A, I, PINS> as TryInto>::Error> {
[INFO] [stdout]     |                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0223]: ambiguous associated type
[INFO] [stdout]    --> src/uart.rs:212:39
[INFO] [stdout]     |
[INFO] [stdout] 212 |     fn flush(&mut self) -> Result<(), Self::Error> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use fully-qualified syntax
[INFO] [stdout]     |
[INFO] [stdout] 212 |     fn flush(&mut self) -> Result<(), <Serial<A, I, PINS> as TryFrom>::Error> {
[INFO] [stdout]     |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 212 |     fn flush(&mut self) -> Result<(), <Serial<A, I, PINS> as TryInto>::Error> {
[INFO] [stdout]     |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `is_high` has an incompatible type for trait
[INFO] [stdout]    --> src/gpio.rs:237:16
[INFO] [stdout]     |
[INFO] [stdout] 237 |     fn is_high(&self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |                ^^^^^ types differ in mutability
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&mut gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout]                found signature `fn(&gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout] help: change the self-receiver type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 237 |     fn is_high(&mut self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |                ~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `is_low` has an incompatible type for trait
[INFO] [stdout]    --> src/gpio.rs:241:15
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn is_low(&self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |               ^^^^^ types differ in mutability
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&mut gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout]                found signature `fn(&gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout] help: change the self-receiver type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn is_low(&mut self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |               ~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `is_set_high` has an incompatible type for trait
[INFO] [stdout]    --> src/gpio.rs:279:20
[INFO] [stdout]     |
[INFO] [stdout] 279 |     fn is_set_high(&self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |                    ^^^^^ types differ in mutability
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&mut gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout]                found signature `fn(&gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout] help: change the self-receiver type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 279 |     fn is_set_high(&mut self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |                    ~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `is_set_low` has an incompatible type for trait
[INFO] [stdout]    --> src/gpio.rs:283:19
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn is_set_low(&self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |                   ^^^^^ types differ in mutability
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&mut gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout]                found signature `fn(&gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout] help: change the self-receiver type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn is_set_low(&mut self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |                   ~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `read`, `write`, `flush`
[INFO] [stdout]    --> src/spi.rs:504:1
[INFO] [stdout]     |
[INFO] [stdout] 504 | impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::spi::SpiBus for Spi<A, I, PINS> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `read`, `write`, `flush` in implementation
[INFO] [stdout]     |
[INFO] [stdout]     = help: implement the missing item: `fn read(&mut self, _: &mut [u8]) -> Result<(), <Self as embedded_hal::spi::ErrorType>::Error> { todo!() }`
[INFO] [stdout]     = help: implement the missing item: `fn write(&mut self, _: &[u8]) -> Result<(), <Self as embedded_hal::spi::ErrorType>::Error> { todo!() }`
[INFO] [stdout]     = help: implement the missing item: `fn flush(&mut self) -> Result<(), <Self as embedded_hal::spi::ErrorType>::Error> { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Serial<A, I, PINS>: embedded_hal_nb::serial::ErrorType` is not satisfied
[INFO] [stdout]    --> src/uart.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 221 |     for Serial<A, I, PINS>
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ the trait `embedded_hal_nb::serial::ErrorType` is not implemented for `Serial<A, I, PINS>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `embedded_hal_nb::serial::ErrorType` is implemented for `&mut T`
[INFO] [stdout] note: required by a bound in `embedded_hal_nb::serial::Write`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/embedded-hal-nb-1.0.0/src/serial.rs:96:35
[INFO] [stdout]     |
[INFO] [stdout] 96  | pub trait Write<Word: Copy = u8>: ErrorType {
[INFO] [stdout]     |                                   ^^^^^^^^^ required by this bound in `Write`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Serial<A, I, PINS>: embedded_hal_nb::serial::ErrorType` is not satisfied
[INFO] [stdout]    --> src/uart.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn write(&mut self, word: u8) -> nb::Result<(), Self::Error> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `embedded_hal_nb::serial::ErrorType` is not implemented for `Serial<A, I, PINS>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `embedded_hal_nb::serial::ErrorType` is implemented for `&mut T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Serial<A, I, PINS>: embedded_hal_nb::serial::ErrorType` is not satisfied
[INFO] [stdout]    --> src/uart.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn flush(&mut self) -> nb::Result<(), Self::Error> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `embedded_hal_nb::serial::ErrorType` is not implemented for `Serial<A, I, PINS>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `embedded_hal_nb::serial::ErrorType` is implemented for `&mut T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 19 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0053, E0223, E0277, E0405, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `SpiBusRead` in module `embedded_hal::spi`
[INFO] [stdout]    --> src/spi.rs:564:72
[INFO] [stdout]     |
[INFO] [stdout] 564 | impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::spi::SpiBusRead
[INFO] [stdout]     |                                                                        ^^^^^^^^^^ not found in `embedded_hal::spi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `SpiBusWrite` in module `embedded_hal::spi`
[INFO] [stdout]    --> src/spi.rs:591:72
[INFO] [stdout]     |
[INFO] [stdout] 591 | impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::spi::SpiBusWrite<u8>
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^ not found in `embedded_hal::spi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `SpiBusFlush` in module `embedded_hal::spi`
[INFO] [stdout]    --> src/spi.rs:618:72
[INFO] [stdout]     |
[INFO] [stdout] 618 | impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::spi::SpiBusFlush
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^ not found in `embedded_hal::spi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `serial` in `embedded_hal`
[INFO] [stdout]    --> src/uart.rs:190:67
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::serial::ErrorType
[INFO] [stdout]     |                                                                   ^^^^^^ could not find `serial` in `embedded_hal`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 3   + use embedded_hal_nb::serial;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `serial`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 190 - impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::serial::ErrorType
[INFO] [stdout] 190 + impl<A: BaseAddress, const I: usize, PINS: Pins<I>> serial::ErrorType
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `serial` in `embedded_hal`
[INFO] [stdout]    --> src/uart.rs:193:32
[INFO] [stdout]     |
[INFO] [stdout] 193 |     type Error = embedded_hal::serial::ErrorKind;
[INFO] [stdout]     |                                ^^^^^^ could not find `serial` in `embedded_hal`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 3   + use embedded_hal_nb::serial;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `serial`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 193 -     type Error = embedded_hal::serial::ErrorKind;
[INFO] [stdout] 193 +     type Error = serial::ErrorKind;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `serial` in `embedded_hal`
[INFO] [stdout]    --> src/uart.rs:196:67
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::serial::Write
[INFO] [stdout]     |                                                                   ^^^^^^ could not find `serial` in `embedded_hal`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 3   + use embedded_hal_nb::serial;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `serial`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 196 - impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::serial::Write
[INFO] [stdout] 196 + impl<A: BaseAddress, const I: usize, PINS: Pins<I>> serial::Write
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::wafer::interrupt::*`
[INFO] [stdout]  --> src/plic.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::wafer::interrupt::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wafer::pins::*`
[INFO] [stdout]    --> src/lib.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub use wafer::pins::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `aw-soc` (lib) due to 20 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0223]: ambiguous associated type
[INFO] [stdout]    --> src/spi.rs:567:56
[INFO] [stdout]     |
[INFO] [stdout] 567 |     fn read(&mut self, words: &mut [u8]) -> Result<(), Self::Error> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use fully-qualified syntax
[INFO] [stdout]     |
[INFO] [stdout] 567 |     fn read(&mut self, words: &mut [u8]) -> Result<(), <Spi<A, I, PINS> as TryFrom>::Error> {
[INFO] [stdout]     |                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 567 |     fn read(&mut self, words: &mut [u8]) -> Result<(), <Spi<A, I, PINS> as TryInto>::Error> {
[INFO] [stdout]     |                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 567 |     fn read(&mut self, words: &mut [u8]) -> Result<(), <Spi<A, I, PINS> as embedded_hal::spi::ErrorType>::Error> {
[INFO] [stdout]     |                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0223]: ambiguous associated type
[INFO] [stdout]    --> src/spi.rs:594:53
[INFO] [stdout]     |
[INFO] [stdout] 594 |     fn write(&mut self, words: &[u8]) -> Result<(), Self::Error> {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use fully-qualified syntax
[INFO] [stdout]     |
[INFO] [stdout] 594 |     fn write(&mut self, words: &[u8]) -> Result<(), <Spi<A, I, PINS> as TryFrom>::Error> {
[INFO] [stdout]     |                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 594 |     fn write(&mut self, words: &[u8]) -> Result<(), <Spi<A, I, PINS> as TryInto>::Error> {
[INFO] [stdout]     |                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 594 |     fn write(&mut self, words: &[u8]) -> Result<(), <Spi<A, I, PINS> as embedded_hal::spi::ErrorType>::Error> {
[INFO] [stdout]     |                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0223]: ambiguous associated type
[INFO] [stdout]    --> src/spi.rs:621:39
[INFO] [stdout]     |
[INFO] [stdout] 621 |     fn flush(&mut self) -> Result<(), Self::Error> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use fully-qualified syntax
[INFO] [stdout]     |
[INFO] [stdout] 621 |     fn flush(&mut self) -> Result<(), <Spi<A, I, PINS> as TryFrom>::Error> {
[INFO] [stdout]     |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 621 |     fn flush(&mut self) -> Result<(), <Spi<A, I, PINS> as TryInto>::Error> {
[INFO] [stdout]     |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 621 |     fn flush(&mut self) -> Result<(), <Spi<A, I, PINS> as embedded_hal::spi::ErrorType>::Error> {
[INFO] [stdout]     |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0223]: ambiguous associated type
[INFO] [stdout]    --> src/uart.rs:200:54
[INFO] [stdout]     |
[INFO] [stdout] 200 |     fn write(&mut self, buffer: &[u8]) -> Result<(), Self::Error> {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use fully-qualified syntax
[INFO] [stdout]     |
[INFO] [stdout] 200 |     fn write(&mut self, buffer: &[u8]) -> Result<(), <Serial<A, I, PINS> as TryFrom>::Error> {
[INFO] [stdout]     |                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 200 |     fn write(&mut self, buffer: &[u8]) -> Result<(), <Serial<A, I, PINS> as TryInto>::Error> {
[INFO] [stdout]     |                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0223]: ambiguous associated type
[INFO] [stdout]    --> src/uart.rs:212:39
[INFO] [stdout]     |
[INFO] [stdout] 212 |     fn flush(&mut self) -> Result<(), Self::Error> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use fully-qualified syntax
[INFO] [stdout]     |
[INFO] [stdout] 212 |     fn flush(&mut self) -> Result<(), <Serial<A, I, PINS> as TryFrom>::Error> {
[INFO] [stdout]     |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 212 |     fn flush(&mut self) -> Result<(), <Serial<A, I, PINS> as TryInto>::Error> {
[INFO] [stdout]     |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `is_high` has an incompatible type for trait
[INFO] [stdout]    --> src/gpio.rs:237:16
[INFO] [stdout]     |
[INFO] [stdout] 237 |     fn is_high(&self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |                ^^^^^ types differ in mutability
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&mut gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout]                found signature `fn(&gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout] help: change the self-receiver type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 237 |     fn is_high(&mut self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |                ~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `is_low` has an incompatible type for trait
[INFO] [stdout]    --> src/gpio.rs:241:15
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn is_low(&self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |               ^^^^^ types differ in mutability
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&mut gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout]                found signature `fn(&gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout] help: change the self-receiver type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn is_low(&mut self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |               ~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `is_set_high` has an incompatible type for trait
[INFO] [stdout]    --> src/gpio.rs:279:20
[INFO] [stdout]     |
[INFO] [stdout] 279 |     fn is_set_high(&self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |                    ^^^^^ types differ in mutability
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&mut gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout]                found signature `fn(&gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout] help: change the self-receiver type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 279 |     fn is_set_high(&mut self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |                    ~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `is_set_low` has an incompatible type for trait
[INFO] [stdout]    --> src/gpio.rs:283:19
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn is_set_low(&self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |                   ^^^^^ types differ in mutability
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected signature `fn(&mut gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout]                found signature `fn(&gpio::Pin<_, _, _, _>) -> Result<_, _>`
[INFO] [stdout] help: change the self-receiver type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn is_set_low(&mut self) -> Result<bool, Self::Error> {
[INFO] [stdout]     |                   ~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `read`, `write`, `flush`
[INFO] [stdout]    --> src/spi.rs:504:1
[INFO] [stdout]     |
[INFO] [stdout] 504 | impl<A: BaseAddress, const I: usize, PINS: Pins<I>> embedded_hal::spi::SpiBus for Spi<A, I, PINS> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `read`, `write`, `flush` in implementation
[INFO] [stdout]     |
[INFO] [stdout]     = help: implement the missing item: `fn read(&mut self, _: &mut [u8]) -> Result<(), <Self as embedded_hal::spi::ErrorType>::Error> { todo!() }`
[INFO] [stdout]     = help: implement the missing item: `fn write(&mut self, _: &[u8]) -> Result<(), <Self as embedded_hal::spi::ErrorType>::Error> { todo!() }`
[INFO] [stdout]     = help: implement the missing item: `fn flush(&mut self) -> Result<(), <Self as embedded_hal::spi::ErrorType>::Error> { todo!() }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Serial<A, I, PINS>: embedded_hal_nb::serial::ErrorType` is not satisfied
[INFO] [stdout]    --> src/uart.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 221 |     for Serial<A, I, PINS>
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ the trait `embedded_hal_nb::serial::ErrorType` is not implemented for `Serial<A, I, PINS>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `embedded_hal_nb::serial::ErrorType` is implemented for `&mut T`
[INFO] [stdout] note: required by a bound in `embedded_hal_nb::serial::Write`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/embedded-hal-nb-1.0.0/src/serial.rs:96:35
[INFO] [stdout]     |
[INFO] [stdout] 96  | pub trait Write<Word: Copy = u8>: ErrorType {
[INFO] [stdout]     |                                   ^^^^^^^^^ required by this bound in `Write`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Serial<A, I, PINS>: embedded_hal_nb::serial::ErrorType` is not satisfied
[INFO] [stdout]    --> src/uart.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 224 |     fn write(&mut self, word: u8) -> nb::Result<(), Self::Error> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `embedded_hal_nb::serial::ErrorType` is not implemented for `Serial<A, I, PINS>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `embedded_hal_nb::serial::ErrorType` is implemented for `&mut T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Serial<A, I, PINS>: embedded_hal_nb::serial::ErrorType` is not satisfied
[INFO] [stdout]    --> src/uart.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     fn flush(&mut self) -> nb::Result<(), Self::Error> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `embedded_hal_nb::serial::ErrorType` is not implemented for `Serial<A, I, PINS>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `embedded_hal_nb::serial::ErrorType` is implemented for `&mut T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 19 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0053, E0223, E0277, E0405, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `aw-soc` (lib test) due to 20 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "96e432dd02f0d193f19074c8597de71c37c78eac962661c0d96e282eaa7ccef0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "96e432dd02f0d193f19074c8597de71c37c78eac962661c0d96e282eaa7ccef0", kill_on_drop: false }`
[INFO] [stdout] 96e432dd02f0d193f19074c8597de71c37c78eac962661c0d96e282eaa7ccef0
