[INFO] fetching crate rppal_mfrc522 0.2.0... [INFO] testing rppal_mfrc522-0.2.0 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate rppal_mfrc522 0.2.0 into /workspace/builds/worker-1-tc1/source [INFO] removed /workspace/builds/worker-1-tc1/source/.cargo/config.toml [INFO] started tweaking crates.io crate rppal_mfrc522 0.2.0 [INFO] finished tweaking crates.io crate rppal_mfrc522 0.2.0 [INFO] tweaked toml for crates.io crate rppal_mfrc522 0.2.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate rppal_mfrc522 0.2.0 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate rppal_mfrc522 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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded termion v4.0.5 [INFO] [stderr] Downloaded simple_cancelation_token v0.0.1 [INFO] [stderr] Downloaded numtoa v0.2.4 [INFO] [stderr] Downloaded rppal v0.22.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6b9e3ca0811b4de8db855360e0c2f3826c0f6b669918815ef13409ebe720a38e [INFO] running `Command { std: "docker" "start" "-a" "6b9e3ca0811b4de8db855360e0c2f3826c0f6b669918815ef13409ebe720a38e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6b9e3ca0811b4de8db855360e0c2f3826c0f6b669918815ef13409ebe720a38e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6b9e3ca0811b4de8db855360e0c2f3826c0f6b669918815ef13409ebe720a38e", kill_on_drop: false }` [INFO] [stdout] 6b9e3ca0811b4de8db855360e0c2f3826c0f6b669918815ef13409ebe720a38e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7735e58ebd457214461199a28799cbbf40af6a3a5e51a2f865263a5f23635a62 [INFO] running `Command { std: "docker" "start" "-a" "7735e58ebd457214461199a28799cbbf40af6a3a5e51a2f865263a5f23635a62", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling anstyle-query v1.0.0 [INFO] [stderr] Compiling clap_lex v0.7.0 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling anstyle-parse v0.2.2 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling numtoa v0.2.4 [INFO] [stderr] Compiling anstream v0.6.14 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling clap_builder v4.5.2 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Compiling termion v4.0.5 [INFO] [stderr] Compiling rppal v0.22.1 [INFO] [stderr] Compiling ctrlc v3.4.7 [INFO] [stderr] Compiling clap_derive v4.5.4 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling clap v4.5.4 [INFO] [stderr] Compiling simple_cancelation_token v0.0.1 [INFO] [stderr] Compiling rppal_mfrc522 v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/mfrc522.rs:227:50 [INFO] [stdout] | [INFO] [stdout] 227 | self.rmw(Register::TxControlReg, |value| (value | 0x03))?; // Turn on the antenna [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 227 - self.rmw(Register::TxControlReg, |value| (value | 0x03))?; // Turn on the antenna [INFO] [stdout] 227 + self.rmw(Register::TxControlReg, |value| value | 0x03)?; // Turn on the antenna [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/mfrc522.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn new(spi: &mut Spi) -> Mfrc522 { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 104 | pub fn new(spi: &mut Spi) -> Mfrc522<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.72s [INFO] running `Command { std: "docker" "inspect" "7735e58ebd457214461199a28799cbbf40af6a3a5e51a2f865263a5f23635a62", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7735e58ebd457214461199a28799cbbf40af6a3a5e51a2f865263a5f23635a62", kill_on_drop: false }` [INFO] [stdout] 7735e58ebd457214461199a28799cbbf40af6a3a5e51a2f865263a5f23635a62 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 90bad1ca168f756f85d06d1c3e54cbcc24763b5cbda8b2e0f8ce4f3bebde0d32 [INFO] running `Command { std: "docker" "start" "-a" "90bad1ca168f756f85d06d1c3e54cbcc24763b5cbda8b2e0f8ce4f3bebde0d32", kill_on_drop: false }` [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/mfrc522.rs:227:50 [INFO] [stdout] | [INFO] [stdout] 227 | self.rmw(Register::TxControlReg, |value| (value | 0x03))?; // Turn on the antenna [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 227 - self.rmw(Register::TxControlReg, |value| (value | 0x03))?; // Turn on the antenna [INFO] [stdout] 227 + self.rmw(Register::TxControlReg, |value| value | 0x03)?; // Turn on the antenna [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/mfrc522.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn new(spi: &mut Spi) -> Mfrc522 { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 104 | pub fn new(spi: &mut Spi) -> Mfrc522<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rppal_mfrc522 v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/mfrc522.rs:227:50 [INFO] [stdout] | [INFO] [stdout] 227 | self.rmw(Register::TxControlReg, |value| (value | 0x03))?; // Turn on the antenna [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 227 - self.rmw(Register::TxControlReg, |value| (value | 0x03))?; // Turn on the antenna [INFO] [stdout] 227 + self.rmw(Register::TxControlReg, |value| value | 0x03)?; // Turn on the antenna [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/mfrc522.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn new(spi: &mut Spi) -> Mfrc522 { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 104 | pub fn new(spi: &mut Spi) -> Mfrc522<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.21s [INFO] running `Command { std: "docker" "inspect" "90bad1ca168f756f85d06d1c3e54cbcc24763b5cbda8b2e0f8ce4f3bebde0d32", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "90bad1ca168f756f85d06d1c3e54cbcc24763b5cbda8b2e0f8ce4f3bebde0d32", kill_on_drop: false }` [INFO] [stdout] 90bad1ca168f756f85d06d1c3e54cbcc24763b5cbda8b2e0f8ce4f3bebde0d32 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ee90b5b05e30488d75ca8c893354e57c447d3de9037c59999f13f295f179010d [INFO] running `Command { std: "docker" "start" "-a" "ee90b5b05e30488d75ca8c893354e57c447d3de9037c59999f13f295f179010d", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary parentheses around closure body [INFO] [stderr] --> src/mfrc522.rs:227:50 [INFO] [stderr] | [INFO] [stderr] 227 | self.rmw(Register::TxControlReg, |value| (value | 0x03))?; // Turn on the antenna [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 227 - self.rmw(Register::TxControlReg, |value| (value | 0x03))?; // Turn on the antenna [INFO] [stderr] 227 + self.rmw(Register::TxControlReg, |value| value | 0x03)?; // Turn on the antenna [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/mfrc522.rs:104:21 [INFO] [stderr] | [INFO] [stderr] 104 | pub fn new(spi: &mut Spi) -> Mfrc522 { [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 104 | pub fn new(spi: &mut Spi) -> Mfrc522<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `rppal_mfrc522` (lib) generated 2 warnings (run `cargo fix --lib -p rppal_mfrc522` to apply 2 suggestions) [INFO] [stderr] warning: `rppal_mfrc522` (lib test) generated 2 warnings (2 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rppal_mfrc522-42886f87488f04bc) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test tests::basic_test ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/rppal_mfrc522.rs (/opt/rustwide/target/debug/deps/mfrc522-bf5dbf20f1d3061a) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests rppal_mfrc522 [INFO] [stderr] warning: unnecessary parentheses around closure body [INFO] [stderr] --> src/mfrc522.rs:227:50 [INFO] [stderr] | [INFO] [stderr] 227 | self.rmw(Register::TxControlReg, |value| (value | 0x03))?; // Turn on the antenna [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 227 - self.rmw(Register::TxControlReg, |value| (value | 0x03))?; // Turn on the antenna [INFO] [stderr] 227 + self.rmw(Register::TxControlReg, |value| value | 0x03)?; // Turn on the antenna [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/lib.rs - (line 20) ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/lib.rs - (line 20) stdout ---- [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Gpio` [INFO] [stdout] --> src/lib.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 9 | let mut reset_pin = Gpio::new()?.get(RESET_PIN_BCM)?.into_output(); [INFO] [stdout] | ^^^^ use of undeclared type `Gpio` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 + use rppal::gpio::Gpio; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `thread` [INFO] [stdout] --> src/lib.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 15 | thread::sleep(time::Duration::from_millis(50)); [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `thread` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `thread`, use `cargo add thread` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 2 + use std::thread; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `time` [INFO] [stdout] --> src/lib.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 15 | thread::sleep(time::Duration::from_millis(50)); [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `time` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `time`, use `cargo add time` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 + use std::time::Duration; [INFO] [stdout] | [INFO] [stdout] help: if you import `Duration`, refer to it directly [INFO] [stdout] | [INFO] [stdout] 15 - thread::sleep(time::Duration::from_millis(50)); [INFO] [stdout] 15 + thread::sleep(Duration::from_millis(50)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `thread` [INFO] [stdout] --> src/lib.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 17 | thread::sleep(time::Duration::from_millis(50)); [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `thread` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `thread`, use `cargo add thread` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 2 + use std::thread; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `time` [INFO] [stdout] --> src/lib.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 17 | thread::sleep(time::Duration::from_millis(50)); [INFO] [stdout] | ^^^^ use of unresolved module or unlinked crate `time` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `time`, use `cargo add time` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 + use std::time::Duration; [INFO] [stdout] | [INFO] [stdout] help: if you import `Duration`, refer to it directly [INFO] [stdout] | [INFO] [stdout] 17 - thread::sleep(time::Duration::from_millis(50)); [INFO] [stdout] 17 + thread::sleep(Duration::from_millis(50)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Duration` [INFO] [stdout] --> src/lib.rs:43:23 [INFO] [stdout] | [INFO] [stdout] 26 | let uid = mfrc522.uid(Duration::from_millis(250).unwrap()); [INFO] [stdout] | ^^^^^^^^ use of undeclared type `Duration` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 2 + use std::time::Duration; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error: missing type for `const` item [INFO] [stdout] --> src/lib.rs:25:20 [INFO] [stdout] | [INFO] [stdout] 8 | const RESET_PIN_BCM = 22; [INFO] [stdout] | ^ help: provide a type for the constant: `: i32` [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/lib.rs:27:76 [INFO] [stdout] | [INFO] [stdout] 4 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_20_0() { [INFO] [stdout] | ---------------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] ... [INFO] [stdout] 10 | let mut spi = Spi::new(Bus::Spi0, SlaveSelect::Ss0, 1_000_000, Mode::Mode0)?; [INFO] [stdout] | ^ cannot use the `?` operator in a function that returns `()` [INFO] [stdout] | [INFO] [stdout] help: consider adding return type [INFO] [stdout] | [INFO] [stdout] 4 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_20_0() -> Result<(), Box> { [INFO] [stdout] 5 | use rppal::spi::{Spi, SlaveSelect, Bus, Mode}; [INFO] [stdout] ... [INFO] [stdout] 28 | println!("{:#010x}", uid.to_u32()); [INFO] [stdout] 29 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `to_u32` found for enum `Result` in the current scope [INFO] [stdout] --> src/lib.rs:45:26 [INFO] [stdout] | [INFO] [stdout] 28 | println!("{:#010x}", uid.to_u32()); [INFO] [stdout] | ^^^^^^ method not found in `Result` [INFO] [stdout] | [INFO] [stdout] note: the method `to_u32` exists on the type `rppal_mfrc522::mfrc522::Uid` [INFO] [stdout] --> /opt/rustwide/workdir/src/mfrc522.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn to_u32(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: consider using `Result::expect` to unwrap the `rppal_mfrc522::mfrc522::Uid` value, panicking if the value is a `Result::Err` [INFO] [stdout] | [INFO] [stdout] 28 | println!("{:#010x}", uid.expect("REASON").to_u32()); [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 9 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0433, E0599. [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/lib.rs - (line 20) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "ee90b5b05e30488d75ca8c893354e57c447d3de9037c59999f13f295f179010d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ee90b5b05e30488d75ca8c893354e57c447d3de9037c59999f13f295f179010d", kill_on_drop: false }` [INFO] [stdout] ee90b5b05e30488d75ca8c893354e57c447d3de9037c59999f13f295f179010d