[INFO] fetching crate libimagstore 0.10.1...
[INFO] checking libimagstore-0.10.1 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate libimagstore 0.10.1 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate libimagstore 0.10.1 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 libimagstore 0.10.1
[INFO] finished tweaking crates.io crate libimagstore 0.10.1
[INFO] tweaked toml for crates.io crate libimagstore 0.10.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 8e5c067be10171b487441ec250654fe0f0dc84774b735e96c4807a8dc3bdf58e
[INFO] running `Command { std: "docker" "start" "-a" "8e5c067be10171b487441ec250654fe0f0dc84774b735e96c4807a8dc3bdf58e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8e5c067be10171b487441ec250654fe0f0dc84774b735e96c4807a8dc3bdf58e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8e5c067be10171b487441ec250654fe0f0dc84774b735e96c4807a8dc3bdf58e", kill_on_drop: false }`
[INFO] [stdout] 8e5c067be10171b487441ec250654fe0f0dc84774b735e96c4807a8dc3bdf58e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 625dacab07967299c3ddc6a6d270f8d79409e88e7f2035f7e5f20280abe18c4d
[INFO] running `Command { std: "docker" "start" "-a" "625dacab07967299c3ddc6a6d270f8d79409e88e7f2035f7e5f20280abe18c4d", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]    Compiling rustix v0.38.32
[INFO] [stderr]     Checking linux-raw-sys v0.4.13
[INFO] [stderr]     Checking fastrand v2.0.2
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking boolinator v2.4.0
[INFO] [stderr]     Checking is-match v0.1.0
[INFO] [stderr]     Checking semver-parser v0.7.0
[INFO] [stderr]     Checking serde_json v1.0.115
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking semver v0.9.0
[INFO] [stderr]     Checking backtrace v0.3.71
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking glob v0.3.1
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]     Checking libimagerror v0.10.1
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking tempfile v3.10.1
[INFO] [stderr]     Checking libimagutil v0.10.1
[INFO] [stderr]    Compiling darling_core v0.8.6
[INFO] [stderr]    Compiling darling_macro v0.8.6
[INFO] [stderr]    Compiling darling v0.8.6
[INFO] [stderr]    Compiling toml-query_derive v0.9.2
[INFO] [stderr]     Checking toml-query v0.9.2
[INFO] [stderr]     Checking libimagstore v0.10.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/util.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let h = ::toml::de::from_str(&header).context(EM::TomlDeserError)?;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     unused_qualifications,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 66 -     let h = ::toml::de::from_str(&header).context(EM::TomlDeserError)?;
[INFO] [stdout] 66 +     let h = toml::de::from_str(&header).context(EM::TomlDeserError)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Drop` is imported redundantly
[INFO] [stdout]   --> src/store.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::ops::Drop;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Drop` is already defined here
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     unused_imports,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/store.rs:822:30
[INFO] [stdout]     |
[INFO] [stdout] 822 |                    header  = ::toml::ser::to_string_pretty(&self.header)
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 822 -                    header  = ::toml::ser::to_string_pretty(&self.header)
[INFO] [stdout] 822 +                    header  = toml::ser::to_string_pretty(&self.header)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/store.rs:919:26
[INFO] [stdout]     |
[INFO] [stdout] 919 |         .map(|s: String| ::semver::Version::parse(&s).is_ok())
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 919 -         .map(|s: String| ::semver::Version::parse(&s).is_ok())
[INFO] [stdout] 919 +         .map(|s: String| semver::Version::parse(&s).is_ok())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/file_abstraction/fs.rs:204:39
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn open_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<Option<File>> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 204 - fn open_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<Option<File>> {
[INFO] [stdout] 204 + fn open_file<A: AsRef<Path>>(p: A) -> std::io::Result<Option<File>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/file_abstraction/fs.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             ::std::io::ErrorKind::NotFound => Ok(None),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 207 -             ::std::io::ErrorKind::NotFound => Ok(None),
[INFO] [stdout] 207 +             std::io::ErrorKind::NotFound => Ok(None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/file_abstraction/fs.rs:214:41
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn create_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<File> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 214 - fn create_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<File> {
[INFO] [stdout] 214 + fn create_file<A: AsRef<Path>>(p: A) -> std::io::Result<File> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/file_abstraction/mod.rs:83:26
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct DrainIter<'a>(::std::collections::hash_map::Drain<'a, PathBuf, Entry>);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 83 - pub struct DrainIter<'a>(::std::collections::hash_map::Drain<'a, PathBuf, Entry>);
[INFO] [stdout] 83 + pub struct DrainIter<'a>(std::collections::hash_map::Drain<'a, PathBuf, Entry>);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/util.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let h = ::toml::de::from_str(&header).context(EM::TomlDeserError)?;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     unused_qualifications,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 66 -     let h = ::toml::de::from_str(&header).context(EM::TomlDeserError)?;
[INFO] [stdout] 66 +     let h = toml::de::from_str(&header).context(EM::TomlDeserError)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/storeid.rs:350:17
[INFO] [stdout]     |
[INFO] [stdout] 350 |         let p = crate::storeid::test::module_path::new_id("test");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 350 -         let p = crate::storeid::test::module_path::new_id("test");
[INFO] [stdout] 350 +         let p = module_path::new_id("test");
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/storeid.rs:357:17
[INFO] [stdout]     |
[INFO] [stdout] 357 |         let p = crate::storeid::test::module_path::new_id("1/2/3/4/5/6/7/8/9/0").unwrap();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 357 -         let p = crate::storeid::test::module_path::new_id("1/2/3/4/5/6/7/8/9/0").unwrap();
[INFO] [stdout] 357 +         let p = module_path::new_id("1/2/3/4/5/6/7/8/9/0").unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Drop` is imported redundantly
[INFO] [stdout]   --> src/store.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::ops::Drop;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Drop` is already defined here
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     unused_imports,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/store.rs:822:30
[INFO] [stdout]     |
[INFO] [stdout] 822 |                    header  = ::toml::ser::to_string_pretty(&self.header)
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 822 -                    header  = ::toml::ser::to_string_pretty(&self.header)
[INFO] [stdout] 822 +                    header  = toml::ser::to_string_pretty(&self.header)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/store.rs:919:26
[INFO] [stdout]     |
[INFO] [stdout] 919 |         .map(|s: String| ::semver::Version::parse(&s).is_ok())
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 919 -         .map(|s: String| ::semver::Version::parse(&s).is_ok())
[INFO] [stdout] 919 +         .map(|s: String| semver::Version::parse(&s).is_ok())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/file_abstraction/fs.rs:204:39
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn open_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<Option<File>> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 204 - fn open_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<Option<File>> {
[INFO] [stdout] 204 + fn open_file<A: AsRef<Path>>(p: A) -> std::io::Result<Option<File>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/file_abstraction/fs.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             ::std::io::ErrorKind::NotFound => Ok(None),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 207 -             ::std::io::ErrorKind::NotFound => Ok(None),
[INFO] [stdout] 207 +             std::io::ErrorKind::NotFound => Ok(None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/file_abstraction/fs.rs:214:41
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn create_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<File> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 214 - fn create_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<File> {
[INFO] [stdout] 214 + fn create_file<A: AsRef<Path>>(p: A) -> std::io::Result<File> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/file_abstraction/mod.rs:83:26
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct DrainIter<'a>(::std::collections::hash_map::Drain<'a, PathBuf, Entry>);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 83 - pub struct DrainIter<'a>(::std::collections::hash_map::Drain<'a, PathBuf, Entry>);
[INFO] [stdout] 83 + pub struct DrainIter<'a>(std::collections::hash_map::Drain<'a, PathBuf, Entry>);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: methods `drain` and `fill` are never used
[INFO] [stdout]   --> src/file_abstraction/mod.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) trait FileAbstraction : Debug {
[INFO] [stdout]    |                  --------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn drain(&self) -> Result<Drain>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 49 |     fn fill(&mut self, d: Drain) -> Result<()>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     dead_code,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Drain` is never constructed
[INFO] [stdout]   --> src/file_abstraction/mod.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct Drain(HashMap<PathBuf, Entry>);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: associated items `new`, `empty`, and `iter` are never used
[INFO] [stdout]   --> src/file_abstraction/mod.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl Drain {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 68 |
[INFO] [stdout] 69 |     pub fn new(hm: HashMap<PathBuf, Entry>) -> Drain {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn empty() -> Drain {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn iter(&mut self) -> DrainIter<'_> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: method `backend_cloned` is never used
[INFO] [stdout]    --> src/file_abstraction/inmemory.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 96  | impl InMemoryFileAbstraction {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn backend_cloned(&self) -> Result<HashMap<PathBuf, Entry>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 12 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libimagstore` (lib) due to 13 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: methods `drain` and `fill` are never used
[INFO] [stdout]   --> src/file_abstraction/mod.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) trait FileAbstraction : Debug {
[INFO] [stdout]    |                  --------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn drain(&self) -> Result<Drain>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 49 |     fn fill(&mut self, d: Drain) -> Result<()>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     dead_code,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Drain` is never constructed
[INFO] [stdout]   --> src/file_abstraction/mod.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct Drain(HashMap<PathBuf, Entry>);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: associated items `new`, `empty`, and `iter` are never used
[INFO] [stdout]   --> src/file_abstraction/mod.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl Drain {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 68 |
[INFO] [stdout] 69 |     pub fn new(hm: HashMap<PathBuf, Entry>) -> Drain {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn empty() -> Drain {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn iter(&mut self) -> DrainIter<'_> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: method `backend_cloned` is never used
[INFO] [stdout]    --> src/file_abstraction/inmemory.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 96  | impl InMemoryFileAbstraction {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn backend_cloned(&self) -> Result<HashMap<PathBuf, Entry>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 14 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libimagstore` (lib test) due to 15 previous errors
[INFO] running `Command { std: "docker" "inspect" "625dacab07967299c3ddc6a6d270f8d79409e88e7f2035f7e5f20280abe18c4d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "625dacab07967299c3ddc6a6d270f8d79409e88e7f2035f7e5f20280abe18c4d", kill_on_drop: false }`
[INFO] [stdout] 625dacab07967299c3ddc6a6d270f8d79409e88e7f2035f7e5f20280abe18c4d
[INFO] checking libimagstore-0.10.1 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate libimagstore 0.10.1 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate libimagstore 0.10.1 on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate libimagstore 0.10.1
[INFO] finished tweaking crates.io crate libimagstore 0.10.1
[INFO] tweaked toml for crates.io crate libimagstore 0.10.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8123657b08fe83b2800c7aee43dd1652d046845aa74e6f27b633cb1df67a1a55
[INFO] running `Command { std: "docker" "start" "-a" "8123657b08fe83b2800c7aee43dd1652d046845aa74e6f27b633cb1df67a1a55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8123657b08fe83b2800c7aee43dd1652d046845aa74e6f27b633cb1df67a1a55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8123657b08fe83b2800c7aee43dd1652d046845aa74e6f27b633cb1df67a1a55", kill_on_drop: false }`
[INFO] [stdout] 8123657b08fe83b2800c7aee43dd1652d046845aa74e6f27b633cb1df67a1a55
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c696e4646bc0284ab65f7a4aaa1959966e0ca2dca81fa06f38966a1053d8beda
[INFO] running `Command { std: "docker" "start" "-a" "c696e4646bc0284ab65f7a4aaa1959966e0ca2dca81fa06f38966a1053d8beda", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]    Compiling rustix v0.38.32
[INFO] [stderr]     Checking linux-raw-sys v0.4.13
[INFO] [stderr]     Checking fastrand v2.0.2
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking is-match v0.1.0
[INFO] [stderr]     Checking boolinator v2.4.0
[INFO] [stderr]     Checking semver-parser v0.7.0
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking serde_json v1.0.115
[INFO] [stderr]     Checking backtrace v0.3.71
[INFO] [stderr]     Checking semver v0.9.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking glob v0.3.1
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking libimagerror v0.10.1
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]     Checking tempfile v3.10.1
[INFO] [stderr]     Checking libimagutil v0.10.1
[INFO] [stderr]    Compiling darling_core v0.8.6
[INFO] [stderr]    Compiling darling_macro v0.8.6
[INFO] [stderr]    Compiling darling v0.8.6
[INFO] [stderr]    Compiling toml-query_derive v0.9.2
[INFO] [stderr]     Checking toml-query v0.9.2
[INFO] [stderr]     Checking libimagstore v0.10.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/util.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let h = ::toml::de::from_str(&header).context(EM::TomlDeserError)?;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     unused_qualifications,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 66 -     let h = ::toml::de::from_str(&header).context(EM::TomlDeserError)?;
[INFO] [stdout] 66 +     let h = toml::de::from_str(&header).context(EM::TomlDeserError)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Drop` is imported redundantly
[INFO] [stdout]   --> src/store.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::ops::Drop;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Drop` is already defined here
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     unused_imports,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/store.rs:822:30
[INFO] [stdout]     |
[INFO] [stdout] 822 |                    header  = ::toml::ser::to_string_pretty(&self.header)
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 822 -                    header  = ::toml::ser::to_string_pretty(&self.header)
[INFO] [stdout] 822 +                    header  = toml::ser::to_string_pretty(&self.header)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/store.rs:919:26
[INFO] [stdout]     |
[INFO] [stdout] 919 |         .map(|s: String| ::semver::Version::parse(&s).is_ok())
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 919 -         .map(|s: String| ::semver::Version::parse(&s).is_ok())
[INFO] [stdout] 919 +         .map(|s: String| semver::Version::parse(&s).is_ok())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/file_abstraction/fs.rs:204:39
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn open_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<Option<File>> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 204 - fn open_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<Option<File>> {
[INFO] [stdout] 204 + fn open_file<A: AsRef<Path>>(p: A) -> std::io::Result<Option<File>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/file_abstraction/fs.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             ::std::io::ErrorKind::NotFound => Ok(None),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 207 -             ::std::io::ErrorKind::NotFound => Ok(None),
[INFO] [stdout] 207 +             std::io::ErrorKind::NotFound => Ok(None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/file_abstraction/fs.rs:214:41
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn create_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<File> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 214 - fn create_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<File> {
[INFO] [stdout] 214 + fn create_file<A: AsRef<Path>>(p: A) -> std::io::Result<File> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/file_abstraction/mod.rs:83:26
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct DrainIter<'a>(::std::collections::hash_map::Drain<'a, PathBuf, Entry>);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 83 - pub struct DrainIter<'a>(::std::collections::hash_map::Drain<'a, PathBuf, Entry>);
[INFO] [stdout] 83 + pub struct DrainIter<'a>(std::collections::hash_map::Drain<'a, PathBuf, Entry>);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/util.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let h = ::toml::de::from_str(&header).context(EM::TomlDeserError)?;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     unused_qualifications,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 66 -     let h = ::toml::de::from_str(&header).context(EM::TomlDeserError)?;
[INFO] [stdout] 66 +     let h = toml::de::from_str(&header).context(EM::TomlDeserError)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/storeid.rs:350:17
[INFO] [stdout]     |
[INFO] [stdout] 350 |         let p = crate::storeid::test::module_path::new_id("test");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 350 -         let p = crate::storeid::test::module_path::new_id("test");
[INFO] [stdout] 350 +         let p = module_path::new_id("test");
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/storeid.rs:357:17
[INFO] [stdout]     |
[INFO] [stdout] 357 |         let p = crate::storeid::test::module_path::new_id("1/2/3/4/5/6/7/8/9/0").unwrap();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 357 -         let p = crate::storeid::test::module_path::new_id("1/2/3/4/5/6/7/8/9/0").unwrap();
[INFO] [stdout] 357 +         let p = module_path::new_id("1/2/3/4/5/6/7/8/9/0").unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: the item `Drop` is imported redundantly
[INFO] [stdout]   --> src/store.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::ops::Drop;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Drop` is already defined here
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     unused_imports,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/store.rs:822:30
[INFO] [stdout]     |
[INFO] [stdout] 822 |                    header  = ::toml::ser::to_string_pretty(&self.header)
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 822 -                    header  = ::toml::ser::to_string_pretty(&self.header)
[INFO] [stdout] 822 +                    header  = toml::ser::to_string_pretty(&self.header)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/store.rs:919:26
[INFO] [stdout]     |
[INFO] [stdout] 919 |         .map(|s: String| ::semver::Version::parse(&s).is_ok())
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 919 -         .map(|s: String| ::semver::Version::parse(&s).is_ok())
[INFO] [stdout] 919 +         .map(|s: String| semver::Version::parse(&s).is_ok())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/file_abstraction/fs.rs:204:39
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn open_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<Option<File>> {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 204 - fn open_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<Option<File>> {
[INFO] [stdout] 204 + fn open_file<A: AsRef<Path>>(p: A) -> std::io::Result<Option<File>> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/file_abstraction/fs.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             ::std::io::ErrorKind::NotFound => Ok(None),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 207 -             ::std::io::ErrorKind::NotFound => Ok(None),
[INFO] [stdout] 207 +             std::io::ErrorKind::NotFound => Ok(None),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]    --> src/file_abstraction/fs.rs:214:41
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn create_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<File> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 214 - fn create_file<A: AsRef<Path>>(p: A) -> ::std::io::Result<File> {
[INFO] [stdout] 214 + fn create_file<A: AsRef<Path>>(p: A) -> std::io::Result<File> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary qualification
[INFO] [stdout]   --> src/file_abstraction/mod.rs:83:26
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct DrainIter<'a>(::std::collections::hash_map::Drain<'a, PathBuf, Entry>);
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]    |
[INFO] [stdout] 83 - pub struct DrainIter<'a>(::std::collections::hash_map::Drain<'a, PathBuf, Entry>);
[INFO] [stdout] 83 + pub struct DrainIter<'a>(std::collections::hash_map::Drain<'a, PathBuf, Entry>);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: methods `drain` and `fill` are never used
[INFO] [stdout]   --> src/file_abstraction/mod.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) trait FileAbstraction : Debug {
[INFO] [stdout]    |                  --------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn drain(&self) -> Result<Drain>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 49 |     fn fill(&mut self, d: Drain) -> Result<()>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     dead_code,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Drain` is never constructed
[INFO] [stdout]   --> src/file_abstraction/mod.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct Drain(HashMap<PathBuf, Entry>);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: associated items `new`, `empty`, and `iter` are never used
[INFO] [stdout]   --> src/file_abstraction/mod.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl Drain {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 68 |
[INFO] [stdout] 69 |     pub fn new(hm: HashMap<PathBuf, Entry>) -> Drain {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn empty() -> Drain {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn iter(&mut self) -> DrainIter<'_> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: method `backend_cloned` is never used
[INFO] [stdout]    --> src/file_abstraction/inmemory.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 96  | impl InMemoryFileAbstraction {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn backend_cloned(&self) -> Result<HashMap<PathBuf, Entry>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 12 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libimagstore` (lib) due to 13 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: methods `drain` and `fill` are never used
[INFO] [stdout]   --> src/file_abstraction/mod.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) trait FileAbstraction : Debug {
[INFO] [stdout]    |                  --------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn drain(&self) -> Result<Drain>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 49 |     fn fill(&mut self, d: Drain) -> Result<()>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     dead_code,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Drain` is never constructed
[INFO] [stdout]   --> src/file_abstraction/mod.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct Drain(HashMap<PathBuf, Entry>);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: associated items `new`, `empty`, and `iter` are never used
[INFO] [stdout]   --> src/file_abstraction/mod.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl Drain {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 68 |
[INFO] [stdout] 69 |     pub fn new(hm: HashMap<PathBuf, Entry>) -> Drain {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn empty() -> Drain {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn iter(&mut self) -> DrainIter<'_> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: method `backend_cloned` is never used
[INFO] [stdout]    --> src/file_abstraction/inmemory.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 96  | impl InMemoryFileAbstraction {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn backend_cloned(&self) -> Result<HashMap<PathBuf, Entry>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 14 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libimagstore` (lib test) due to 15 previous errors
[INFO] running `Command { std: "docker" "inspect" "c696e4646bc0284ab65f7a4aaa1959966e0ca2dca81fa06f38966a1053d8beda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c696e4646bc0284ab65f7a4aaa1959966e0ca2dca81fa06f38966a1053d8beda", kill_on_drop: false }`
[INFO] [stdout] c696e4646bc0284ab65f7a4aaa1959966e0ca2dca81fa06f38966a1053d8beda
