[INFO] cloning repository https://github.com/whisper4u/penumbra_serial
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/whisper4u/penumbra_serial" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwhisper4u%2Fpenumbra_serial", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwhisper4u%2Fpenumbra_serial'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2c0369405710dbe1b8c48daba1105b27a9682a82
[INFO] testing whisper4u/penumbra_serial against 1.100.0-beta.1 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwhisper4u%2Fpenumbra_serial" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/whisper4u/penumbra_serial
[INFO] finished tweaking git repo https://github.com/whisper4u/penumbra_serial
[INFO] tweaked toml for git repo https://github.com/whisper4u/penumbra_serial written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/whisper4u/penumbra_serial on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/whisper4u/penumbra_serial 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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused field `version` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | version = "1.1.0"
[INFO] [stderr]    | ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.version`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2497e9479d85c7fc7cda4fed32b1c292d4e315728563e514c3328ccbec24f765
[INFO] running `Command { std: "docker" "start" "2497e9479d85c7fc7cda4fed32b1c292d4e315728563e514c3328ccbec24f765", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2497e9479d85c7fc7cda4fed32b1c292d4e315728563e514c3328ccbec24f765", 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" "2497e9479d85c7fc7cda4fed32b1c292d4e315728563e514c3328ccbec24f765" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2497e9479d85c7fc7cda4fed32b1c292d4e315728563e514c3328ccbec24f765", 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" "2497e9479d85c7fc7cda4fed32b1c292d4e315728563e514c3328ccbec24f765" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: unused field `version` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | version = "1.1.0"
[INFO] [stderr]    | ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.version`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling zerocopy v0.8.50
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling block-padding v0.3.3
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling toml_edit v0.25.12+spec-1.1.0
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling log v0.4.30
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling dlv-list v0.5.2
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling wincode v0.5.5
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerocopy-derive v0.8.50
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling bilge-impl v0.3.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling arbitrary-int v2.1.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling env_filter v1.0.1
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling wincode-derive v0.4.6
[INFO] [stderr]    Compiling bilge v0.3.0
[INFO] [stderr]    Compiling unescaper v0.1.8
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling num_enum_derive v0.7.6
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling ordered-multimap v0.7.3
[INFO] [stderr]    Compiling winresource v0.1.31
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling libudev v0.3.0
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling arraydeque v0.5.1
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling jiff v0.2.28
[INFO] [stderr]    Compiling pastey v0.2.3
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling nusb v0.2.3
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling yaml-rust2 v0.11.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling hacc v0.1.0 (https://github.com/shomykohai/hacc#ecf45103)
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling serialport v4.9.0
[INFO] [stderr]    Compiling serde-untagged v0.1.9
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num_enum v0.7.6
[INFO] [stderr]    Compiling uuid v1.23.2
[INFO] [stderr]    Compiling json5 v0.4.1
[INFO] [stderr]    Compiling ron v0.12.1
[INFO] [stderr]    Compiling env_logger v0.11.10
[INFO] [stderr]    Compiling antumbra v1.1.0 (/opt/rustwide/workdir/tui)
[INFO] [stderr]    Compiling rust-ini v0.21.3
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling xmlcmd-derive v0.1.0 (/opt/rustwide/workdir/core/xmlcmd_derive)
[INFO] [stderr]    Compiling penumbra-macros v0.1.0 (/opt/rustwide/workdir/core/penumbra-macros)
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling cbc v0.1.2
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling simple-xml v0.1.10
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling downcast-rs v2.0.2
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling md5 v0.8.0
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stderr]    Compiling config v0.15.23
[INFO] [stderr]    Compiling penumbra v1.1.0 (/opt/rustwide/workdir/core)
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling clap-num v1.2.0
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling human_bytes v0.4.3
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> core/src/device.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let mut conn = self
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> core/src/device.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let mut real_conn = guard.1.take().unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> core/src/device.rs:297:13
[INFO] [stdout]     |
[INFO] [stdout] 297 |         let mut conn = self
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[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: unexpected `cfg` condition value: `no_exploits`
[INFO] [stdout]   --> tui/src/cli/commands/device/seccfg.rs:69:31
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     #[cfg(not(feature = "no_exploits"))]
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossterm`, `default`, `ratatui`, `ratatui-explorer`, and `tui`
[INFO] [stdout]    = help: consider adding `no_exploits` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `no_exploits`
[INFO] [stdout]   --> tui/src/cli/commands/device/seccfg.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     #[cfg(feature = "no_exploits")]
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossterm`, `default`, `ratatui`, `ratatui-explorer`, and `tui`
[INFO] [stdout]    = help: consider adding `no_exploits` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: function `crash_preloader_into_brom` is never used
[INFO] [stdout]    --> tui/src/cli/helpers/device.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub fn crash_preloader_into_brom(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_vanish_and_reenum` is never used
[INFO] [stdout]    --> tui/src/cli/helpers/device.rs:442:4
[INFO] [stdout]     |
[INFO] [stdout] 442 | fn run_vanish_and_reenum(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[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] warning: unused dependency `derive_builder`
[INFO] [stderr]   --> tui/Cargo.toml:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | derive_builder = "0.20.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `derive_builder`
[INFO] [stderr] warning: unused dependency `futures`
[INFO] [stderr]   --> tui/Cargo.toml:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | futures = "0.3.31"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `futures`
[INFO] [stderr] warning: unused dependency `strum`
[INFO] [stderr]   --> tui/Cargo.toml:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | strum = "0.27.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `strum`
[INFO] [stderr] warning: unused dependency `strum_macros`
[INFO] [stderr]   --> tui/Cargo.toml:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | strum_macros = "0.27.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `strum_macros`
[INFO] [stderr] warning: `antumbra` (manifest) generated 4 warnings
[INFO] [stderr] warning: unused dependency `aes`
[INFO] [stderr]   --> core/Cargo.toml:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | aes = "0.8.4"
[INFO] [stderr]    | ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `aes`
[INFO] [stderr] warning: unused dependency `cbc`
[INFO] [stderr]   --> core/Cargo.toml:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | cbc = "0.1.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `cbc`
[INFO] [stderr] warning: unused dependency `env_logger`
[INFO] [stderr]   --> core/Cargo.toml:24:1
[INFO] [stderr]    |
[INFO] [stderr] 24 | env_logger = "0.11.8"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `env_logger`
[INFO] [stderr] warning: `penumbra` (manifest) generated 3 warnings
[INFO] [stderr] warning: unused dependency `regex`
[INFO] [stderr]   --> core/penumbra-macros/Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | regex = "1.12.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `regex`
[INFO] [stderr] warning: `penumbra-macros` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 43s
[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 2`
[INFO] running `Command { std: "docker" "inspect" "2497e9479d85c7fc7cda4fed32b1c292d4e315728563e514c3328ccbec24f765", 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" "2497e9479d85c7fc7cda4fed32b1c292d4e315728563e514c3328ccbec24f765" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: unused field `version` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | version = "1.1.0"
[INFO] [stderr]    | ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.version`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stderr]    Compiling penumbra-macros v0.1.0 (/opt/rustwide/workdir/core/penumbra-macros)
[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] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> core/src/device.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let mut conn = self
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> core/src/device.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let mut real_conn = guard.1.take().unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> core/src/device.rs:297:13
[INFO] [stdout]     |
[INFO] [stdout] 297 |         let mut conn = self
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> core/src/device.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let mut conn = self
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> core/src/device.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |         let mut real_conn = guard.1.take().unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> core/src/device.rs:297:13
[INFO] [stdout]     |
[INFO] [stdout] 297 |         let mut conn = self
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[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: unexpected `cfg` condition value: `no_exploits`
[INFO] [stdout]   --> tui/src/cli/commands/device/seccfg.rs:69:31
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     #[cfg(not(feature = "no_exploits"))]
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossterm`, `default`, `ratatui`, `ratatui-explorer`, and `tui`
[INFO] [stdout]    = help: consider adding `no_exploits` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `no_exploits`
[INFO] [stdout]   --> tui/src/cli/commands/device/seccfg.rs:81:27
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     #[cfg(feature = "no_exploits")]
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `crossterm`, `default`, `ratatui`, `ratatui-explorer`, and `tui`
[INFO] [stdout]    = help: consider adding `no_exploits` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: function `crash_preloader_into_brom` is never used
[INFO] [stdout]    --> tui/src/cli/helpers/device.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub fn crash_preloader_into_brom(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_vanish_and_reenum` is never used
[INFO] [stdout]    --> tui/src/cli/helpers/device.rs:442:4
[INFO] [stdout]     |
[INFO] [stdout] 442 | fn run_vanish_and_reenum(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[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] warning: unused dependency `derive_builder`
[INFO] [stderr]   --> tui/Cargo.toml:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | derive_builder = "0.20.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `derive_builder`
[INFO] [stderr] warning: unused dependency `futures`
[INFO] [stderr]   --> tui/Cargo.toml:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | futures = "0.3.31"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `futures`
[INFO] [stderr] warning: unused dependency `strum`
[INFO] [stderr]   --> tui/Cargo.toml:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | strum = "0.27.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `strum`
[INFO] [stderr] warning: unused dependency `strum_macros`
[INFO] [stderr]   --> tui/Cargo.toml:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | strum_macros = "0.27.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `strum_macros`
[INFO] [stderr] warning: `antumbra` (manifest) generated 4 warnings
[INFO] [stderr] warning: unused dependency `aes`
[INFO] [stderr]   --> core/Cargo.toml:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | aes = "0.8.4"
[INFO] [stderr]    | ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `aes`
[INFO] [stderr] warning: unused dependency `cbc`
[INFO] [stderr]   --> core/Cargo.toml:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | cbc = "0.1.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `cbc`
[INFO] [stderr] warning: unused dependency `env_logger`
[INFO] [stderr]   --> core/Cargo.toml:24:1
[INFO] [stderr]    |
[INFO] [stderr] 24 | env_logger = "0.11.8"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `env_logger`
[INFO] [stderr] warning: `penumbra` (manifest) generated 3 warnings
[INFO] [stderr] warning: unused dependency `regex`
[INFO] [stderr]   --> core/penumbra-macros/Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | regex = "1.12.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `regex`
[INFO] [stderr] warning: `penumbra-macros` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 14.47s
[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 2`
[INFO] running `Command { std: "docker" "inspect" "2497e9479d85c7fc7cda4fed32b1c292d4e315728563e514c3328ccbec24f765", 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" "2497e9479d85c7fc7cda4fed32b1c292d4e315728563e514c3328ccbec24f765" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused field `version` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | version = "1.1.0"
[INFO] [stderr]    | ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.version`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> core/src/device.rs:186:13
[INFO] [stderr]     |
[INFO] [stderr] 186 |         let mut conn = self
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> core/src/device.rs:268:13
[INFO] [stderr]     |
[INFO] [stderr] 268 |         let mut real_conn = guard.1.take().unwrap();
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> core/src/device.rs:297:13
[INFO] [stderr]     |
[INFO] [stderr] 297 |         let mut conn = self
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `penumbra` (lib) generated 3 warnings (run `cargo fix --lib -p penumbra` to apply 3 suggestions)
[INFO] [stderr] warning: `penumbra` (lib test) generated 3 warnings (3 duplicates)
[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: unexpected `cfg` condition value: `no_exploits`
[INFO] [stderr]   --> tui/src/cli/commands/device/seccfg.rs:69:31
[INFO] [stderr]    |
[INFO] [stderr] 69 |                     #[cfg(not(feature = "no_exploits"))]
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossterm`, `default`, `ratatui`, `ratatui-explorer`, and `tui`
[INFO] [stderr]    = help: consider adding `no_exploits` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `no_exploits`
[INFO] [stderr]   --> tui/src/cli/commands/device/seccfg.rs:81:27
[INFO] [stderr]    |
[INFO] [stderr] 81 |                     #[cfg(feature = "no_exploits")]
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `crossterm`, `default`, `ratatui`, `ratatui-explorer`, and `tui`
[INFO] [stderr]    = help: consider adding `no_exploits` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[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: function `crash_preloader_into_brom` is never used
[INFO] [stderr]    --> tui/src/cli/helpers/device.rs:182:8
[INFO] [stderr]     |
[INFO] [stderr] 182 | pub fn crash_preloader_into_brom(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_vanish_and_reenum` is never used
[INFO] [stderr]    --> tui/src/cli/helpers/device.rs:442:4
[INFO] [stderr]     |
[INFO] [stderr] 442 | fn run_vanish_and_reenum(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^
[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 12 warnings
[INFO] [stderr] warning: unused dependency `derive_builder`
[INFO] [stderr]   --> tui/Cargo.toml:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | derive_builder = "0.20.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `derive_builder`
[INFO] [stderr] warning: unused dependency `futures`
[INFO] [stderr]   --> tui/Cargo.toml:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | futures = "0.3.31"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `futures`
[INFO] [stderr] warning: unused dependency `strum`
[INFO] [stderr]   --> tui/Cargo.toml:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | strum = "0.27.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `strum`
[INFO] [stderr] warning: unused dependency `strum_macros`
[INFO] [stderr]   --> tui/Cargo.toml:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | strum_macros = "0.27.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `strum_macros`
[INFO] [stderr] warning: `antumbra` (manifest) generated 4 warnings
[INFO] [stderr] warning: unused dependency `aes`
[INFO] [stderr]   --> core/Cargo.toml:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | aes = "0.8.4"
[INFO] [stderr]    | ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `aes`
[INFO] [stderr] warning: unused dependency `cbc`
[INFO] [stderr]   --> core/Cargo.toml:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | cbc = "0.1.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `cbc`
[INFO] [stderr] warning: unused dependency `env_logger`
[INFO] [stderr]   --> core/Cargo.toml:24:1
[INFO] [stderr]    |
[INFO] [stderr] 24 | env_logger = "0.11.8"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `env_logger`
[INFO] [stderr] warning: `penumbra` (manifest) generated 3 warnings
[INFO] [stderr] warning: unused dependency `regex`
[INFO] [stderr]   --> core/penumbra-macros/Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | regex = "1.12.2"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `regex`
[INFO] [stderr] warning: `penumbra-macros` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[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 2`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/antumbra/05cd2352ce36fb51/out/antumbra-05cd2352ce36fb51)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/penumbra/3c01f568e08e46c9/out/penumbra-3c01f568e08e46c9)
[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 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/build/penumbra-macros/c128fee7d47d595d/out/penumbra_macros-c128fee7d47d595d)
[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/build/xmlcmd-derive/95d4b0b2a7e11401/out/xmlcmd_derive-95d4b0b2a7e11401)
[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::init (line 176) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::enter_da_mode (line 350) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::format (line 930) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::erase_partition (line 700) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::auth_rpmb (line 1196) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::get_partitions (line 585) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::erase_offset (line 824) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::read_rpmb (line 1104) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::reboot (line 979) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::poke (line 1066) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::peek (line 1029) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::set_seccfg_lock_state (line 1004) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::shutdown (line 957) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::download (line 863) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::upload (line 896) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::write_rpmb (line 1149) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::read_offset (line 735) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::DeviceBuilder (line 30) ... FAILED
[INFO] [stdout] test core/src/device.rs - device::Device::write_offset (line 778) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- core/src/device.rs - device::Device::init (line 176) 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:180:58
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_176_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 180 | 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] 177 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_176_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 178 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 184 | assert_eq!(device.connected, true);
[INFO] [stdout] 185 +     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:181:74
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_176_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 181 | 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] 177 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_176_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 178 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 184 | assert_eq!(device.connected, true);
[INFO] [stdout] 185 +     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:183:14
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_176_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 183 | 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] 177 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_176_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 178 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 184 | assert_eq!(device.connected, true);
[INFO] [stdout] 185 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `connected` of struct `Device` is private
[INFO] [stdout]    --> core/src/device.rs:184:19
[INFO] [stdout]     |
[INFO] [stdout] 184 | 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::enter_da_mode (line 350) 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:354:58
[INFO] [stdout]     |
[INFO] [stdout] 351 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_350_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 354 | 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] 351 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_350_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 352 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 360 | device.enter_da_mode()?;
[INFO] [stdout] 361 +     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:357:83
[INFO] [stdout]     |
[INFO] [stdout] 351 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_350_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 357 |     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] 351 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_350_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 352 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 360 | device.enter_da_mode()?;
[INFO] [stdout] 361 +     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:359:14
[INFO] [stdout]     |
[INFO] [stdout] 351 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_350_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 359 | 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] 351 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_350_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 352 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 360 | device.enter_da_mode()?;
[INFO] [stdout] 361 +     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:360:23
[INFO] [stdout]     |
[INFO] [stdout] 351 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_350_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 360 | 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] 351 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_350_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 352 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 360 | device.enter_da_mode()?;
[INFO] [stdout] 361 +     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::format (line 930) 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:934:58
[INFO] [stdout]     |
[INFO] [stdout] 931 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_930_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 934 | 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] 931 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_930_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 932 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 943 | device.format("userdata", &mut progress)?;
[INFO] [stdout] 944 +     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:937:83
[INFO] [stdout]     |
[INFO] [stdout] 931 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_930_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 937 |     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] 931 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_930_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 932 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 943 | device.format("userdata", &mut progress)?;
[INFO] [stdout] 944 +     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:939:14
[INFO] [stdout]     |
[INFO] [stdout] 931 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_930_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 939 | 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] 931 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_930_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 932 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 943 | device.format("userdata", &mut progress)?;
[INFO] [stdout] 944 +     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:943:41
[INFO] [stdout]     |
[INFO] [stdout] 931 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_930_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 943 | 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] 931 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_930_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 932 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 943 | device.format("userdata", &mut progress)?;
[INFO] [stdout] 944 +     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 700) 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:704:58
[INFO] [stdout]     |
[INFO] [stdout] 701 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_700_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 704 | 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] 701 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_700_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 702 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 713 | device.erase_partition("userdata", &mut progress)?;
[INFO] [stdout] 714 +     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:707:83
[INFO] [stdout]     |
[INFO] [stdout] 701 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_700_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 707 |     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] 701 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_700_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 702 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 713 | device.erase_partition("userdata", &mut progress)?;
[INFO] [stdout] 714 +     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:709:14
[INFO] [stdout]     |
[INFO] [stdout] 701 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_700_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 709 | 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] 701 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_700_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 702 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 713 | device.erase_partition("userdata", &mut progress)?;
[INFO] [stdout] 714 +     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:713:50
[INFO] [stdout]     |
[INFO] [stdout] 701 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_700_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 713 | 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] 701 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_700_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 702 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 713 | device.erase_partition("userdata", &mut progress)?;
[INFO] [stdout] 714 +     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::auth_rpmb (line 1196) 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:1200:58
[INFO] [stdout]      |
[INFO] [stdout] 1197 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1196_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1200 | 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] 1197 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1196_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1198 | use penumbra::{DeviceBuilder, RpmbRegion, find_mtk_port};
[INFO] [stdout]  ...
[INFO] [stdout] 1207 | device.auth_rpmb(RpmbRegion::R1, key)?;
[INFO] [stdout] 1208 +     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:1203:83
[INFO] [stdout]      |
[INFO] [stdout] 1197 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1196_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1203 |     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] 1197 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1196_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1198 | use penumbra::{DeviceBuilder, RpmbRegion, find_mtk_port};
[INFO] [stdout]  ...
[INFO] [stdout] 1207 | device.auth_rpmb(RpmbRegion::R1, key)?;
[INFO] [stdout] 1208 +     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:1205:14
[INFO] [stdout]      |
[INFO] [stdout] 1197 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1196_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1205 | 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] 1197 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1196_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1198 | use penumbra::{DeviceBuilder, RpmbRegion, find_mtk_port};
[INFO] [stdout]  ...
[INFO] [stdout] 1207 | device.auth_rpmb(RpmbRegion::R1, key)?;
[INFO] [stdout] 1208 +     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:1207:38
[INFO] [stdout]      |
[INFO] [stdout] 1197 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1196_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1207 | device.auth_rpmb(RpmbRegion::R1, 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] 1197 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1196_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1198 | use penumbra::{DeviceBuilder, RpmbRegion, find_mtk_port};
[INFO] [stdout]  ...
[INFO] [stdout] 1207 | device.auth_rpmb(RpmbRegion::R1, key)?;
[INFO] [stdout] 1208 +     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::get_partitions (line 585) 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:589:58
[INFO] [stdout]     |
[INFO] [stdout] 586 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_585_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 589 | 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] 586 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_585_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:592:83
[INFO] [stdout]     |
[INFO] [stdout] 586 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_585_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 592 |     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] 586 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_585_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:594:14
[INFO] [stdout]     |
[INFO] [stdout] 586 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_585_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 594 | 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] 586 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_585_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:595:23
[INFO] [stdout]     |
[INFO] [stdout] 586 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_585_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 595 | 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] 586 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_585_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::erase_offset (line 824) 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:828:58
[INFO] [stdout]     |
[INFO] [stdout] 825 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_824_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 828 | 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] 825 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_824_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 826 | use penumbra::{DeviceBuilder, PartitionKind, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 837 | device.erase_offset(0x0, 0x40000, PartitionKind::Emmc(EmmcPartition::Boot1), &mut progress)?;
[INFO] [stdout] 838 +     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:831:83
[INFO] [stdout]     |
[INFO] [stdout] 825 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_824_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 831 |     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] 825 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_824_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 826 | use penumbra::{DeviceBuilder, PartitionKind, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 837 | device.erase_offset(0x0, 0x40000, PartitionKind::Emmc(EmmcPartition::Boot1), &mut progress)?;
[INFO] [stdout] 838 +     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:833:14
[INFO] [stdout]     |
[INFO] [stdout] 825 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_824_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 833 | 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] 825 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_824_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 826 | use penumbra::{DeviceBuilder, PartitionKind, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 837 | device.erase_offset(0x0, 0x40000, PartitionKind::Emmc(EmmcPartition::Boot1), &mut progress)?;
[INFO] [stdout] 838 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `EmmcPartition` in this scope
[INFO] [stdout]    --> core/src/device.rs:837:55
[INFO] [stdout]     |
[INFO] [stdout] 837 | 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:837:92
[INFO] [stdout]     |
[INFO] [stdout] 825 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_824_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 837 | 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] 825 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_824_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 826 | use penumbra::{DeviceBuilder, PartitionKind, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 837 | device.erase_offset(0x0, 0x40000, PartitionKind::Emmc(EmmcPartition::Boot1), &mut progress)?;
[INFO] [stdout] 838 +     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] ---- core/src/device.rs - device::Device::read_rpmb (line 1104) 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:1111:58
[INFO] [stdout]      |
[INFO] [stdout] 1105 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1104_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1111 | 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] 1105 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1104_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1106 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1122 | device.read_rpmb(RpmbRegion::R1, 0, 1, &mut writer, &mut progress)?;
[INFO] [stdout] 1123 +     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:1114:83
[INFO] [stdout]      |
[INFO] [stdout] 1105 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1104_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1114 |     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] 1105 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1104_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1106 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1122 | device.read_rpmb(RpmbRegion::R1, 0, 1, &mut writer, &mut progress)?;
[INFO] [stdout] 1123 +     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:1116:14
[INFO] [stdout]      |
[INFO] [stdout] 1105 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1104_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1116 | 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] 1105 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1104_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1106 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1122 | device.read_rpmb(RpmbRegion::R1, 0, 1, &mut writer, &mut progress)?;
[INFO] [stdout] 1123 +     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:1117:41
[INFO] [stdout]      |
[INFO] [stdout] 1105 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1104_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1117 | 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] 1105 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1104_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1106 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1122 | device.read_rpmb(RpmbRegion::R1, 0, 1, &mut writer, &mut progress)?;
[INFO] [stdout] 1123 +     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:1122:67
[INFO] [stdout]      |
[INFO] [stdout] 1105 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1104_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1122 | device.read_rpmb(RpmbRegion::R1, 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] 1105 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1104_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1106 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1122 | device.read_rpmb(RpmbRegion::R1, 0, 1, &mut writer, &mut progress)?;
[INFO] [stdout] 1123 +     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::reboot (line 979) 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:983:58
[INFO] [stdout]     |
[INFO] [stdout] 980 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_979_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 983 | 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] 980 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_979_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 981 | use penumbra::{BootMode, DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 989 | device.reboot(BootMode::Normal)?;
[INFO] [stdout] 990 +     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:986:83
[INFO] [stdout]     |
[INFO] [stdout] 980 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_979_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 986 |     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] 980 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_979_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 981 | use penumbra::{BootMode, DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 989 | device.reboot(BootMode::Normal)?;
[INFO] [stdout] 990 +     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:988:14
[INFO] [stdout]     |
[INFO] [stdout] 980 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_979_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 988 | 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] 980 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_979_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 981 | use penumbra::{BootMode, DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 989 | device.reboot(BootMode::Normal)?;
[INFO] [stdout] 990 +     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:989:32
[INFO] [stdout]     |
[INFO] [stdout] 980 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_979_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 989 | 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] 980 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_979_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 981 | use penumbra::{BootMode, DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 989 | device.reboot(BootMode::Normal)?;
[INFO] [stdout] 990 +     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::poke (line 1066) 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:1073:58
[INFO] [stdout]      |
[INFO] [stdout] 1067 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1066_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1073 | 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] 1067 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1066_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1068 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1084 | device.poke(0x0010_0000, 0x1000, &mut reader, &mut progress)?;
[INFO] [stdout] 1085 +     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:1076:83
[INFO] [stdout]      |
[INFO] [stdout] 1067 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1066_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1076 |     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] 1067 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1066_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1068 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1084 | device.poke(0x0010_0000, 0x1000, &mut reader, &mut progress)?;
[INFO] [stdout] 1085 +     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:1078:14
[INFO] [stdout]      |
[INFO] [stdout] 1067 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1066_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1078 | 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] 1067 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1066_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1068 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1084 | device.poke(0x0010_0000, 0x1000, &mut reader, &mut progress)?;
[INFO] [stdout] 1085 +     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:1079:34
[INFO] [stdout]      |
[INFO] [stdout] 1067 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1066_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1079 | 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] 1067 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1066_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1068 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1084 | device.poke(0x0010_0000, 0x1000, &mut reader, &mut progress)?;
[INFO] [stdout] 1085 +     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:1084:61
[INFO] [stdout]      |
[INFO] [stdout] 1067 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1066_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1084 | 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] 1067 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1066_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1068 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1084 | device.poke(0x0010_0000, 0x1000, &mut reader, &mut progress)?;
[INFO] [stdout] 1085 +     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::peek (line 1029) 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:1036:58
[INFO] [stdout]      |
[INFO] [stdout] 1030 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1029_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1036 | 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] 1030 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1029_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1031 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1047 | device.peek(0x0010_0000, 0x1000, &mut writer, &mut progress)?;
[INFO] [stdout] 1048 +     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:1039:83
[INFO] [stdout]      |
[INFO] [stdout] 1030 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1029_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1039 |     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] 1030 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1029_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1031 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1047 | device.peek(0x0010_0000, 0x1000, &mut writer, &mut progress)?;
[INFO] [stdout] 1048 +     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:1041:14
[INFO] [stdout]      |
[INFO] [stdout] 1030 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1029_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1041 | 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] 1030 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1029_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1031 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1047 | device.peek(0x0010_0000, 0x1000, &mut writer, &mut progress)?;
[INFO] [stdout] 1048 +     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:1042:36
[INFO] [stdout]      |
[INFO] [stdout] 1030 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1029_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1042 | 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] 1030 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1029_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1031 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1047 | device.peek(0x0010_0000, 0x1000, &mut writer, &mut progress)?;
[INFO] [stdout] 1048 +     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:1047:61
[INFO] [stdout]      |
[INFO] [stdout] 1030 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1029_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1047 | 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] 1030 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1029_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1031 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1047 | device.peek(0x0010_0000, 0x1000, &mut writer, &mut progress)?;
[INFO] [stdout] 1048 +     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 1004) 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:1008:58
[INFO] [stdout]      |
[INFO] [stdout] 1005 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1004_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1008 | 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] 1005 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1004_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1006 | use penumbra::{DeviceBuilder, LockFlag, find_mtk_port};
[INFO] [stdout]  ...
[INFO] [stdout] 1014 | let seccfg = device.set_seccfg_lock_state(LockFlag::Unlock);
[INFO] [stdout] 1015 +     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:1011:83
[INFO] [stdout]      |
[INFO] [stdout] 1005 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1004_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1011 |     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] 1005 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1004_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1006 | use penumbra::{DeviceBuilder, LockFlag, find_mtk_port};
[INFO] [stdout]  ...
[INFO] [stdout] 1014 | let seccfg = device.set_seccfg_lock_state(LockFlag::Unlock);
[INFO] [stdout] 1015 +     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:1013:14
[INFO] [stdout]      |
[INFO] [stdout] 1005 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1004_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1013 | 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] 1005 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1004_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1006 | use penumbra::{DeviceBuilder, LockFlag, find_mtk_port};
[INFO] [stdout]  ...
[INFO] [stdout] 1014 | let seccfg = device.set_seccfg_lock_state(LockFlag::Unlock);
[INFO] [stdout] 1015 +     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::shutdown (line 957) 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:961:58
[INFO] [stdout]     |
[INFO] [stdout] 958 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_957_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 961 | 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] 958 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_957_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 959 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 967 | device.shutdown()?;
[INFO] [stdout] 968 +     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:964:83
[INFO] [stdout]     |
[INFO] [stdout] 958 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_957_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 964 |     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] 958 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_957_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 959 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 967 | device.shutdown()?;
[INFO] [stdout] 968 +     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:966:14
[INFO] [stdout]     |
[INFO] [stdout] 958 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_957_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 966 | 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] 958 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_957_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 959 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 967 | device.shutdown()?;
[INFO] [stdout] 968 +     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:967:18
[INFO] [stdout]     |
[INFO] [stdout] 958 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_957_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 967 | 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] 958 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_957_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 959 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 967 | device.shutdown()?;
[INFO] [stdout] 968 +     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::download (line 863) 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:867:58
[INFO] [stdout]     |
[INFO] [stdout] 864 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_863_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 867 | 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] 864 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_863_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 865 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 872 | device.download("logo", firmware_data.len(), &firmware_data)?;
[INFO] [stdout] 873 +     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:868:74
[INFO] [stdout]     |
[INFO] [stdout] 864 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_863_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 868 | 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] 864 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_863_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 865 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 872 | device.download("logo", firmware_data.len(), &firmware_data)?;
[INFO] [stdout] 873 +     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:870:14
[INFO] [stdout]     |
[INFO] [stdout] 864 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_863_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 870 | 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] 864 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_863_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 865 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 872 | device.download("logo", firmware_data.len(), &firmware_data)?;
[INFO] [stdout] 873 +     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:872:46
[INFO] [stdout]     |
[INFO] [stdout] 872 | 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:881:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl Device {
[INFO] [stdout] ...
[INFO] [stdout] 873 |     pub fn download<R, F>(
[INFO] [stdout] ...
[INFO] [stdout] 881 |         R: Read + Send,
[INFO] [stdout]     |            ^^^^ required by this bound in `Device::download`
[INFO] [stdout] help: consider dereferencing here
[INFO] [stdout]     |
[INFO] [stdout] 872 | 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:872:8
[INFO] [stdout]     |
[INFO] [stdout] 872 | 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:873:12
[INFO] [stdout]     |
[INFO] [stdout] 873 |     pub fn download<R, F>(
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 872 | 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:872:61
[INFO] [stdout]     |
[INFO] [stdout] 864 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_863_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 872 | 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] 864 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_863_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 865 | use penumbra::{DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 872 | device.download("logo", firmware_data.len(), &firmware_data)?;
[INFO] [stdout] 873 +     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::upload (line 896) 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:903:58
[INFO] [stdout]     |
[INFO] [stdout] 897 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_896_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 903 | 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] 897 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_896_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 898 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 915 | device.upload("logo", &mut writer, &mut progress)?;
[INFO] [stdout] 916 +     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:906:83
[INFO] [stdout]     |
[INFO] [stdout] 897 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_896_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 906 |     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] 897 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_896_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 898 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 915 | device.upload("logo", &mut writer, &mut progress)?;
[INFO] [stdout] 916 +     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:908:14
[INFO] [stdout]     |
[INFO] [stdout] 897 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_896_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 908 | 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] 897 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_896_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 898 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 915 | device.upload("logo", &mut writer, &mut progress)?;
[INFO] [stdout] 916 +     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:910:36
[INFO] [stdout]     |
[INFO] [stdout] 897 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_896_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 910 | 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] 897 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_896_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 898 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 915 | device.upload("logo", &mut writer, &mut progress)?;
[INFO] [stdout] 916 +     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:915:50
[INFO] [stdout]     |
[INFO] [stdout] 897 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_896_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 915 | 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] 897 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_896_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 898 | use std::fs::File;
[INFO] [stdout] ...
[INFO] [stdout] 915 | device.upload("logo", &mut writer, &mut progress)?;
[INFO] [stdout] 916 +     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::write_rpmb (line 1149) 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:1156:58
[INFO] [stdout]      |
[INFO] [stdout] 1150 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1149_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1156 | 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] 1150 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1149_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1151 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1167 | device.write_rpmb(RpmbRegion::R1, 0, 1, &mut reader, &mut progress)?;
[INFO] [stdout] 1168 +     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:1159:83
[INFO] [stdout]      |
[INFO] [stdout] 1150 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1149_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1159 |     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] 1150 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1149_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1151 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1167 | device.write_rpmb(RpmbRegion::R1, 0, 1, &mut reader, &mut progress)?;
[INFO] [stdout] 1168 +     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:1161:14
[INFO] [stdout]      |
[INFO] [stdout] 1150 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1149_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1161 | 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] 1150 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1149_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1151 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1167 | device.write_rpmb(RpmbRegion::R1, 0, 1, &mut reader, &mut progress)?;
[INFO] [stdout] 1168 +     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:1162:39
[INFO] [stdout]      |
[INFO] [stdout] 1150 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1149_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1162 | 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] 1150 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1149_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1151 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1167 | device.write_rpmb(RpmbRegion::R1, 0, 1, &mut reader, &mut progress)?;
[INFO] [stdout] 1168 +     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:1167:68
[INFO] [stdout]      |
[INFO] [stdout] 1150 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1149_0() {
[INFO] [stdout]      |                                      -------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 1167 | device.write_rpmb(RpmbRegion::R1, 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] 1150 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_1149_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 1151 | use std::fs::File;
[INFO] [stdout]  ...
[INFO] [stdout] 1167 | device.write_rpmb(RpmbRegion::R1, 0, 1, &mut reader, &mut progress)?;
[INFO] [stdout] 1168 +     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::read_offset (line 735) 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:740:58
[INFO] [stdout]     |
[INFO] [stdout] 736 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_735_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 740 | 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] 736 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_735_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 737 | // Let's assume we want to read preloader
[INFO] [stdout] ...
[INFO] [stdout] 753 | )?;
[INFO] [stdout] 754 +     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:741:74
[INFO] [stdout]     |
[INFO] [stdout] 736 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_735_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 741 | 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] 736 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_735_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 737 | // Let's assume we want to read preloader
[INFO] [stdout] ...
[INFO] [stdout] 753 | )?;
[INFO] [stdout] 754 +     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:743:14
[INFO] [stdout]     |
[INFO] [stdout] 736 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_735_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 743 | 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] 736 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_735_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 737 | // Let's assume we want to read preloader
[INFO] [stdout] ...
[INFO] [stdout] 753 | )?;
[INFO] [stdout] 754 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `EmmcPartition` in this scope
[INFO] [stdout]    --> core/src/device.rs:751:25
[INFO] [stdout]     |
[INFO] [stdout] 751 |     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:752:10
[INFO] [stdout]     |
[INFO] [stdout] 748 | let preloader_data = device.read_offset(
[INFO] [stdout]     |                             ----------- required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 752 |     &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:763:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl Device {
[INFO] [stdout] ...
[INFO] [stdout] 754 |     pub fn read_offset<W, F>(
[INFO] [stdout] ...
[INFO] [stdout] 763 |         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:748:29
[INFO] [stdout]     |
[INFO] [stdout] 748 |   let preloader_data = device.read_offset(
[INFO] [stdout]     |  _____________________________^^^^^^^^^^^-
[INFO] [stdout] 749 | |     0x0,
[INFO] [stdout] 750 | |     0x40000,
[INFO] [stdout] 751 | |     PartitionKind::Emmc(EmmcPartition::Boot1),
[INFO] [stdout] 752 | |     &mut progress,
[INFO] [stdout] 753 | | )?;
[INFO] [stdout]     | |_- argument #5 is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> core/src/device.rs:754:12
[INFO] [stdout]     |
[INFO] [stdout] 754 |     pub fn read_offset<W, F>(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 748 | let preloader_data = device.read_offset(
[INFO] [stdout] ...
[INFO] [stdout] 752 |     &mut progress,
[INFO] [stdout] 753 +     /* 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:753:2
[INFO] [stdout]     |
[INFO] [stdout] 736 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_735_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 753 | )?;
[INFO] [stdout]     |  ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 736 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_735_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 737 | // Let's assume we want to read preloader
[INFO] [stdout] ...
[INFO] [stdout] 753 | )?;
[INFO] [stdout] 754 +     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::DeviceBuilder (line 30) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `your_mtk_port` in this scope
[INFO] [stdout]   --> core/src/device.rs:37:44
[INFO] [stdout]    |
[INFO] [stdout] 37 |     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] note: similarly named function `find_mtk_port` defined here
[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]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 37 -     DeviceBuilder::default().with_mtk_port(your_mtk_port).with_da_data(your_da_data).build()?;
[INFO] [stdout] 37 +     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:37:72
[INFO] [stdout]    |
[INFO] [stdout] 37 |     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:34:32
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_30_0() {
[INFO] [stdout]    |                                      ------------------------------------------ this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 34 | 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:37:93
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_30_0() {
[INFO] [stdout]    |                                      ------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 37 |     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] 31 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_30_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 32 | use penumbra::{Device, DeviceBuilder, find_mtk_port};
[INFO] [stdout] ...
[INFO] [stdout] 37 |     DeviceBuilder::default().with_mtk_port(your_mtk_port).with_da_data(your_da_data).build()?;
[INFO] [stdout] 38 +     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::write_offset (line 778) 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:783:58
[INFO] [stdout]     |
[INFO] [stdout] 779 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_778_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 783 | 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] 779 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_778_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 780 | // Let's assume we want to write to preloader
[INFO] [stdout] ...
[INFO] [stdout] 799 | )?;
[INFO] [stdout] 800 +     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:784:74
[INFO] [stdout]     |
[INFO] [stdout] 779 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_778_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 784 | 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] 779 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_778_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 780 | // Let's assume we want to write to preloader
[INFO] [stdout] ...
[INFO] [stdout] 799 | )?;
[INFO] [stdout] 800 +     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:786:14
[INFO] [stdout]     |
[INFO] [stdout] 779 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_778_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 786 | 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] 779 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_778_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 780 | // Let's assume we want to write to preloader
[INFO] [stdout] ...
[INFO] [stdout] 799 | )?;
[INFO] [stdout] 800 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `EmmcPartition` in this scope
[INFO] [stdout]    --> core/src/device.rs:797:25
[INFO] [stdout]     |
[INFO] [stdout] 797 |     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:797:5
[INFO] [stdout]     |
[INFO] [stdout] 793 | device.write_offset(
[INFO] [stdout]     |        ------------ required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 797 |     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:809:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl Device {
[INFO] [stdout] ...
[INFO] [stdout] 800 |     pub fn write_offset<R, F>(
[INFO] [stdout] ...
[INFO] [stdout] 809 |         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:796:5
[INFO] [stdout]     |
[INFO] [stdout] 793 | device.write_offset(
[INFO] [stdout]     |        ------------ arguments to this method are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 796 |     &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:800:12
[INFO] [stdout]     |
[INFO] [stdout] 800 |     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:799:2
[INFO] [stdout]     |
[INFO] [stdout] 779 | fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_778_0() {
[INFO] [stdout]     |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 799 | )?;
[INFO] [stdout]     |  ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 779 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_core_src_device_rs_778_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 780 | // Let's assume we want to write to preloader
[INFO] [stdout] ...
[INFO] [stdout] 799 | )?;
[INFO] [stdout] 800 +     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] 
[INFO] [stdout] failures:
[INFO] [stdout]     core/src/device.rs - device::Device::auth_rpmb (line 1196)
[INFO] [stdout]     core/src/device.rs - device::Device::download (line 863)
[INFO] [stdout]     core/src/device.rs - device::Device::enter_da_mode (line 350)
[INFO] [stdout]     core/src/device.rs - device::Device::erase_offset (line 824)
[INFO] [stdout]     core/src/device.rs - device::Device::erase_partition (line 700)
[INFO] [stdout]     core/src/device.rs - device::Device::format (line 930)
[INFO] [stdout]     core/src/device.rs - device::Device::get_partitions (line 585)
[INFO] [stdout]     core/src/device.rs - device::Device::init (line 176)
[INFO] [stdout]     core/src/device.rs - device::Device::peek (line 1029)
[INFO] [stdout]     core/src/device.rs - device::Device::poke (line 1066)
[INFO] [stdout]     core/src/device.rs - device::Device::read_offset (line 735)
[INFO] [stdout]     core/src/device.rs - device::Device::read_rpmb (line 1104)
[INFO] [stdout]     core/src/device.rs - device::Device::reboot (line 979)
[INFO] [stdout]     core/src/device.rs - device::Device::set_seccfg_lock_state (line 1004)
[INFO] [stdout]     core/src/device.rs - device::Device::shutdown (line 957)
[INFO] [stdout]     core/src/device.rs - device::Device::upload (line 896)
[INFO] [stdout]     core/src/device.rs - device::Device::write_offset (line 778)
[INFO] [stdout]     core/src/device.rs - device::Device::write_rpmb (line 1149)
[INFO] [stdout]     core/src/device.rs - device::DeviceBuilder (line 30)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 19 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.41s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.73s; merged doctests compilation took 0.30s
[INFO] [stderr] error: doctest failed, to rerun pass `-p penumbra --doc`
[INFO] running `Command { std: "docker" "inspect" "2497e9479d85c7fc7cda4fed32b1c292d4e315728563e514c3328ccbec24f765", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2497e9479d85c7fc7cda4fed32b1c292d4e315728563e514c3328ccbec24f765", kill_on_drop: false }`
[INFO] [stdout] 2497e9479d85c7fc7cda4fed32b1c292d4e315728563e514c3328ccbec24f765
