[INFO] fetching crate hdd 0.10.3...
[INFO] testing hdd-0.10.3 against 1.90.0 for beta-1.91-2
[INFO] extracting crate hdd 0.10.3 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate hdd 0.10.3
[INFO] finished tweaking crates.io crate hdd 0.10.3
[INFO] tweaked toml for crates.io crate hdd 0.10.3 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate hdd 0.10.3 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate hdd 0.10.3 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.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded itoa v0.3.4
[INFO] [stderr]   Downloaded utf8-ranges v1.0.4
[INFO] [stderr]   Downloaded separator v0.3.1
[INFO] [stderr]   Downloaded serde_json v0.9.10
[INFO] [stderr]   Downloaded dtoa v0.4.5
[INFO] [stderr]   Downloaded which v1.0.5
[INFO] [stderr]   Downloaded ucd-util v0.1.8
[INFO] [stderr]   Downloaded rustc-serialize v0.3.24
[INFO] [stderr]   Downloaded number_prefix v0.2.8
[INFO] [stderr]   Downloaded clang-sys v0.21.2
[INFO] [stderr]   Downloaded hermit-abi v0.1.13
[INFO] [stderr]   Downloaded prettytable-rs v0.6.7
[INFO] [stderr]   Downloaded serde v0.9.15
[INFO] [stderr]   Downloaded serde_codegen_internals v0.14.2
[INFO] [stderr]   Downloaded serde_derive v0.9.15
[INFO] [stderr]   Downloaded libc v0.2.70
[INFO] [stderr]   Downloaded clap v2.33.1
[INFO] [stderr]   Downloaded bindgen v0.31.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5658c0afee3e745f21e7e1668a86ba367144ec6e2daa9a36845f1937c5daaf44
[INFO] running `Command { std: "docker" "start" "-a" "5658c0afee3e745f21e7e1668a86ba367144ec6e2daa9a36845f1937c5daaf44", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5658c0afee3e745f21e7e1668a86ba367144ec6e2daa9a36845f1937c5daaf44", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5658c0afee3e745f21e7e1668a86ba367144ec6e2daa9a36845f1937c5daaf44", kill_on_drop: false }`
[INFO] [stdout] 5658c0afee3e745f21e7e1668a86ba367144ec6e2daa9a36845f1937c5daaf44
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 539e3f3b1a8563b31f2f867269f31a5862d2c520ea6ed86ed0a738461acb723d
[INFO] running `Command { std: "docker" "start" "-a" "539e3f3b1a8563b31f2f867269f31a5862d2c520ea6ed86ed0a738461acb723d", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling libc v0.2.70
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]    Compiling ucd-util v0.1.8
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling hdd v0.10.3 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling utf8-ranges v1.0.4
[INFO] [stderr]    Compiling nom v2.2.1
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling regex-syntax v0.5.6
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling aho-corasick v0.6.10
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ata/data/id.rs:271:28
[INFO] [stdout]     |
[INFO] [stdout] 271 |             0x0000 | 0xffff | 0x0002...0x0400 => RPM::Unknown,
[INFO] [stdout]     |                                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ata/data/id.rs:280:11
[INFO] [stdout]     |
[INFO] [stdout] 280 |             0x0001 ... 0x000c => Some("(obsolete)"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/scsi/pages.rs:118:7
[INFO] [stdout]     |
[INFO] [stdout] 118 |         0x30...0x3e => "(Vendor-Specific)",
[INFO] [stdout]     |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/scsi/pages.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 |                 x @ 0x8000...0xffff => VendorSpecific(x),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/scsi/pages.rs:410:7
[INFO] [stdout]     |
[INFO] [stdout] 410 |                     4...7 => Failed,
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/drivedb/drivedb.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |     #[cfg_attr(feature = "cargo-clippy", allow(match_same_arms))]
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bin`, `clap`, `default`, `env_logger`, `lazy_static`, `number_prefix`, `prettytable-rs`, `separator`, `serde`, `serde_derive`, `serde_json`, and `serializable`
[INFO] [stdout]     = help: consider adding `cargo-clippy` 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: `cargo-clippy`
[INFO] [stdout]   --> src/utils.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[cfg_attr(feature = "cargo-clippy", allow(needless_range_loop))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `bin`, `clap`, `default`, `env_logger`, `lazy_static`, `number_prefix`, `prettytable-rs`, `separator`, `serde`, `serde_derive`, `serde_json`, and `serializable`
[INFO] [stdout]    = help: consider adding `cargo-clippy` 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/utils.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[cfg_attr(feature = "cargo-clippy", allow(needless_range_loop))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `bin`, `clap`, `default`, `env_logger`, `lazy_static`, `number_prefix`, `prettytable-rs`, `separator`, `serde`, `serde_derive`, `serde_json`, and `serializable`
[INFO] [stdout]    = help: consider adding `cargo-clippy` 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: variable does not need to be mutable
[INFO] [stdout]    --> src/device/linux.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let mut buf = BufReader::new(uevent);
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `alloc` should have an upper case name
[INFO] [stdout]    --> src/scsi/mod.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         const alloc: usize = 4096;
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 110 -         const alloc: usize = 4096;
[INFO] [stdout] 110 +         const ALLOC: usize = 4096;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `alloc` should have an upper case name
[INFO] [stdout]    --> src/scsi/mod.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |         const alloc: usize = 4096;
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 181 -         const alloc: usize = 4096;
[INFO] [stdout] 181 +         const ALLOC: usize = 4096;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scsi/data/vpd/device_id.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn parse(data: &[u8]) -> Vec<Descriptor> {
[INFO] [stdout]    |                    ^^^^^         ---------- the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn parse(data: &[u8]) -> Vec<Descriptor<'_>> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scsi/data/sense/mod.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn parse(data: &Vec<u8>) -> Option<(bool, Sense)> {
[INFO] [stdout]    |                    ^^^^^^^^                   ----- the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn parse(data: &Vec<u8>) -> Option<(bool, Sense<'_>)> {
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scsi/data/sense/fixed.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn parse(data: &[u8]) -> Option<FixedData> {
[INFO] [stdout]    |                    ^^^^^            --------- the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn parse(data: &[u8]) -> Option<FixedData<'_>> {
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scsi/data/sense/descriptor.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn parse(data: &[u8]) -> Option<DescriptorData> {
[INFO] [stdout]    |                    ^^^^^            -------------- the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn parse(data: &[u8]) -> Option<DescriptorData<'_>> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/drivedb/drivedb.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn render_meta(&self, id: &id::Id, extra_attributes: &Vec<Attribute>) -> DriveMeta {
[INFO] [stdout]    |                        ^^^^^ the lifetime is elided here                         --------- the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn render_meta(&self, id: &id::Id, extra_attributes: &Vec<Attribute>) -> DriveMeta<'_> {
[INFO] [stdout]    |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.62s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.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" "539e3f3b1a8563b31f2f867269f31a5862d2c520ea6ed86ed0a738461acb723d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "539e3f3b1a8563b31f2f867269f31a5862d2c520ea6ed86ed0a738461acb723d", kill_on_drop: false }`
[INFO] [stdout] 539e3f3b1a8563b31f2f867269f31a5862d2c520ea6ed86ed0a738461acb723d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3d44d00ae3570cd3141ce939b486dbb36bf079975f3f0529cd661cd448903801
[INFO] running `Command { std: "docker" "start" "-a" "3d44d00ae3570cd3141ce939b486dbb36bf079975f3f0529cd661cd448903801", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ata/data/id.rs:271:28
[INFO] [stdout]     |
[INFO] [stdout] 271 |             0x0000 | 0xffff | 0x0002...0x0400 => RPM::Unknown,
[INFO] [stdout]     |                                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ata/data/id.rs:280:11
[INFO] [stdout]     |
[INFO] [stdout] 280 |             0x0001 ... 0x000c => Some("(obsolete)"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/scsi/pages.rs:118:7
[INFO] [stdout]     |
[INFO] [stdout] 118 |         0x30...0x3e => "(Vendor-Specific)",
[INFO] [stdout]     |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/scsi/pages.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 |                 x @ 0x8000...0xffff => VendorSpecific(x),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/scsi/pages.rs:410:7
[INFO] [stdout]     |
[INFO] [stdout] 410 |                     4...7 => Failed,
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/drivedb/drivedb.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |     #[cfg_attr(feature = "cargo-clippy", allow(match_same_arms))]
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bin`, `clap`, `default`, `env_logger`, `lazy_static`, `number_prefix`, `prettytable-rs`, `separator`, `serde`, `serde_derive`, `serde_json`, and `serializable`
[INFO] [stdout]     = help: consider adding `cargo-clippy` 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] [stderr]    Compiling hdd v0.10.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/utils.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[cfg_attr(feature = "cargo-clippy", allow(needless_range_loop))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `bin`, `clap`, `default`, `env_logger`, `lazy_static`, `number_prefix`, `prettytable-rs`, `separator`, `serde`, `serde_derive`, `serde_json`, and `serializable`
[INFO] [stdout]    = help: consider adding `cargo-clippy` 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/utils.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[cfg_attr(feature = "cargo-clippy", allow(needless_range_loop))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `bin`, `clap`, `default`, `env_logger`, `lazy_static`, `number_prefix`, `prettytable-rs`, `separator`, `serde`, `serde_derive`, `serde_json`, and `serializable`
[INFO] [stdout]    = help: consider adding `cargo-clippy` 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: variable does not need to be mutable
[INFO] [stdout]    --> src/device/linux.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let mut buf = BufReader::new(uevent);
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `alloc` should have an upper case name
[INFO] [stdout]    --> src/scsi/mod.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         const alloc: usize = 4096;
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 110 -         const alloc: usize = 4096;
[INFO] [stdout] 110 +         const ALLOC: usize = 4096;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `alloc` should have an upper case name
[INFO] [stdout]    --> src/scsi/mod.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |         const alloc: usize = 4096;
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 181 -         const alloc: usize = 4096;
[INFO] [stdout] 181 +         const ALLOC: usize = 4096;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scsi/data/vpd/device_id.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn parse(data: &[u8]) -> Vec<Descriptor> {
[INFO] [stdout]    |                    ^^^^^         ---------- the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn parse(data: &[u8]) -> Vec<Descriptor<'_>> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scsi/data/sense/mod.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn parse(data: &Vec<u8>) -> Option<(bool, Sense)> {
[INFO] [stdout]    |                    ^^^^^^^^                   ----- the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn parse(data: &Vec<u8>) -> Option<(bool, Sense<'_>)> {
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scsi/data/sense/fixed.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn parse(data: &[u8]) -> Option<FixedData> {
[INFO] [stdout]    |                    ^^^^^            --------- the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn parse(data: &[u8]) -> Option<FixedData<'_>> {
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scsi/data/sense/descriptor.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn parse(data: &[u8]) -> Option<DescriptorData> {
[INFO] [stdout]    |                    ^^^^^            -------------- the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn parse(data: &[u8]) -> Option<DescriptorData<'_>> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/drivedb/drivedb.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn render_meta(&self, id: &id::Id, extra_attributes: &Vec<Attribute>) -> DriveMeta {
[INFO] [stdout]    |                        ^^^^^ the lifetime is elided here                         --------- the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn render_meta(&self, id: &id::Id, extra_attributes: &Vec<Attribute>) -> DriveMeta<'_> {
[INFO] [stdout]    |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ata/data/id.rs:271:28
[INFO] [stdout]     |
[INFO] [stdout] 271 |             0x0000 | 0xffff | 0x0002...0x0400 => RPM::Unknown,
[INFO] [stdout]     |                                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/ata/data/id.rs:280:11
[INFO] [stdout]     |
[INFO] [stdout] 280 |             0x0001 ... 0x000c => Some("(obsolete)"),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/scsi/pages.rs:118:7
[INFO] [stdout]     |
[INFO] [stdout] 118 |         0x30...0x3e => "(Vendor-Specific)",
[INFO] [stdout]     |             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/scsi/pages.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 |                 x @ 0x8000...0xffff => VendorSpecific(x),
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/scsi/pages.rs:410:7
[INFO] [stdout]     |
[INFO] [stdout] 410 |                     4...7 => Failed,
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]    --> src/drivedb/drivedb.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |     #[cfg_attr(feature = "cargo-clippy", allow(match_same_arms))]
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `bin`, `clap`, `default`, `env_logger`, `lazy_static`, `number_prefix`, `prettytable-rs`, `separator`, `serde`, `serde_derive`, `serde_json`, and `serializable`
[INFO] [stdout]     = help: consider adding `cargo-clippy` 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: `cargo-clippy`
[INFO] [stdout]   --> src/utils.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | #[cfg_attr(feature = "cargo-clippy", allow(needless_range_loop))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `bin`, `clap`, `default`, `env_logger`, `lazy_static`, `number_prefix`, `prettytable-rs`, `separator`, `serde`, `serde_derive`, `serde_json`, and `serializable`
[INFO] [stdout]    = help: consider adding `cargo-clippy` 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/utils.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[cfg_attr(feature = "cargo-clippy", allow(needless_range_loop))]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `bin`, `clap`, `default`, `env_logger`, `lazy_static`, `number_prefix`, `prettytable-rs`, `separator`, `serde`, `serde_derive`, `serde_json`, and `serializable`
[INFO] [stdout]    = help: consider adding `cargo-clippy` 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: variable does not need to be mutable
[INFO] [stdout]    --> src/device/linux.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let mut buf = BufReader::new(uevent);
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `alloc` should have an upper case name
[INFO] [stdout]    --> src/scsi/mod.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         const alloc: usize = 4096;
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 110 -         const alloc: usize = 4096;
[INFO] [stdout] 110 +         const ALLOC: usize = 4096;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `alloc` should have an upper case name
[INFO] [stdout]    --> src/scsi/mod.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |         const alloc: usize = 4096;
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 181 -         const alloc: usize = 4096;
[INFO] [stdout] 181 +         const ALLOC: usize = 4096;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scsi/data/vpd/device_id.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn parse(data: &[u8]) -> Vec<Descriptor> {
[INFO] [stdout]    |                    ^^^^^         ---------- the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn parse(data: &[u8]) -> Vec<Descriptor<'_>> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scsi/data/sense/mod.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn parse(data: &Vec<u8>) -> Option<(bool, Sense)> {
[INFO] [stdout]    |                    ^^^^^^^^                   ----- the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn parse(data: &Vec<u8>) -> Option<(bool, Sense<'_>)> {
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scsi/data/sense/fixed.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn parse(data: &[u8]) -> Option<FixedData> {
[INFO] [stdout]    |                    ^^^^^            --------- the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn parse(data: &[u8]) -> Option<FixedData<'_>> {
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/scsi/data/sense/descriptor.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn parse(data: &[u8]) -> Option<DescriptorData> {
[INFO] [stdout]    |                    ^^^^^            -------------- the same lifetime is hidden here
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn parse(data: &[u8]) -> Option<DescriptorData<'_>> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/drivedb/drivedb.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn render_meta(&self, id: &id::Id, extra_attributes: &Vec<Attribute>) -> DriveMeta {
[INFO] [stdout]    |                        ^^^^^ the lifetime is elided here                         --------- the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn render_meta(&self, id: &id::Id, extra_attributes: &Vec<Attribute>) -> DriveMeta<'_> {
[INFO] [stdout]    |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.01s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.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" "3d44d00ae3570cd3141ce939b486dbb36bf079975f3f0529cd661cd448903801", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d44d00ae3570cd3141ce939b486dbb36bf079975f3f0529cd661cd448903801", kill_on_drop: false }`
[INFO] [stdout] 3d44d00ae3570cd3141ce939b486dbb36bf079975f3f0529cd661cd448903801
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c96f0a55a0a47971c9b3b7c534269d8dbbe8cf0694c81a4ef4c5f7e27e4eb245
[INFO] running `Command { std: "docker" "start" "-a" "c96f0a55a0a47971c9b3b7c534269d8dbbe8cf0694c81a4ef4c5f7e27e4eb245", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ata/data/id.rs:271:28
[INFO] [stderr]     |
[INFO] [stderr] 271 |             0x0000 | 0xffff | 0x0002...0x0400 => RPM::Unknown,
[INFO] [stderr]     |                                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ata/data/id.rs:280:11
[INFO] [stderr]     |
[INFO] [stderr] 280 |             0x0001 ... 0x000c => Some("(obsolete)"),
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/scsi/pages.rs:118:7
[INFO] [stderr]     |
[INFO] [stderr] 118 |         0x30...0x3e => "(Vendor-Specific)",
[INFO] [stderr]     |             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/scsi/pages.rs:226:15
[INFO] [stderr]     |
[INFO] [stderr] 226 |                 x @ 0x8000...0xffff => VendorSpecific(x),
[INFO] [stderr]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/scsi/pages.rs:410:7
[INFO] [stderr]     |
[INFO] [stderr] 410 |                     4...7 => Failed,
[INFO] [stderr]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]    --> src/drivedb/drivedb.rs:122:13
[INFO] [stderr]     |
[INFO] [stderr] 122 |     #[cfg_attr(feature = "cargo-clippy", allow(match_same_arms))]
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: expected values for `feature` are: `bin`, `clap`, `default`, `env_logger`, `lazy_static`, `number_prefix`, `prettytable-rs`, `separator`, `serde`, `serde_derive`, `serde_json`, and `serializable`
[INFO] [stderr]     = help: consider adding `cargo-clippy` 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: `cargo-clippy`
[INFO] [stderr]   --> src/utils.rs:32:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | #[cfg_attr(feature = "cargo-clippy", allow(needless_range_loop))]
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `bin`, `clap`, `default`, `env_logger`, `lazy_static`, `number_prefix`, `prettytable-rs`, `separator`, `serde`, `serde_derive`, `serde_json`, and `serializable`
[INFO] [stderr]    = help: consider adding `cargo-clippy` 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: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> src/utils.rs:66:12
[INFO] [stderr]    |
[INFO] [stderr] 66 | #[cfg_attr(feature = "cargo-clippy", allow(needless_range_loop))]
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: expected values for `feature` are: `bin`, `clap`, `default`, `env_logger`, `lazy_static`, `number_prefix`, `prettytable-rs`, `separator`, `serde`, `serde_derive`, `serde_json`, and `serializable`
[INFO] [stderr]    = help: consider adding `cargo-clippy` 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: variable does not need to be mutable
[INFO] [stderr]    --> src/device/linux.rs:106:8
[INFO] [stderr]     |
[INFO] [stderr] 106 |             let mut buf = BufReader::new(uevent);
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `alloc` should have an upper case name
[INFO] [stderr]    --> src/scsi/mod.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 110 |         const alloc: usize = 4096;
[INFO] [stderr]     |               ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 110 -         const alloc: usize = 4096;
[INFO] [stderr] 110 +         const ALLOC: usize = 4096;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `alloc` should have an upper case name
[INFO] [stderr]    --> src/scsi/mod.rs:181:9
[INFO] [stderr]     |
[INFO] [stderr] 181 |         const alloc: usize = 4096;
[INFO] [stderr]     |               ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 181 -         const alloc: usize = 4096;
[INFO] [stderr] 181 +         const ALLOC: usize = 4096;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/scsi/data/vpd/device_id.rs:51:20
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub fn parse(data: &[u8]) -> Vec<Descriptor> {
[INFO] [stderr]    |                    ^^^^^         ---------- the same lifetime is hidden here
[INFO] [stderr]    |                    |
[INFO] [stderr]    |                    the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub fn parse(data: &[u8]) -> Vec<Descriptor<'_>> {
[INFO] [stderr]    |                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/scsi/data/sense/mod.rs:27:20
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub fn parse(data: &Vec<u8>) -> Option<(bool, Sense)> {
[INFO] [stderr]    |                    ^^^^^^^^                   ----- the same lifetime is hidden here
[INFO] [stderr]    |                    |
[INFO] [stderr]    |                    the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub fn parse(data: &Vec<u8>) -> Option<(bool, Sense<'_>)> {
[INFO] [stderr]    |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/scsi/data/sense/fixed.rs:39:20
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub fn parse(data: &[u8]) -> Option<FixedData> {
[INFO] [stderr]    |                    ^^^^^            --------- the same lifetime is hidden here
[INFO] [stderr]    |                    |
[INFO] [stderr]    |                    the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub fn parse(data: &[u8]) -> Option<FixedData<'_>> {
[INFO] [stderr]    |                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/scsi/data/sense/descriptor.rs:19:20
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub fn parse(data: &[u8]) -> Option<DescriptorData> {
[INFO] [stderr]    |                    ^^^^^            -------------- the same lifetime is hidden here
[INFO] [stderr]    |                    |
[INFO] [stderr]    |                    the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub fn parse(data: &[u8]) -> Option<DescriptorData<'_>> {
[INFO] [stderr]    |                                                   ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/drivedb/drivedb.rs:80:21
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn render_meta(&self, id: &id::Id, extra_attributes: &Vec<Attribute>) -> DriveMeta {
[INFO] [stderr]    |                        ^^^^^ the lifetime is elided here                         --------- the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn render_meta(&self, id: &id::Id, extra_attributes: &Vec<Attribute>) -> DriveMeta<'_> {
[INFO] [stderr]    |                                                                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `hdd` (lib) generated 16 warnings (run `cargo fix --lib -p hdd` to apply 8 suggestions)
[INFO] [stderr] warning: `hdd` (lib test) generated 16 warnings (16 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.2.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/lib.rs (/opt/rustwide/target/debug/deps/hdd-78c5c83f24acc194)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests hdd
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ata/data/id.rs:271:28
[INFO] [stderr]     |
[INFO] [stderr] 271 |             0x0000 | 0xffff | 0x0002...0x0400 => RPM::Unknown,
[INFO] [stderr]     |                                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/ata/data/id.rs:280:11
[INFO] [stderr]     |
[INFO] [stderr] 280 |             0x0001 ... 0x000c => Some("(obsolete)"),
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/scsi/pages.rs:118:7
[INFO] [stderr]     |
[INFO] [stderr] 118 |         0x30...0x3e => "(Vendor-Specific)",
[INFO] [stderr]     |             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/scsi/pages.rs:226:15
[INFO] [stderr]     |
[INFO] [stderr] 226 |                 x @ 0x8000...0xffff => VendorSpecific(x),
[INFO] [stderr]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/scsi/pages.rs:410:7
[INFO] [stderr]     |
[INFO] [stderr] 410 |                     4...7 => Failed,
[INFO] [stderr]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] warning: 5 warnings emitted
[INFO] [stdout] running 5 tests
[INFO] [stderr] 
[INFO] [stdout] test src/drivedb/mod.rs - drivedb (line 5) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 5) ... FAILED
[INFO] [stdout] test src/ata/misc.rs - ata::misc (line 5) ... FAILED
[INFO] [stdout] test src/scsi/data/log_page.rs - scsi::data::log_page (line 7) ... FAILED
[INFO] [stdout] test src/scsi/pages.rs - scsi::pages (line 7) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/drivedb/mod.rs - drivedb (line 5) stdout ----
[INFO] [stdout] error[E0593]: closure is expected to take 1 argument, but it takes 0 arguments
[INFO] [stdout]   --> src/drivedb/mod.rs:12:3
[INFO] [stdout]    |
[INFO] [stdout] 10 |     .or_else(|| loader.load("/usr/share/smartmontools/drivedb.h"))?;
[INFO] [stdout]    |      ^^^^^^^ -- takes 0 arguments
[INFO] [stdout]    |      |
[INFO] [stdout]    |      expected closure that takes 1 argument
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the closure to take and ignore the expected argument
[INFO] [stdout]    |
[INFO] [stdout] 10 |     .or_else(|_| loader.load("/usr/share/smartmontools/drivedb.h"))?;
[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]   --> src/drivedb/mod.rs:12:64
[INFO] [stdout]    |
[INFO] [stdout]  4 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_drivedb_mod_rs_5_0() {
[INFO] [stdout]    |                                      ----------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 10 |     .or_else(|| loader.load("/usr/share/smartmontools/drivedb.h"))?;
[INFO] [stdout]    |                                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout]  4 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_drivedb_mod_rs_5_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                                                                                +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0593.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 5) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `vpd` in this scope
[INFO] [stdout]  --> src/lib.rs:11:38
[INFO] [stdout]   |
[INFO] [stdout] 9 | let (sense, data) = dev.scsi_inquiry(vpd, page).unwrap();
[INFO] [stdout]   |                                      ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `page` in this scope
[INFO] [stdout]  --> src/lib.rs:11:43
[INFO] [stdout]   |
[INFO] [stdout] 9 | let (sense, data) = dev.scsi_inquiry(vpd, page).unwrap();
[INFO] [stdout]   |                                           ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `scsi_inquiry` found for struct `hdd::Device` in the current scope
[INFO] [stdout]  --> src/lib.rs:11:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | let (sense, data) = dev.scsi_inquiry(vpd, page).unwrap();
[INFO] [stdout]   |                         ^^^^^^^^^^^^ method not found in `hdd::Device`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/ata/misc.rs - ata::misc (line 5) stdout ----
[INFO] [stdout] error: unexpected token: `...`
[INFO] [stdout]   --> src/ata/misc.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | ...
[INFO] [stdout]    | ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `..` for an exclusive range
[INFO] [stdout]    |
[INFO] [stdout] 10 - ...
[INFO] [stdout] 10 + ..
[INFO] [stdout]    |
[INFO] [stdout] help: or `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout] 10 - ...
[INFO] [stdout] 10 + ..=
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `let` statement
[INFO] [stdout]   --> src/ata/misc.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | let id = dev.get_device_id().unwrap();
[INFO] [stdout]    | ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: only supported directly in conditions of `if` and `while` expressions
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `dev` in this scope
[INFO] [stdout]   --> src/ata/misc.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | let id = dev.get_device_id().unwrap();
[INFO] [stdout]    |          ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `dev` in this scope
[INFO] [stdout]   --> src/ata/misc.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let status = dev.get_smart_health().unwrap();
[INFO] [stdout]    |                      ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/scsi/data/log_page.rs - scsi::data::log_page (line 7) stdout ----
[INFO] [stdout] error: unexpected token: `...`
[INFO] [stdout]  --> src/scsi/data/log_page.rs:11:36
[INFO] [stdout]   |
[INFO] [stdout] 7 | let (_sense, data) = dev.log_sense(...)?;
[INFO] [stdout]   |                                    ^^^
[INFO] [stdout]   |
[INFO] [stdout] help: use `..` for an exclusive range
[INFO] [stdout]   |
[INFO] [stdout] 7 - let (_sense, data) = dev.log_sense(...)?;
[INFO] [stdout] 7 + let (_sense, data) = dev.log_sense(..)?;
[INFO] [stdout]   |
[INFO] [stdout] help: or `..=` for an inclusive range
[INFO] [stdout]   |
[INFO] [stdout] 7 - let (_sense, data) = dev.log_sense(...)?;
[INFO] [stdout] 7 + let (_sense, data) = dev.log_sense(..=)?;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0586]: inclusive range with no end
[INFO] [stdout]  --> src/scsi/data/log_page.rs:11:36
[INFO] [stdout]   |
[INFO] [stdout] 7 | let (_sense, data) = dev.log_sense(...)?;
[INFO] [stdout]   |                                    ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
[INFO] [stdout] help: use `..` instead
[INFO] [stdout]   |
[INFO] [stdout] 7 - let (_sense, data) = dev.log_sense(...)?;
[INFO] [stdout] 7 + let (_sense, data) = dev.log_sense(..)?;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `dev` in this scope
[INFO] [stdout]  --> src/scsi/data/log_page.rs:11:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | let (_sense, data) = dev.log_sense(...)?;
[INFO] [stdout]   |                      ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0586.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/scsi/pages.rs - scsi::pages (line 7) stdout ----
[INFO] [stdout] error: unexpected token: `...`
[INFO] [stdout]  --> src/scsi/pages.rs:13:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | ...
[INFO] [stdout]   | ^^^
[INFO] [stdout]   |
[INFO] [stdout] help: use `..` for an exclusive range
[INFO] [stdout]   |
[INFO] [stdout] 9 - ...
[INFO] [stdout] 9 + ..
[INFO] [stdout]   |
[INFO] [stdout] help: or `..=` for an inclusive range
[INFO] [stdout]   |
[INFO] [stdout] 9 - ...
[INFO] [stdout] 9 + ..=
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `let` statement
[INFO] [stdout]   --> src/scsi/pages.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | let pages = dev.supported_pages().unwrap();
[INFO] [stdout]    | ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: only supported directly in conditions of `if` and `while` expressions
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `.`, `;`, `?`, `}`, or an operator, found `,`
[INFO] [stdout]   --> src/scsi/pages.rs:19:48
[INFO] [stdout]    |
[INFO] [stdout] 15 |     println!("{:#?}\n", dev.read_error_counters()),
[INFO] [stdout]    |                                                   ^ expected one of `.`, `;`, `?`, `}`, or an operator
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `hdd::scsi::pages::Pages`
[INFO] [stdout]  --> src/scsi/pages.rs:11:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hdd::scsi::pages::{Pages, page_name};
[INFO] [stdout]   |                        ^^^^^ no `Pages` in `scsi::pages`
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `dev` in this scope
[INFO] [stdout]   --> src/scsi/pages.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | let pages = dev.supported_pages().unwrap();
[INFO] [stdout]    |             ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/ata/misc.rs - ata::misc (line 5)
[INFO] [stdout]     src/drivedb/mod.rs - drivedb (line 5)
[INFO] [stdout]     src/lib.rs - (line 5)
[INFO] [stdout]     src/scsi/data/log_page.rs - scsi::data::log_page (line 7)
[INFO] [stdout]     src/scsi/pages.rs - scsi::pages (line 7)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "c96f0a55a0a47971c9b3b7c534269d8dbbe8cf0694c81a4ef4c5f7e27e4eb245", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c96f0a55a0a47971c9b3b7c534269d8dbbe8cf0694c81a4ef4c5f7e27e4eb245", kill_on_drop: false }`
[INFO] [stdout] c96f0a55a0a47971c9b3b7c534269d8dbbe8cf0694c81a4ef4c5f7e27e4eb245
