[INFO] cloning repository https://github.com/lsgerard0310-prog/penumbra
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lsgerard0310-prog/penumbra" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flsgerard0310-prog%2Fpenumbra", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flsgerard0310-prog%2Fpenumbra'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 39416ca894f5394a5775277b3737c9428927d854
[INFO] testing lsgerard0310-prog/penumbra against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flsgerard0310-prog%2Fpenumbra" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lsgerard0310-prog/penumbra
[INFO] finished tweaking git repo https://github.com/lsgerard0310-prog/penumbra
[INFO] tweaked toml for git repo https://github.com/lsgerard0310-prog/penumbra written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lsgerard0310-prog/penumbra on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/lsgerard0310-prog/penumbra 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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded winresource v0.1.31
[INFO] [stderr]   Downloaded wincode-derive v0.4.3
[INFO] [stderr]   Downloaded env_filter v1.0.1
[INFO] [stderr]   Downloaded human_bytes v0.4.3
[INFO] [stderr]   Downloaded bilge v0.3.0
[INFO] [stderr]   Downloaded json5 v0.4.1
[INFO] [stderr]   Downloaded clap-num v1.2.0
[INFO] [stderr]   Downloaded enum-ordinalize v4.3.2
[INFO] [stderr]   Downloaded enum-ordinalize-derive v4.3.2
[INFO] [stderr]   Downloaded simple-xml v0.1.10
[INFO] [stderr]   Downloaded libudev v0.3.0
[INFO] [stderr]   Downloaded env_logger v0.11.10
[INFO] [stderr]   Downloaded ordered-multimap v0.7.3
[INFO] [stderr]   Downloaded rust-ini v0.21.3
[INFO] [stderr]   Downloaded derive_builder_macro v0.20.2
[INFO] [stderr]   Downloaded derive_builder_core v0.20.2
[INFO] [stderr]   Downloaded mach2 v0.5.0
[INFO] [stderr]   Downloaded enum_dispatch v0.3.13
[INFO] [stderr]   Downloaded dlv-list v0.5.2
[INFO] [stderr]   Downloaded unescaper v0.1.8
[INFO] [stderr]   Downloaded rusb v0.9.4
[INFO] [stderr]   Downloaded derive_builder v0.20.2
[INFO] [stderr]   Downloaded arraydeque v0.5.1
[INFO] [stderr]   Downloaded io-kit-sys v0.5.0
[INFO] [stderr]   Downloaded bilge-impl v0.3.0
[INFO] [stderr]   Downloaded portable-atomic-util v0.2.6
[INFO] [stderr]   Downloaded arbitrary-int v2.1.1
[INFO] [stderr]   Downloaded config v0.15.22
[INFO] [stderr]   Downloaded wincode v0.5.2
[INFO] [stderr]   Downloaded indicatif v0.18.4
[INFO] [stderr]   Downloaded indexmap v2.13.1
[INFO] [stderr]   Downloaded toml_edit v0.25.10+spec-1.1.0
[INFO] [stderr]   Downloaded serialport v4.9.0
[INFO] [stderr]   Downloaded nusb v0.2.3
[INFO] [stderr]   Downloaded yaml-rust2 v0.10.4
[INFO] [stderr]   Downloaded jiff-static v0.2.23
[INFO] [stderr]   Downloaded ron v0.12.1
[INFO] [stderr]   Downloaded libusb1-sys v0.7.0
[INFO] [stderr]   Downloaded jiff v0.2.23
[INFO] [stderr]   Downloaded tokio v1.51.0
[INFO] [stderr]   Downloaded ratatui-explorer v0.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7480fcc9275078f2b18922ec288aaf3afecb0adb8b3dd49afae971f02f7e79d8
[INFO] running `Command { std: "docker" "start" "7480fcc9275078f2b18922ec288aaf3afecb0adb8b3dd49afae971f02f7e79d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7480fcc9275078f2b18922ec288aaf3afecb0adb8b3dd49afae971f02f7e79d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7480fcc9275078f2b18922ec288aaf3afecb0adb8b3dd49afae971f02f7e79d8" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7480fcc9275078f2b18922ec288aaf3afecb0adb8b3dd49afae971f02f7e79d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7480fcc9275078f2b18922ec288aaf3afecb0adb8b3dd49afae971f02f7e79d8" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling winnow v1.0.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]    Compiling block-padding v0.3.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling env_filter v1.0.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling indexmap v2.13.1
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling wincode v0.5.2
[INFO] [stderr]    Compiling arbitrary-int v2.1.1
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling jiff v0.2.23
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling pastey v0.2.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling arraydeque v0.5.1
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling dlv-list v0.5.2
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling ordered-multimap v0.7.3
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling yaml-rust2 v0.10.4
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling rust-ini v0.21.3
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling cbc v0.1.2
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling downcast-rs v2.0.2
[INFO] [stderr]    Compiling md5 v0.8.0
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling simple-xml v0.1.10
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling clap-num v1.2.0
[INFO] [stderr]    Compiling human_bytes v0.4.3
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling toml_edit v0.25.10+spec-1.1.0
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling serde-untagged v0.1.9
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling winresource v0.1.31
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling antumbra v1.1.0 (/opt/rustwide/workdir/tui)
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling env_logger v0.11.10
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling num_enum_derive v0.7.6
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling bilge-impl v0.3.0
[INFO] [stderr]    Compiling xmlcmd-derive v0.1.0 (/opt/rustwide/workdir/core/xmlcmd_derive)
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling tokio v1.51.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling num_enum v0.7.6
[INFO] [stderr]    Compiling bilge v0.3.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]    Compiling nusb v0.2.3
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling wincode-derive v0.4.3
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling json5 v0.4.1
[INFO] [stderr]    Compiling ron v0.12.1
[INFO] [stderr]    Compiling config v0.15.22
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling penumbra v1.1.0 (/opt/rustwide/workdir/core)
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stdout] warning: unused macro definition: `info_dialog`
[INFO] [stdout]  --> tui/src/macros.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | macro_rules! info_dialog {
[INFO] [stdout]   |              ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `error_dialog`
[INFO] [stdout]   --> tui/src/macros.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 21 | macro_rules! error_dialog {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `dialog`
[INFO] [stdout]   --> tui/src/macros.rs:40:14
[INFO] [stdout]    |
[INFO] [stdout] 40 | macro_rules! dialog {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `ok_dialog`
[INFO] [stdout]   --> tui/src/macros.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 | macro_rules! ok_dialog {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `confirm_dialog`
[INFO] [stdout]   --> tui/src/macros.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 | macro_rules! confirm_dialog {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CliCommand` is never used
[INFO] [stdout]   --> tui/src/cli/mod.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub trait CliCommand {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AntumbraConfig` is never constructed
[INFO] [stdout]   --> tui/src/config.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct AntumbraConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `save`, and `get_path` are never used
[INFO] [stdout]   --> tui/src/config.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl AntumbraConfig {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 25 |     pub fn load() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn save(&self) -> Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn get_path() -> Option<PathBuf> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 18s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "7480fcc9275078f2b18922ec288aaf3afecb0adb8b3dd49afae971f02f7e79d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7480fcc9275078f2b18922ec288aaf3afecb0adb8b3dd49afae971f02f7e79d8" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling xmlcmd-derive v0.1.0 (/opt/rustwide/workdir/core/xmlcmd_derive)
[INFO] [stderr]    Compiling penumbra v1.1.0 (/opt/rustwide/workdir/core)
[INFO] [stderr]    Compiling antumbra v1.1.0 (/opt/rustwide/workdir/tui)
[INFO] [stdout] warning: unused macro definition: `info_dialog`
[INFO] [stdout]  --> tui/src/macros.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | macro_rules! info_dialog {
[INFO] [stdout]   |              ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `error_dialog`
[INFO] [stdout]   --> tui/src/macros.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 21 | macro_rules! error_dialog {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `dialog`
[INFO] [stdout]   --> tui/src/macros.rs:40:14
[INFO] [stdout]    |
[INFO] [stdout] 40 | macro_rules! dialog {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `ok_dialog`
[INFO] [stdout]   --> tui/src/macros.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 | macro_rules! ok_dialog {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `confirm_dialog`
[INFO] [stdout]   --> tui/src/macros.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 | macro_rules! confirm_dialog {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CliCommand` is never used
[INFO] [stdout]   --> tui/src/cli/mod.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub trait CliCommand {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AntumbraConfig` is never constructed
[INFO] [stdout]   --> tui/src/config.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct AntumbraConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `save`, and `get_path` are never used
[INFO] [stdout]   --> tui/src/config.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl AntumbraConfig {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 25 |     pub fn load() -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn save(&self) -> Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn get_path() -> Option<PathBuf> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 10.70s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "7480fcc9275078f2b18922ec288aaf3afecb0adb8b3dd49afae971f02f7e79d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7480fcc9275078f2b18922ec288aaf3afecb0adb8b3dd49afae971f02f7e79d8" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused macro definition: `info_dialog`
[INFO] [stderr]  --> tui/src/macros.rs:7:14
[INFO] [stderr]   |
[INFO] [stderr] 7 | macro_rules! info_dialog {
[INFO] [stderr]   |              ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `error_dialog`
[INFO] [stderr]   --> tui/src/macros.rs:21:14
[INFO] [stderr]    |
[INFO] [stderr] 21 | macro_rules! error_dialog {
[INFO] [stderr]    |              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `dialog`
[INFO] [stderr]   --> tui/src/macros.rs:40:14
[INFO] [stderr]    |
[INFO] [stderr] 40 | macro_rules! dialog {
[INFO] [stderr]    |              ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `ok_dialog`
[INFO] [stderr]   --> tui/src/macros.rs:54:14
[INFO] [stderr]    |
[INFO] [stderr] 54 | macro_rules! ok_dialog {
[INFO] [stderr]    |              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `confirm_dialog`
[INFO] [stderr]   --> tui/src/macros.rs:61:14
[INFO] [stderr]    |
[INFO] [stderr] 61 | macro_rules! confirm_dialog {
[INFO] [stderr]    |              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `CliCommand` is never used
[INFO] [stderr]   --> tui/src/cli/mod.rs:51:11
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub trait CliCommand {
[INFO] [stderr]    |           ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AntumbraConfig` is never constructed
[INFO] [stderr]   --> tui/src/config.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct AntumbraConfig {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `load`, `save`, and `get_path` are never used
[INFO] [stderr]   --> tui/src/config.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 24 | impl AntumbraConfig {
[INFO] [stderr]    | ------------------- associated items in this implementation
[INFO] [stderr] 25 |     pub fn load() -> Self {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn save(&self) -> Result<()> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |     fn get_path() -> Option<PathBuf> {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `antumbra` (bin "antumbra" test) generated 8 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.37s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/antumbra-683616341dede141)
[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]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/penumbra-3769cf8841d5273f)
[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]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/xmlcmd_derive-135b576fab5bca7c)
[INFO] [stderr]    Doc-tests penumbra
[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] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test core/src/device.rs - device::Device::enter_da_mode (line 267) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::erase_partition (line 514) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::init (line 177) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::peek (line 843) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::auth_rpmb (line 1010) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::poke (line 880) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::upload (line 710) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::set_seccfg_lock_state (line 818) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::get_partitions (line 399) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::reboot (line 793) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::shutdown (line 771) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::read_offset (line 549) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::download (line 677) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::write_offset (line 592) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::DeviceBuilder (line 31) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::format (line 744) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::read_rpmb (line 918) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::write_rpmb (line 963) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::erase_offset (line 638) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- core/src/device.rs - device::Device::enter_da_mode (line 267) 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]    --> core/src/device.rs:271:58
[INFO] [stdout]     |
[INFO] [stdout] 268 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_267_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 271 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 268 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_267_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 269 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 277 | device.enter_da_mode()?;
[INFO] [stdout] 278 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:274:83
[INFO] [stdout]     |
[INFO] [stdout] 268 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_267_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 274 |     DeviceBuilder::default().with_mtk_port(mtk_port).with_da_data(da_data).build()?;
[INFO] [stdout]     |                                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 268 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_267_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 269 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 277 | device.enter_da_mode()?;
[INFO] [stdout] 278 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:276:14
[INFO] [stdout]     |
[INFO] [stdout] 268 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_267_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 276 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 268 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_267_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 269 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 277 | device.enter_da_mode()?;
[INFO] [stdout] 278 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:277:23
[INFO] [stdout]     |
[INFO] [stdout] 268 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_267_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 277 | device.enter_da_mode()?;
[INFO] [stdout]     |                       ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 268 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_267_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 269 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 277 | device.enter_da_mode()?;
[INFO] [stdout] 278 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::erase_partition (line 514) 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]    --> core/src/device.rs:518:58
[INFO] [stdout]     |
[INFO] [stdout] 515 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_514_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 518 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 515 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_514_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 516 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 527 | device.erase_partition("userdata", &mut progress)?;
[INFO] [stdout] 528 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:521:83
[INFO] [stdout]     |
[INFO] [stdout] 515 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_514_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 521 |     DeviceBuilder::default().with_mtk_port(mtk_port).with_da_data(da_data).build()?;
[INFO] [stdout]     |                                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 515 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_514_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 516 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 527 | device.erase_partition("userdata", &mut progress)?;
[INFO] [stdout] 528 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:523:14
[INFO] [stdout]     |
[INFO] [stdout] 515 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_514_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 523 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 515 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_514_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 516 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 527 | device.erase_partition("userdata", &mut progress)?;
[INFO] [stdout] 528 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:527:50
[INFO] [stdout]     |
[INFO] [stdout] 515 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_514_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 527 | device.erase_partition("userdata", &mut progress)?;
[INFO] [stdout]     |                                                  ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 515 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_514_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 516 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 527 | device.erase_partition("userdata", &mut progress)?;
[INFO] [stdout] 528 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::init (line 177) 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]    --> core/src/device.rs:181:58
[INFO] [stdout]     |
[INFO] [stdout] 178 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_177_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 181 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 178 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_177_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 179 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 185 | assert_eq!(device.connected, true);
[INFO] [stdout] 186 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:182:74
[INFO] [stdout]     |
[INFO] [stdout] 178 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_177_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 182 | let mut device = DeviceBuilder::default().with_mtk_port(mtk_port).build()?;
[INFO] [stdout]     |                                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 178 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_177_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 179 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 185 | assert_eq!(device.connected, true);
[INFO] [stdout] 186 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:184:14
[INFO] [stdout]     |
[INFO] [stdout] 178 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_177_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 184 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 178 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_177_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 179 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 185 | assert_eq!(device.connected, true);
[INFO] [stdout] 186 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `connected` of struct `Device` is private
[INFO] [stdout]    --> core/src/device.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 185 | assert_eq!(device.connected, true);
[INFO] [stdout]     |                   ^^^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0616.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::peek (line 843) 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]    --> core/src/device.rs:850:58
[INFO] [stdout]     |
[INFO] [stdout] 844 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_843_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 850 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 844 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_843_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 845 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 861 | device.peek(0x0010_0000, 0x1000, &mut writer, &mut progress)?;
[INFO] [stdout] 862 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:853:83
[INFO] [stdout]     |
[INFO] [stdout] 844 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_843_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 853 |     DeviceBuilder::default().with_mtk_port(mtk_port).with_da_data(da_data).build()?;
[INFO] [stdout]     |                                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 844 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_843_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 845 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 861 | device.peek(0x0010_0000, 0x1000, &mut writer, &mut progress)?;
[INFO] [stdout] 862 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:855:14
[INFO] [stdout]     |
[INFO] [stdout] 844 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_843_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 855 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 844 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_843_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 845 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 861 | device.peek(0x0010_0000, 0x1000, &mut writer, &mut progress)?;
[INFO] [stdout] 862 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:856:36
[INFO] [stdout]     |
[INFO] [stdout] 844 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_843_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 856 | let file = File::create("dump.bin")?;
[INFO] [stdout]     |                                    ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 844 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_843_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 845 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 861 | device.peek(0x0010_0000, 0x1000, &mut writer, &mut progress)?;
[INFO] [stdout] 862 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:861:61
[INFO] [stdout]     |
[INFO] [stdout] 844 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_843_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 861 | device.peek(0x0010_0000, 0x1000, &mut writer, &mut progress)?;
[INFO] [stdout]     |                                                             ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 844 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_843_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 845 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 861 | device.peek(0x0010_0000, 0x1000, &mut writer, &mut progress)?;
[INFO] [stdout] 862 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::auth_rpmb (line 1010) 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]     --> core/src/device.rs:1014:58
[INFO] [stdout]      |
[INFO] [stdout] 1011 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1010_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1014 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]      |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]      |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]      |
[INFO] [stdout] 1011 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1010_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1012 | use penumbra::{DeviceBuilder, RpmbRegion, find_mtk_port};
[INFO] [stdout]  ...
[INFO] [stdout] 1021 | device.auth_rpmb(RpmbRegion::Emmc, key)?;
[INFO] [stdout] 1022 +     Ok(())
[INFO] [stdout]      |
[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]     --> core/src/device.rs:1017:83
[INFO] [stdout]      |
[INFO] [stdout] 1011 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1010_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1017 |     DeviceBuilder::default().with_mtk_port(mtk_port).with_da_data(da_data).build()?;
[INFO] [stdout]      |                                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]      |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]      |
[INFO] [stdout] 1011 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1010_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1012 | use penumbra::{DeviceBuilder, RpmbRegion, find_mtk_port};
[INFO] [stdout]  ...
[INFO] [stdout] 1021 | device.auth_rpmb(RpmbRegion::Emmc, key)?;
[INFO] [stdout] 1022 +     Ok(())
[INFO] [stdout]      |
[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]     --> core/src/device.rs:1019:14
[INFO] [stdout]      |
[INFO] [stdout] 1011 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1010_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1019 | device.init()?;
[INFO] [stdout]      |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]      |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]      |
[INFO] [stdout] 1011 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1010_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1012 | use penumbra::{DeviceBuilder, RpmbRegion, find_mtk_port};
[INFO] [stdout]  ...
[INFO] [stdout] 1021 | device.auth_rpmb(RpmbRegion::Emmc, key)?;
[INFO] [stdout] 1022 +     Ok(())
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Emmc` found for enum `RpmbRegion` in the current scope
[INFO] [stdout]     --> core/src/device.rs:1021:30
[INFO] [stdout]      |
[INFO] [stdout] 1021 | device.auth_rpmb(RpmbRegion::Emmc, key)?;
[INFO] [stdout]      |                              ^^^^ variant, associated function, or constant not found in `RpmbRegion`
[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]     --> core/src/device.rs:1021:40
[INFO] [stdout]      |
[INFO] [stdout] 1011 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1010_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1021 | device.auth_rpmb(RpmbRegion::Emmc, key)?;
[INFO] [stdout]      |                                        ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]      |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]      |
[INFO] [stdout] 1011 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1010_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1012 | use penumbra::{DeviceBuilder, RpmbRegion, find_mtk_port};
[INFO] [stdout]  ...
[INFO] [stdout] 1021 | device.auth_rpmb(RpmbRegion::Emmc, key)?;
[INFO] [stdout] 1022 +     Ok(())
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::poke (line 880) 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]    --> core/src/device.rs:887:58
[INFO] [stdout]     |
[INFO] [stdout] 881 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_880_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 887 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 881 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_880_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 882 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 898 | device.poke(0x0010_0000, 0x1000, &mut reader, &mut progress)?;
[INFO] [stdout] 899 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:890:83
[INFO] [stdout]     |
[INFO] [stdout] 881 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_880_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 890 |     DeviceBuilder::default().with_mtk_port(mtk_port).with_da_data(da_data).build()?;
[INFO] [stdout]     |                                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 881 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_880_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 882 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 898 | device.poke(0x0010_0000, 0x1000, &mut reader, &mut progress)?;
[INFO] [stdout] 899 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:892:14
[INFO] [stdout]     |
[INFO] [stdout] 881 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_880_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 892 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 881 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_880_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 882 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 898 | device.poke(0x0010_0000, 0x1000, &mut reader, &mut progress)?;
[INFO] [stdout] 899 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:893:34
[INFO] [stdout]     |
[INFO] [stdout] 881 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_880_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 893 | let file = File::open("dump.bin")?;
[INFO] [stdout]     |                                  ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 881 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_880_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 882 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 898 | device.poke(0x0010_0000, 0x1000, &mut reader, &mut progress)?;
[INFO] [stdout] 899 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:898:61
[INFO] [stdout]     |
[INFO] [stdout] 881 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_880_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 898 | device.poke(0x0010_0000, 0x1000, &mut reader, &mut progress)?;
[INFO] [stdout]     |                                                             ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 881 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_880_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 882 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 898 | device.poke(0x0010_0000, 0x1000, &mut reader, &mut progress)?;
[INFO] [stdout] 899 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::upload (line 710) 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]    --> core/src/device.rs:717:58
[INFO] [stdout]     |
[INFO] [stdout] 711 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_710_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 717 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 711 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_710_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 712 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 729 | device.upload("logo", &mut writer, &mut progress)?;
[INFO] [stdout] 730 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:720:83
[INFO] [stdout]     |
[INFO] [stdout] 711 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_710_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 720 |     DeviceBuilder::default().with_mtk_port(mtk_port).with_da_data(da_data).build()?;
[INFO] [stdout]     |                                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 711 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_710_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 712 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 729 | device.upload("logo", &mut writer, &mut progress)?;
[INFO] [stdout] 730 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:722:14
[INFO] [stdout]     |
[INFO] [stdout] 711 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_710_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 722 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 711 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_710_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 712 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 729 | device.upload("logo", &mut writer, &mut progress)?;
[INFO] [stdout] 730 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:724:36
[INFO] [stdout]     |
[INFO] [stdout] 711 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_710_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 724 | let file = File::create("logo.bin")?;
[INFO] [stdout]     |                                    ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 711 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_710_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 712 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 729 | device.upload("logo", &mut writer, &mut progress)?;
[INFO] [stdout] 730 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:729:50
[INFO] [stdout]     |
[INFO] [stdout] 711 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_710_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 729 | device.upload("logo", &mut writer, &mut progress)?;
[INFO] [stdout]     |                                                  ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 711 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_710_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 712 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 729 | device.upload("logo", &mut writer, &mut progress)?;
[INFO] [stdout] 730 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::set_seccfg_lock_state (line 818) 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]    --> core/src/device.rs:822:58
[INFO] [stdout]     |
[INFO] [stdout] 819 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_818_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 822 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 819 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_818_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 820 | use penumbra::{DeviceBuilder, LockFlag, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 828 | let seccfg = device.set_seccfg_lock_state(LockFlag::Unlock);
[INFO] [stdout] 829 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:825:83
[INFO] [stdout]     |
[INFO] [stdout] 819 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_818_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 825 |     DeviceBuilder::default().with_mtk_port(mtk_port).with_da_data(da_data).build()?;
[INFO] [stdout]     |                                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 819 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_818_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 820 | use penumbra::{DeviceBuilder, LockFlag, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 828 | let seccfg = device.set_seccfg_lock_state(LockFlag::Unlock);
[INFO] [stdout] 829 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:827:14
[INFO] [stdout]     |
[INFO] [stdout] 819 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_818_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 827 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 819 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_818_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 820 | use penumbra::{DeviceBuilder, LockFlag, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 828 | let seccfg = device.set_seccfg_lock_state(LockFlag::Unlock);
[INFO] [stdout] 829 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::get_partitions (line 399) 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]    --> core/src/device.rs:403:58
[INFO] [stdout]     |
[INFO] [stdout] 400 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_399_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 403 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 400 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_399_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                                                                  +++++++++++++++++++++++++++++++++++++++++
[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]    --> core/src/device.rs:406:83
[INFO] [stdout]     |
[INFO] [stdout] 400 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_399_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 406 |     DeviceBuilder::default().with_mtk_port(mtk_port).with_da_data(da_data).build()?;
[INFO] [stdout]     |                                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 400 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_399_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                                                                  +++++++++++++++++++++++++++++++++++++++++
[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]    --> core/src/device.rs:408:14
[INFO] [stdout]     |
[INFO] [stdout] 400 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_399_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 408 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 400 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_399_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                                                                  +++++++++++++++++++++++++++++++++++++++++
[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]    --> core/src/device.rs:409:23
[INFO] [stdout]     |
[INFO] [stdout] 400 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_399_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 409 | device.enter_da_mode()?;
[INFO] [stdout]     |                       ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 400 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_399_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                                                                  +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::reboot (line 793) 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]    --> core/src/device.rs:797:58
[INFO] [stdout]     |
[INFO] [stdout] 794 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_793_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 797 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 794 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_793_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 795 | use penumbra::{BootMode, DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 803 | device.reboot(BootMode::Normal)?;
[INFO] [stdout] 804 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:800:83
[INFO] [stdout]     |
[INFO] [stdout] 794 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_793_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 800 |     DeviceBuilder::default().with_mtk_port(mtk_port).with_da_data(da_data).build()?;
[INFO] [stdout]     |                                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 794 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_793_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 795 | use penumbra::{BootMode, DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 803 | device.reboot(BootMode::Normal)?;
[INFO] [stdout] 804 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:802:14
[INFO] [stdout]     |
[INFO] [stdout] 794 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_793_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 802 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 794 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_793_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 795 | use penumbra::{BootMode, DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 803 | device.reboot(BootMode::Normal)?;
[INFO] [stdout] 804 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:803:32
[INFO] [stdout]     |
[INFO] [stdout] 794 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_793_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 803 | device.reboot(BootMode::Normal)?;
[INFO] [stdout]     |                                ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 794 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_793_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 795 | use penumbra::{BootMode, DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 803 | device.reboot(BootMode::Normal)?;
[INFO] [stdout] 804 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::shutdown (line 771) 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]    --> core/src/device.rs:775:58
[INFO] [stdout]     |
[INFO] [stdout] 772 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_771_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 775 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 772 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_771_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 773 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 781 | device.shutdown()?;
[INFO] [stdout] 782 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:778:83
[INFO] [stdout]     |
[INFO] [stdout] 772 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_771_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 778 |     DeviceBuilder::default().with_mtk_port(mtk_port).with_da_data(da_data).build()?;
[INFO] [stdout]     |                                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 772 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_771_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 773 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 781 | device.shutdown()?;
[INFO] [stdout] 782 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:780:14
[INFO] [stdout]     |
[INFO] [stdout] 772 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_771_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 780 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 772 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_771_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 773 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 781 | device.shutdown()?;
[INFO] [stdout] 782 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:781:18
[INFO] [stdout]     |
[INFO] [stdout] 772 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_771_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 781 | device.shutdown()?;
[INFO] [stdout]     |                  ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 772 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_771_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 773 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 781 | device.shutdown()?;
[INFO] [stdout] 782 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::read_offset (line 549) 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]    --> core/src/device.rs:554:58
[INFO] [stdout]     |
[INFO] [stdout] 550 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_549_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 554 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 550 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_549_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 551 | // Let's assume we want to read preloader
[INFO] [stdout] ...
[INFO] [stdout] 567 | )?;
[INFO] [stdout] 568 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:555:74
[INFO] [stdout]     |
[INFO] [stdout] 550 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_549_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 555 | let mut device = DeviceBuilder::default().with_mtk_port(mtk_port).build()?;
[INFO] [stdout]     |                                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 550 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_549_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 551 | // Let's assume we want to read preloader
[INFO] [stdout] ...
[INFO] [stdout] 567 | )?;
[INFO] [stdout] 568 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:557:14
[INFO] [stdout]     |
[INFO] [stdout] 550 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_549_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 557 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 550 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_549_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 551 | // Let's assume we want to read preloader
[INFO] [stdout] ...
[INFO] [stdout] 567 | )?;
[INFO] [stdout] 568 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `EmmcPartition` in this scope
[INFO] [stdout]    --> core/src/device.rs:565:25
[INFO] [stdout]     |
[INFO] [stdout] 565 |     PartitionKind::Emmc(EmmcPartition::Boot1),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ use of undeclared type `EmmcPartition`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `{closure@core/src/device.rs:13:20: 13:47}: std::io::Write` is not satisfied
[INFO] [stdout]    --> core/src/device.rs:566:10
[INFO] [stdout]     |
[INFO] [stdout] 562 | let preloader_data = device.read_offset(
[INFO] [stdout]     |                             ----------- required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 566 |     &mut progress,
[INFO] [stdout]     |          ^^^^^^^^ the trait `std::io::Write` is not implemented for closure `{closure@core/src/device.rs:13:20: 13:47}`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `&mut {closure@core/src/device.rs:13:20: 13:47}` to implement `std::io::Write`
[INFO] [stdout] note: required by a bound in `Device::read_offset`
[INFO] [stdout]    --> core/src/device.rs:577:12
[INFO] [stdout]     |
[INFO] [stdout] 568 |     pub fn read_offset<W, F>(
[INFO] [stdout]     |            ----------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 577 |         W: Write + Send,
[INFO] [stdout]     |            ^^^^^ required by this bound in `Device::read_offset`
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 5 arguments but 4 arguments were supplied
[INFO] [stdout]    --> core/src/device.rs:562:29
[INFO] [stdout]     |
[INFO] [stdout] 562 |   let preloader_data = device.read_offset(
[INFO] [stdout]     |  _____________________________^^^^^^^^^^^-
[INFO] [stdout] 563 | |     0x0,
[INFO] [stdout] 564 | |     0x40000,
[INFO] [stdout] 565 | |     PartitionKind::Emmc(EmmcPartition::Boot1),
[INFO] [stdout] 566 | |     &mut progress,
[INFO] [stdout] 567 | | )?;
[INFO] [stdout]     | |_- argument #5 is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> core/src/device.rs:568:12
[INFO] [stdout]     |
[INFO] [stdout] 568 |     pub fn read_offset<W, F>(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 562 | let preloader_data = device.read_offset(
[INFO] [stdout] ...
[INFO] [stdout] 566 |     &mut progress,
[INFO] [stdout] 567 +     /* progress */,
[INFO] [stdout]     |
[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]    --> core/src/device.rs:567:2
[INFO] [stdout]     |
[INFO] [stdout] 550 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_549_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 567 | )?;
[INFO] [stdout]     |  ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 550 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_549_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 551 | // Let's assume we want to read preloader
[INFO] [stdout] ...
[INFO] [stdout] 567 | )?;
[INFO] [stdout] 568 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::download (line 677) 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]    --> core/src/device.rs:681:58
[INFO] [stdout]     |
[INFO] [stdout] 678 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_677_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 681 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 678 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_677_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 679 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 686 | device.download("logo", firmware_data.len(), &firmware_data)?;
[INFO] [stdout] 687 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:682:74
[INFO] [stdout]     |
[INFO] [stdout] 678 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_677_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 682 | let mut device = DeviceBuilder::default().with_mtk_port(mtk_port).build()?;
[INFO] [stdout]     |                                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 678 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_677_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 679 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 686 | device.download("logo", firmware_data.len(), &firmware_data)?;
[INFO] [stdout] 687 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:684:14
[INFO] [stdout]     |
[INFO] [stdout] 678 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_677_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 684 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 678 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_677_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 679 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 686 | device.download("logo", firmware_data.len(), &firmware_data)?;
[INFO] [stdout] 687 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&Vec<u8>: std::io::Read` is not satisfied
[INFO] [stdout]    --> core/src/device.rs:686:46
[INFO] [stdout]     |
[INFO] [stdout] 686 | device.download("logo", firmware_data.len(), &firmware_data)?;
[INFO] [stdout]     |        --------                              ^^^^^^^^^^^^^^ the trait `std::io::Read` is not implemented for `&Vec<u8>`
[INFO] [stdout]     |        |
[INFO] [stdout]     |        required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `Device::download`
[INFO] [stdout]    --> core/src/device.rs:695:12
[INFO] [stdout]     |
[INFO] [stdout] 687 |     pub fn download<R, F>(
[INFO] [stdout]     |            -------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 695 |         R: Read + Send,
[INFO] [stdout]     |            ^^^^ required by this bound in `Device::download`
[INFO] [stdout] help: consider dereferencing here
[INFO] [stdout]     |
[INFO] [stdout] 686 | device.download("logo", firmware_data.len(), &*firmware_data)?;
[INFO] [stdout]     |                                               +
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> core/src/device.rs:686:8
[INFO] [stdout]     |
[INFO] [stdout] 686 | device.download("logo", firmware_data.len(), &firmware_data)?;
[INFO] [stdout]     |        ^^^^^^^^--------------------------------------------- argument #4 is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> core/src/device.rs:687:12
[INFO] [stdout]     |
[INFO] [stdout] 687 |     pub fn download<R, F>(
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 686 | device.download("logo", firmware_data.len(), &firmware_data, /* progress */)?;
[INFO] [stdout]     |                                                            ++++++++++++++++
[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]    --> core/src/device.rs:686:61
[INFO] [stdout]     |
[INFO] [stdout] 678 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_677_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 686 | device.download("logo", firmware_data.len(), &firmware_data)?;
[INFO] [stdout]     |                                                             ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 678 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_677_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 679 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 686 | device.download("logo", firmware_data.len(), &firmware_data)?;
[INFO] [stdout] 687 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::write_offset (line 592) 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]    --> core/src/device.rs:597:58
[INFO] [stdout]     |
[INFO] [stdout] 593 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_592_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 597 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 593 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_592_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 594 | // Let's assume we want to write to preloader
[INFO] [stdout] ...
[INFO] [stdout] 613 | )?;
[INFO] [stdout] 614 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:598:74
[INFO] [stdout]     |
[INFO] [stdout] 593 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_592_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 598 | let mut device = DeviceBuilder::default().with_mtk_port(mtk_port).build()?;
[INFO] [stdout]     |                                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 593 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_592_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 594 | // Let's assume we want to write to preloader
[INFO] [stdout] ...
[INFO] [stdout] 613 | )?;
[INFO] [stdout] 614 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:600:14
[INFO] [stdout]     |
[INFO] [stdout] 593 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_592_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 600 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 593 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_592_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 594 | // Let's assume we want to write to preloader
[INFO] [stdout] ...
[INFO] [stdout] 613 | )?;
[INFO] [stdout] 614 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `EmmcPartition` in this scope
[INFO] [stdout]    --> core/src/device.rs:611:25
[INFO] [stdout]     |
[INFO] [stdout] 611 |     PartitionKind::Emmc(EmmcPartition::Boot1),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^ use of undeclared type `EmmcPartition`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PartitionKind: std::io::Read` is not satisfied
[INFO] [stdout]    --> core/src/device.rs:611:5
[INFO] [stdout]     |
[INFO] [stdout] 607 | device.write_offset(
[INFO] [stdout]     |        ------------ required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 611 |     PartitionKind::Emmc(EmmcPartition::Boot1),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::io::Read` is not implemented for `PartitionKind`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `Device::write_offset`
[INFO] [stdout]    --> core/src/device.rs:623:12
[INFO] [stdout]     |
[INFO] [stdout] 614 |     pub fn write_offset<R, F>(
[INFO] [stdout]     |            ------------ required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 623 |         R: Read + Send,
[INFO] [stdout]     |            ^^^^ required by this bound in `Device::write_offset`
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/src/device.rs:610:5
[INFO] [stdout]     |
[INFO] [stdout] 607 | device.write_offset(
[INFO] [stdout]     |        ------------ arguments to this method are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 610 |     &preloader_data,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ expected `PartitionKind`, found `&Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `PartitionKind`
[INFO] [stdout]             found reference `&Vec<u8>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> core/src/device.rs:614:12
[INFO] [stdout]     |
[INFO] [stdout] 614 |     pub fn write_offset<R, F>(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[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]    --> core/src/device.rs:613:2
[INFO] [stdout]     |
[INFO] [stdout] 593 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_592_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 613 | )?;
[INFO] [stdout]     |  ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 593 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_592_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 594 | // Let's assume we want to write to preloader
[INFO] [stdout] ...
[INFO] [stdout] 613 | )?;
[INFO] [stdout] 614 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::DeviceBuilder (line 31) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `your_mtk_port` in this scope
[INFO] [stdout]   --> core/src/device.rs:38:44
[INFO] [stdout]    |
[INFO] [stdout] 38 |     DeviceBuilder::default().with_mtk_port(your_mtk_port).with_da_data(your_da_data).build()?;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: core/src/connection/port.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn find_mtk_port() -> Option<Box<dyn MTKPort>> {
[INFO] [stdout]    | -------------------------------------------------- similarly named function `find_mtk_port` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 38 -     DeviceBuilder::default().with_mtk_port(your_mtk_port).with_da_data(your_da_data).build()?;
[INFO] [stdout] 38 +     DeviceBuilder::default().with_mtk_port(find_mtk_port).with_da_data(your_da_data).build()?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `your_da_data` in this scope
[INFO] [stdout]   --> core/src/device.rs:38:72
[INFO] [stdout]    |
[INFO] [stdout] 38 |     DeviceBuilder::default().with_mtk_port(your_mtk_port).with_da_data(your_da_data).build()?;
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> core/src/device.rs:35:32
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_31_0() {
[INFO] [stdout]    |                                      ------------------------------------------ this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 35 | let mtk_port = find_mtk_port().await.ok_or("No MTK port found")?;
[INFO] [stdout]    |                                ^^^^^ only allowed inside `async` functions and blocks
[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]   --> core/src/device.rs:38:93
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_31_0() {
[INFO] [stdout]    |                                      ------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 38 |     DeviceBuilder::default().with_mtk_port(your_mtk_port).with_da_data(your_da_data).build()?;
[INFO] [stdout]    |                                                                                             ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 32 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_31_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 33 | use penumbra::{Device, DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 38 |     DeviceBuilder::default().with_mtk_port(your_mtk_port).with_da_data(your_da_data).build()?;
[INFO] [stdout] 39 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::format (line 744) 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]    --> core/src/device.rs:748:58
[INFO] [stdout]     |
[INFO] [stdout] 745 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_744_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 748 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 745 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_744_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 746 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 757 | device.format("userdata", &mut progress)?;
[INFO] [stdout] 758 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:751:83
[INFO] [stdout]     |
[INFO] [stdout] 745 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_744_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 751 |     DeviceBuilder::default().with_mtk_port(mtk_port).with_da_data(da_data).build()?;
[INFO] [stdout]     |                                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 745 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_744_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 746 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 757 | device.format("userdata", &mut progress)?;
[INFO] [stdout] 758 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:753:14
[INFO] [stdout]     |
[INFO] [stdout] 745 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_744_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 753 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 745 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_744_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 746 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 757 | device.format("userdata", &mut progress)?;
[INFO] [stdout] 758 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:757:41
[INFO] [stdout]     |
[INFO] [stdout] 745 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_744_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 757 | device.format("userdata", &mut progress)?;
[INFO] [stdout]     |                                         ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 745 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_744_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 746 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 757 | device.format("userdata", &mut progress)?;
[INFO] [stderr] error: doctest failed, to rerun pass `-p penumbra --doc`
[INFO] [stdout] 758 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::read_rpmb (line 918) 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]    --> core/src/device.rs:925:58
[INFO] [stdout]     |
[INFO] [stdout] 919 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_918_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 925 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 919 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_918_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 920 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 936 | device.read_rpmb(RpmbRegion::Emmc, 0, 1, &mut writer, &mut progress)?;
[INFO] [stdout] 937 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:928:83
[INFO] [stdout]     |
[INFO] [stdout] 919 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_918_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 928 |     DeviceBuilder::default().with_mtk_port(mtk_port).with_da_data(da_data).build()?;
[INFO] [stdout]     |                                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 919 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_918_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 920 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 936 | device.read_rpmb(RpmbRegion::Emmc, 0, 1, &mut writer, &mut progress)?;
[INFO] [stdout] 937 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:930:14
[INFO] [stdout]     |
[INFO] [stdout] 919 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_918_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 930 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 919 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_918_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 920 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 936 | device.read_rpmb(RpmbRegion::Emmc, 0, 1, &mut writer, &mut progress)?;
[INFO] [stdout] 937 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:931:41
[INFO] [stdout]     |
[INFO] [stdout] 919 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_918_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 931 | let file = File::create("rpmb_dump.bin")?;
[INFO] [stdout]     |                                         ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 919 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_918_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 920 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 936 | device.read_rpmb(RpmbRegion::Emmc, 0, 1, &mut writer, &mut progress)?;
[INFO] [stdout] 937 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Emmc` found for enum `RpmbRegion` in the current scope
[INFO] [stdout]    --> core/src/device.rs:936:30
[INFO] [stdout]     |
[INFO] [stdout] 936 | device.read_rpmb(RpmbRegion::Emmc, 0, 1, &mut writer, &mut progress)?;
[INFO] [stdout]     |                              ^^^^ variant, associated function, or constant not found in `RpmbRegion`
[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]    --> core/src/device.rs:936:69
[INFO] [stdout]     |
[INFO] [stdout] 919 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_918_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 936 | device.read_rpmb(RpmbRegion::Emmc, 0, 1, &mut writer, &mut progress)?;
[INFO] [stdout]     |                                                                     ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 919 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_918_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 920 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 936 | device.read_rpmb(RpmbRegion::Emmc, 0, 1, &mut writer, &mut progress)?;
[INFO] [stdout] 937 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::write_rpmb (line 963) 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]    --> core/src/device.rs:970:58
[INFO] [stdout]     |
[INFO] [stdout] 964 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_963_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 970 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 964 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_963_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 965 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 981 | device.write_rpmb(RpmbRegion::Emmc, 0, 1, &mut reader, &mut progress)?;
[INFO] [stdout] 982 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:973:83
[INFO] [stdout]     |
[INFO] [stdout] 964 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_963_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 973 |     DeviceBuilder::default().with_mtk_port(mtk_port).with_da_data(da_data).build()?;
[INFO] [stdout]     |                                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 964 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_963_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 965 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 981 | device.write_rpmb(RpmbRegion::Emmc, 0, 1, &mut reader, &mut progress)?;
[INFO] [stdout] 982 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:975:14
[INFO] [stdout]     |
[INFO] [stdout] 964 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_963_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 975 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 964 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_963_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 965 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 981 | device.write_rpmb(RpmbRegion::Emmc, 0, 1, &mut reader, &mut progress)?;
[INFO] [stdout] 982 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:976:39
[INFO] [stdout]     |
[INFO] [stdout] 964 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_963_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 976 | let file = File::open("rpmb_data.bin")?;
[INFO] [stdout]     |                                       ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 964 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_963_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 965 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 981 | device.write_rpmb(RpmbRegion::Emmc, 0, 1, &mut reader, &mut progress)?;
[INFO] [stdout] 982 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Emmc` found for enum `RpmbRegion` in the current scope
[INFO] [stdout]    --> core/src/device.rs:981:31
[INFO] [stdout]     |
[INFO] [stdout] 981 | device.write_rpmb(RpmbRegion::Emmc, 0, 1, &mut reader, &mut progress)?;
[INFO] [stdout]     |                               ^^^^ variant, associated function, or constant not found in `RpmbRegion`
[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]    --> core/src/device.rs:981:70
[INFO] [stdout]     |
[INFO] [stdout] 964 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_963_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 981 | device.write_rpmb(RpmbRegion::Emmc, 0, 1, &mut reader, &mut progress)?;
[INFO] [stdout]     |                                                                      ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 964 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_963_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 965 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 981 | device.write_rpmb(RpmbRegion::Emmc, 0, 1, &mut reader, &mut progress)?;
[INFO] [stdout] 982 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- core/src/device.rs - device::Device::erase_offset (line 638) 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]    --> core/src/device.rs:642:58
[INFO] [stdout]     |
[INFO] [stdout] 639 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_638_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 642 | let mtk_port = find_mtk_port().ok_or("No MTK port found")?;
[INFO] [stdout]     |                                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 639 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_638_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 640 | use penumbra::{DeviceBuilder, PartitionKind, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 651 | device.erase_offset(0x0, 0x40000, PartitionKind::Emmc(EmmcPartition::Boot1), &mut progress)?;
[INFO] [stdout] 652 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:645:83
[INFO] [stdout]     |
[INFO] [stdout] 639 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_638_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 645 |     DeviceBuilder::default().with_mtk_port(mtk_port).with_da_data(da_data).build()?;
[INFO] [stdout]     |                                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 639 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_638_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 640 | use penumbra::{DeviceBuilder, PartitionKind, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 651 | device.erase_offset(0x0, 0x40000, PartitionKind::Emmc(EmmcPartition::Boot1), &mut progress)?;
[INFO] [stdout] 652 +     Ok(())
[INFO] [stdout]     |
[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]    --> core/src/device.rs:647:14
[INFO] [stdout]     |
[INFO] [stdout] 639 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_638_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 647 | device.init()?;
[INFO] [stdout]     |              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 639 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_638_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 640 | use penumbra::{DeviceBuilder, PartitionKind, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 651 | device.erase_offset(0x0, 0x40000, PartitionKind::Emmc(EmmcPartition::Boot1), &mut progress)?;
[INFO] [stdout] 652 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `EmmcPartition` in this scope
[INFO] [stdout]    --> core/src/device.rs:651:55
[INFO] [stdout]     |
[INFO] [stdout] 651 | device.erase_offset(0x0, 0x40000, PartitionKind::Emmc(EmmcPartition::Boot1), &mut progress)?;
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^ use of undeclared type `EmmcPartition`
[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]    --> core/src/device.rs:651:92
[INFO] [stdout]     |
[INFO] [stdout] 639 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_638_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 651 | device.erase_offset(0x0, 0x40000, PartitionKind::Emmc(EmmcPartition::Boot1), &mut progress)?;
[INFO] [stdout]     |                                                                                            ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 639 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_638_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 640 | use penumbra::{DeviceBuilder, PartitionKind, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 651 | device.erase_offset(0x0, 0x40000, PartitionKind::Emmc(EmmcPartition::Boot1), &mut progress)?;
[INFO] [stdout] 652 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0433.
[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]     core/src/device.rs - device::Device::auth_rpmb (line 1010)
[INFO] [stdout]     core/src/device.rs - device::Device::download (line 677)
[INFO] [stdout]     core/src/device.rs - device::Device::enter_da_mode (line 267)
[INFO] [stdout]     core/src/device.rs - device::Device::erase_offset (line 638)
[INFO] [stdout]     core/src/device.rs - device::Device::erase_partition (line 514)
[INFO] [stdout]     core/src/device.rs - device::Device::format (line 744)
[INFO] [stdout]     core/src/device.rs - device::Device::get_partitions (line 399)
[INFO] [stdout]     core/src/device.rs - device::Device::init (line 177)
[INFO] [stdout]     core/src/device.rs - device::Device::peek (line 843)
[INFO] [stdout]     core/src/device.rs - device::Device::poke (line 880)
[INFO] [stdout]     core/src/device.rs - device::Device::read_offset (line 549)
[INFO] [stdout]     core/src/device.rs - device::Device::read_rpmb (line 918)
[INFO] [stdout]     core/src/device.rs - device::Device::reboot (line 793)
[INFO] [stdout]     core/src/device.rs - device::Device::set_seccfg_lock_state (line 818)
[INFO] [stdout]     core/src/device.rs - device::Device::shutdown (line 771)
[INFO] [stdout]     core/src/device.rs - device::Device::upload (line 710)
[INFO] [stdout]     core/src/device.rs - device::Device::write_offset (line 592)
[INFO] [stdout]     core/src/device.rs - device::Device::write_rpmb (line 963)
[INFO] [stdout]     core/src/device.rs - device::DeviceBuilder (line 31)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 19 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.73s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.16s; merged doctests compilation took 0.43s
[INFO] running `Command { std: "docker" "inspect" "7480fcc9275078f2b18922ec288aaf3afecb0adb8b3dd49afae971f02f7e79d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7480fcc9275078f2b18922ec288aaf3afecb0adb8b3dd49afae971f02f7e79d8", kill_on_drop: false }`
[INFO] [stdout] 7480fcc9275078f2b18922ec288aaf3afecb0adb8b3dd49afae971f02f7e79d8
