[INFO] fetching crate hoard 0.6.0...
[INFO] checking hoard-0.6.0 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate hoard 0.6.0 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate hoard 0.6.0 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate hoard 0.6.0
[INFO] finished tweaking crates.io crate hoard 0.6.0
[INFO] tweaked toml for crates.io crate hoard 0.6.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate crates.io crate hoard 0.6.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded utfx v0.1.0
[INFO] [stderr]   Downloaded path-clean v0.1.0
[INFO] [stderr]   Downloaded pty_closure v0.1.2
[INFO] [stderr]   Downloaded open_cmd v0.1.0
[INFO] [stderr]   Downloaded registry v1.2.3
[INFO] [stderr]   Downloaded rustix v0.38.17
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1fcbc60c995595fcd362bb0c0bc49b68ba8ba33b6b818caa8c559927160c5fb1
[INFO] running `Command { std: "docker" "start" "-a" "1fcbc60c995595fcd362bb0c0bc49b68ba8ba33b6b818caa8c559927160c5fb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1fcbc60c995595fcd362bb0c0bc49b68ba8ba33b6b818caa8c559927160c5fb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1fcbc60c995595fcd362bb0c0bc49b68ba8ba33b6b818caa8c559927160c5fb1", kill_on_drop: false }`
[INFO] [stdout] 1fcbc60c995595fcd362bb0c0bc49b68ba8ba33b6b818caa8c559927160c5fb1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a18a078e8579bcb9d47763c6acc75db4958b0b39a6962e96a3e6df453db4e60e
[INFO] running `Command { std: "docker" "start" "-a" "a18a078e8579bcb9d47763c6acc75db4958b0b39a6962e96a3e6df453db4e60e", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.67
[INFO] [stderr]    Compiling libc v0.2.148
[INFO] [stderr]    Compiling serde v1.0.188
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]    Compiling rustix v0.38.17
[INFO] [stderr]     Checking bitflags v2.4.0
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.8
[INFO] [stderr]     Checking hashbrown v0.14.1
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]     Checking smallvec v1.11.1
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]     Checking futures-sink v0.3.28
[INFO] [stderr]    Compiling thiserror v1.0.49
[INFO] [stderr]     Checking anstyle-parse v0.2.2
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]    Compiling lock_api v0.4.10
[INFO] [stderr]     Checking tracing-core v0.1.31
[INFO] [stderr]     Checking anstyle-query v1.0.0
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]     Checking regex-syntax v0.6.29
[INFO] [stderr]     Checking unicode-bidi v0.3.13
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]     Checking regex-syntax v0.7.5
[INFO] [stderr]     Checking percent-encoding v2.3.0
[INFO] [stderr]     Checking anstyle v1.0.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.8
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking form_urlencoded v1.2.0
[INFO] [stderr]     Checking aho-corasick v1.1.1
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking anstream v0.6.4
[INFO] [stderr]     Checking indexmap v2.0.2
[INFO] [stderr]    Compiling serde_json v1.0.107
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]     Checking home v0.5.5
[INFO] [stderr]    Compiling async-trait v0.1.73
[INFO] [stderr]     Checking winnow v0.5.15
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking clap_lex v0.5.1
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling time-macros v0.2.15
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]    Compiling syn v2.0.37
[INFO] [stderr]     Checking url v2.4.1
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]     Checking path-clean v0.1.0
[INFO] [stderr]     Checking fastrand v2.0.1
[INFO] [stderr]     Checking match_cfg v0.1.0
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking cpufeatures v0.2.9
[INFO] [stderr]     Checking unsafe-libyaml v0.2.9
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking petgraph v0.6.4
[INFO] [stderr]     Checking similar v2.2.1
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]     Checking glob v0.3.1
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking mio v0.8.8
[INFO] [stderr]     Checking hostname v0.3.1
[INFO] [stderr]     Checking nix v0.23.2
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking regex-automata v0.3.9
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking terminal_size v0.3.0
[INFO] [stderr]     Checking which v4.4.2
[INFO] [stderr]     Checking tempfile v3.8.0
[INFO] [stderr]     Checking clap_builder v4.4.6
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]     Checking futures-executor v0.3.28
[INFO] [stderr]     Checking futures v0.3.28
[INFO] [stderr]     Checking regex v1.9.6
[INFO] [stderr]    Compiling serde_derive v1.0.188
[INFO] [stderr]    Compiling thiserror-impl v1.0.49
[INFO] [stderr]    Compiling tracing-attributes v0.1.26
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]    Compiling clap_derive v4.4.2
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]    Compiling serial_test_derive v2.0.0
[INFO] [stderr]     Checking serial_test v2.0.0
[INFO] [stderr]     Checking async-stream v0.3.5
[INFO] [stderr]     Checking tokio v1.32.0
[INFO] [stderr]     Checking pty_closure v0.1.2
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]     Checking open_cmd v0.1.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.17
[INFO] [stderr]     Checking clap v4.4.6
[INFO] [stderr]     Checking tokio-stream v0.1.14
[INFO] [stderr]     Checking toml_datetime v0.6.3
[INFO] [stderr]     Checking serde_spanned v0.6.3
[INFO] [stderr]     Checking deranged v0.3.8
[INFO] [stderr]     Checking serde_yaml v0.9.25
[INFO] [stderr]     Checking uuid v1.4.1
[INFO] [stderr]     Checking serde_test v1.0.176
[INFO] [stderr]     Checking toml_edit v0.20.2
[INFO] [stderr]     Checking time v0.3.29
[INFO] [stderr]     Checking toml v0.8.2
[INFO] [stderr]     Checking hoard v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC <https://rust-lang.github.io/rfcs/2145-type-privacy.html> for more information
[INFO] [stdout]   --> src/lib.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | private_in_public,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checkers/history/last_paths.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     async fn new(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | unused_qualifications,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 |     async fn new(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checkers/history/last_paths.rs:80:36
[INFO] [stdout]    |
[INFO] [stdout] 80 |       ) -> Result<Self, Self::Error> {
[INFO] [stdout]    |  ____________________________________^
[INFO] [stdout] 81 | |         Ok(LastPaths({
[INFO] [stdout] 82 | |             let mut map = HashMap::new();
[INFO] [stdout] 83 | |             map.insert(name.clone(), HoardPaths::from(hoard.clone()));
[INFO] [stdout] 84 | |             map
[INFO] [stdout] 85 | |         }))
[INFO] [stdout] 86 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 80 |     ) -> Result<Self, Self::Error> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checkers/history/last_paths.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     async fn check(&mut self) -> Result<(), Self::Error> {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 89 |     async fn check(&mut self) -> Result<(), Self::Error> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checkers/history/last_paths.rs:89:58
[INFO] [stdout]    |
[INFO] [stdout] 89 |       async fn check(&mut self) -> Result<(), Self::Error> {
[INFO] [stdout]    |  __________________________________________________________^
[INFO] [stdout] 90 | |         let (name, new_hoard) = self.0.iter().next().ok_or(Error::NoEntries)?;
[INFO] [stdout] 91 | |
[INFO] [stdout] 92 | |         let last_paths = LastPaths::from_default_file().await?;
[INFO] [stdout] ...  |
[INFO] [stdout] 98 | |         Ok(())
[INFO] [stdout] 99 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 89 |     async fn check(&mut self) -> Result<(), Self::Error> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/last_paths.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     async fn commit_to_disk(self) -> Result<(), Self::Error> {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 102 |     async fn commit_to_disk(self) -> Result<(), Self::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/last_paths.rs:102:62
[INFO] [stdout]     |
[INFO] [stdout] 102 |       async fn commit_to_disk(self) -> Result<(), Self::Error> {
[INFO] [stdout]     |  ______________________________________________________________^
[INFO] [stdout] 103 | |         let mut last_paths = LastPaths::from_default_file().await?;
[INFO] [stdout] 104 | |         for (name, hoard) in self.0 {
[INFO] [stdout] 105 | |             last_paths.set_hoard(name, hoard);
[INFO] [stdout] ...   |
[INFO] [stdout] 124 | |         Ok(())
[INFO] [stdout] 125 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 102 |     async fn commit_to_disk(self) -> Result<(), Self::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/operation/mod.rs:598:5
[INFO] [stdout]     |
[INFO] [stdout] 598 |     async fn new(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 598 |     async fn new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/operation/mod.rs:603:30
[INFO] [stdout]     |
[INFO] [stdout] 603 |       ) -> Result<Self, Error> {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 604 | |         Self::new(hoards_root, name, hoard, direction).await
[INFO] [stdout] 605 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 603 |     ) -> Result<Self, Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/operation/mod.rs:608:5
[INFO] [stdout]     |
[INFO] [stdout] 608 |     async fn check(&mut self) -> Result<(), Error> {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 608 |     async fn check(&mut self) -> Result<(), Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/operation/mod.rs:608:52
[INFO] [stdout]     |
[INFO] [stdout] 608 |       async fn check(&mut self) -> Result<(), Error> {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 609 | |         let last_local = Self::latest_local(self.hoard_name(), None).await?;
[INFO] [stdout] 610 | |         let last_remote = Self::latest_remote_backup(self.hoard_name(), None, false).await?;
[INFO] [stdout] 611 | |
[INFO] [stdout] ...   |
[INFO] [stdout] 649 | |         }
[INFO] [stdout] 650 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 608 |     async fn check(&mut self) -> Result<(), Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/operation/mod.rs:653:5
[INFO] [stdout]     |
[INFO] [stdout] 653 |     async fn commit_to_disk(self) -> Result<(), Error> {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 653 |     async fn commit_to_disk(self) -> Result<(), Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/operation/mod.rs:653:56
[INFO] [stdout]     |
[INFO] [stdout] 653 |       async fn commit_to_disk(self) -> Result<(), Error> {
[INFO] [stdout]     |  ________________________________________________________^
[INFO] [stdout] 654 | |         let id = super::get_or_generate_uuid().await?;
[INFO] [stdout] 655 | |         let path = super::get_history_dir_for_id(id)
[INFO] [stdout] 656 | |             .join(&RelativePath::from(self.hoard_name()))
[INFO] [stdout] ...   |
[INFO] [stdout] 683 | |         Ok(())
[INFO] [stdout] 684 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 653 |     async fn commit_to_disk(self) -> Result<(), Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checkers/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     async fn new(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 31 |     async fn new(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checkers/mod.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     async fn check(&mut self) -> Result<(), Self::Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 43 |     async fn check(&mut self) -> Result<(), Self::Error>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checkers/mod.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     async fn commit_to_disk(self) -> Result<(), Self::Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 49 |     async fn commit_to_disk(self) -> Result<(), Self::Error>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checksum/digest.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 56 |     type OutputSize = <md5::Md5 as md5::digest::OutputSizeUser>::OutputSize;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 56 -     type OutputSize = <md5::Md5 as md5::digest::OutputSizeUser>::OutputSize;
[INFO] [stdout] 56 +     type OutputSize = <md5::Md5 as digest::OutputSizeUser>::OutputSize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checksum/digest.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 |     type OutputSize = <sha2::Sha256 as sha2::digest::OutputSizeUser>::OutputSize;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 64 -     type OutputSize = <sha2::Sha256 as sha2::digest::OutputSizeUser>::OutputSize;
[INFO] [stdout] 64 +     type OutputSize = <sha2::Sha256 as digest::OutputSizeUser>::OutputSize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryFrom` is imported redundantly
[INFO] [stdout]   --> src/combinator.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::convert::{TryFrom, TryInto};
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout]   --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `TryFrom` is already defined here
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | unused,
[INFO] [stdout]    | ^^^^^^
[INFO] [stdout]    = note: `#[deny(unused_imports)]` implied by `#[deny(unused)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]   --> src/combinator.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::convert::{TryFrom, TryInto};
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout]   --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]  --> src/config/builder/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]  --> src/config/builder/environment/mod.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::convert::{Infallible, TryInto};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]  --> src/config/builder/environment/envvar.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::convert::{Infallible, TryInto};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]  --> src/config/builder/environment/exe.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/config/builder/environment/exe.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         std::fmt::Display::fmt(&self.0.display(), f)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 63 -         std::fmt::Display::fmt(&self.0.display(), f)
[INFO] [stdout] 63 +         fmt::Display::fmt(&self.0.display(), f)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]  --> src/config/builder/environment/hostname.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]  --> src/config/builder/environment/os.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::convert::{Infallible, TryInto};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]  --> src/config/builder/environment/path.rs:6:32
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::convert::{Infallible, TryInto};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `private_in_public` has been removed: replaced with another group of lints, see RFC <https://rust-lang.github.io/rfcs/2145-type-privacy.html> for more information
[INFO] [stdout]   --> src/lib.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | private_in_public,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checkers/history/last_paths.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     async fn new(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | unused_qualifications,
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 75 |     async fn new(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checkers/history/last_paths.rs:80:36
[INFO] [stdout]    |
[INFO] [stdout] 80 |       ) -> Result<Self, Self::Error> {
[INFO] [stdout]    |  ____________________________________^
[INFO] [stdout] 81 | |         Ok(LastPaths({
[INFO] [stdout] 82 | |             let mut map = HashMap::new();
[INFO] [stdout] 83 | |             map.insert(name.clone(), HoardPaths::from(hoard.clone()));
[INFO] [stdout] 84 | |             map
[INFO] [stdout] 85 | |         }))
[INFO] [stdout] 86 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 80 |     ) -> Result<Self, Self::Error> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checkers/history/last_paths.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     async fn check(&mut self) -> Result<(), Self::Error> {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 89 |     async fn check(&mut self) -> Result<(), Self::Error> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checkers/history/last_paths.rs:89:58
[INFO] [stdout]    |
[INFO] [stdout] 89 |       async fn check(&mut self) -> Result<(), Self::Error> {
[INFO] [stdout]    |  __________________________________________________________^
[INFO] [stdout] 90 | |         let (name, new_hoard) = self.0.iter().next().ok_or(Error::NoEntries)?;
[INFO] [stdout] 91 | |
[INFO] [stdout] 92 | |         let last_paths = LastPaths::from_default_file().await?;
[INFO] [stdout] ...  |
[INFO] [stdout] 98 | |         Ok(())
[INFO] [stdout] 99 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 89 |     async fn check(&mut self) -> Result<(), Self::Error> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/last_paths.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     async fn commit_to_disk(self) -> Result<(), Self::Error> {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 102 |     async fn commit_to_disk(self) -> Result<(), Self::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/last_paths.rs:102:62
[INFO] [stdout]     |
[INFO] [stdout] 102 |       async fn commit_to_disk(self) -> Result<(), Self::Error> {
[INFO] [stdout]     |  ______________________________________________________________^
[INFO] [stdout] 103 | |         let mut last_paths = LastPaths::from_default_file().await?;
[INFO] [stdout] 104 | |         for (name, hoard) in self.0 {
[INFO] [stdout] 105 | |             last_paths.set_hoard(name, hoard);
[INFO] [stdout] ...   |
[INFO] [stdout] 124 | |         Ok(())
[INFO] [stdout] 125 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 102 |     async fn commit_to_disk(self) -> Result<(), Self::Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `MD5` is imported redundantly
[INFO] [stdout]    --> src/checkers/history/operation/v1.rs:120:62
[INFO] [stdout]     |
[INFO] [stdout] 119 |     use super::*;
[INFO] [stdout]     |         -------- the item `MD5` is already imported here
[INFO] [stdout] 120 |     use crate::{checkers::history::operation::OperationImpl, checksum::MD5, test::relative_path};
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:54:1
[INFO] [stdout]     |
[INFO] [stdout] 54  | unused,
[INFO] [stdout]     | ^^^^^^
[INFO] [stdout]     = note: `#[deny(unused_imports)]` implied by `#[deny(unused)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `maplit` is imported redundantly
[INFO] [stdout]    --> src/checkers/history/operation/v2.rs:518:13
[INFO] [stdout]     |
[INFO] [stdout] 518 |         use maplit;
[INFO] [stdout]     |             ^^^^^^ the item `maplit` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/operation/mod.rs:598:5
[INFO] [stdout]     |
[INFO] [stdout] 598 |     async fn new(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 598 |     async fn new(
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/operation/mod.rs:603:30
[INFO] [stdout]     |
[INFO] [stdout] 603 |       ) -> Result<Self, Error> {
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 604 | |         Self::new(hoards_root, name, hoard, direction).await
[INFO] [stdout] 605 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 603 |     ) -> Result<Self, Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/operation/mod.rs:608:5
[INFO] [stdout]     |
[INFO] [stdout] 608 |     async fn check(&mut self) -> Result<(), Error> {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 608 |     async fn check(&mut self) -> Result<(), Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/operation/mod.rs:608:52
[INFO] [stdout]     |
[INFO] [stdout] 608 |       async fn check(&mut self) -> Result<(), Error> {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 609 | |         let last_local = Self::latest_local(self.hoard_name(), None).await?;
[INFO] [stdout] 610 | |         let last_remote = Self::latest_remote_backup(self.hoard_name(), None, false).await?;
[INFO] [stdout] 611 | |
[INFO] [stdout] ...   |
[INFO] [stdout] 649 | |         }
[INFO] [stdout] 650 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 608 |     async fn check(&mut self) -> Result<(), Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/operation/mod.rs:653:5
[INFO] [stdout]     |
[INFO] [stdout] 653 |     async fn commit_to_disk(self) -> Result<(), Error> {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 653 |     async fn commit_to_disk(self) -> Result<(), Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/checkers/history/operation/mod.rs:653:56
[INFO] [stdout]     |
[INFO] [stdout] 653 |       async fn commit_to_disk(self) -> Result<(), Error> {
[INFO] [stdout]     |  ________________________________________________________^
[INFO] [stdout] 654 | |         let id = super::get_or_generate_uuid().await?;
[INFO] [stdout] 655 | |         let path = super::get_history_dir_for_id(id)
[INFO] [stdout] 656 | |             .join(&RelativePath::from(self.hoard_name()))
[INFO] [stdout] ...   |
[INFO] [stdout] 683 | |         Ok(())
[INFO] [stdout] 684 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 653 |     async fn commit_to_disk(self) -> Result<(), Error> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checkers/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     async fn new(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 31 |     async fn new(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checkers/mod.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     async fn check(&mut self) -> Result<(), Self::Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 43 |     async fn check(&mut self) -> Result<(), Self::Error>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checkers/mod.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     async fn commit_to_disk(self) -> Result<(), Self::Error>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 49 |     async fn commit_to_disk(self) -> Result<(), Self::Error>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checksum/digest.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 56 |     type OutputSize = <md5::Md5 as md5::digest::OutputSizeUser>::OutputSize;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 56 -     type OutputSize = <md5::Md5 as md5::digest::OutputSizeUser>::OutputSize;
[INFO] [stdout] 56 +     type OutputSize = <md5::Md5 as digest::OutputSizeUser>::OutputSize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/checksum/digest.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 |     type OutputSize = <sha2::Sha256 as sha2::digest::OutputSizeUser>::OutputSize;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 64 -     type OutputSize = <sha2::Sha256 as sha2::digest::OutputSizeUser>::OutputSize;
[INFO] [stdout] 64 +     type OutputSize = <sha2::Sha256 as digest::OutputSizeUser>::OutputSize;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]   --> src/combinator.rs:20:29
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::convert::{TryFrom, TryInto};
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout]   --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]  --> src/config/builder/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]  --> src/config/builder/environment/mod.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::convert::{Infallible, TryInto};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]  --> src/config/builder/environment/envvar.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::convert::{Infallible, TryInto};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]  --> src/config/builder/environment/exe.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/config/builder/environment/exe.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         std::fmt::Display::fmt(&self.0.display(), f)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 63 -         std::fmt::Display::fmt(&self.0.display(), f)
[INFO] [stdout] 63 +         fmt::Display::fmt(&self.0.display(), f)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]  --> src/config/builder/environment/hostname.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `TryInto` is imported redundantly
[INFO] [stdout]  --> src/config/builder/environment/os.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::convert::{Infallible, TryInto};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:129:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `TryInto` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `BTreeMap` is imported redundantly
[INFO] [stdout]    --> src/config/builder/envtrie.rs:494:9
[INFO] [stdout]     |
[INFO] [stdout] 494 |     use std::collections::BTreeMap;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 498 |     use super::*;
[INFO] [stdout]     |         -------- the item `BTreeMap` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `ChecksumType` is imported redundantly
[INFO] [stdout]    --> src/hoard/pile_config.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     use crate::checksum::ChecksumType;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     use super::*;
[INFO] [stdout]     |         -------- the item `ChecksumType` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 27 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hoard` (lib) due to 28 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 29 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hoard` (lib test) due to 30 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "a18a078e8579bcb9d47763c6acc75db4958b0b39a6962e96a3e6df453db4e60e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a18a078e8579bcb9d47763c6acc75db4958b0b39a6962e96a3e6df453db4e60e", kill_on_drop: false }`
[INFO] [stdout] a18a078e8579bcb9d47763c6acc75db4958b0b39a6962e96a3e6df453db4e60e
