[INFO] fetching crate rsfs 0.4.1... [INFO] linting rsfs-0.4.1 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate rsfs 0.4.1 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate rsfs 0.4.1 [INFO] finished tweaking crates.io crate rsfs 0.4.1 [INFO] tweaked toml for crates.io crate rsfs 0.4.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate rsfs 0.4.1 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 15 packages to latest compatible versions [INFO] [stderr] Adding parking_lot v0.4.8 (available: v0.12.5) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded smallvec v0.6.14 [INFO] [stderr] Downloaded owning_ref v0.3.3 [INFO] [stderr] Downloaded parking_lot_core v0.2.14 [INFO] [stderr] Downloaded parking_lot v0.4.8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e395cb39822c1c80f8acc8fb4667e908718678c5e7c043246b37358532dc3f0d [INFO] running `Command { std: "docker" "start" "-a" "e395cb39822c1c80f8acc8fb4667e908718678c5e7c043246b37358532dc3f0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e395cb39822c1c80f8acc8fb4667e908718678c5e7c043246b37358532dc3f0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e395cb39822c1c80f8acc8fb4667e908718678c5e7c043246b37358532dc3f0d", kill_on_drop: false }` [INFO] [stdout] e395cb39822c1c80f8acc8fb4667e908718678c5e7c043246b37358532dc3f0d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 47eee9b8d2ecc0495ec96d9f0eb71e10dc0cc975bf618fa2d90c97c382c35eef [INFO] running `Command { std: "docker" "start" "-a" "47eee9b8d2ecc0495ec96d9f0eb71e10dc0cc975bf618fa2d90c97c382c35eef", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking stable_deref_trait v1.2.1 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking owning_ref v0.3.3 [INFO] [stderr] Checking smallvec v0.6.14 [INFO] [stderr] Checking parking_lot_core v0.2.14 [INFO] [stderr] Checking parking_lot v0.4.8 [INFO] [stderr] Checking rsfs v0.4.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/mem/unix.rs:2066:17 [INFO] [stdout] | [INFO] [stdout] 2066 | file: file, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `file` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/mem/unix.rs:2066:17 [INFO] [stdout] | [INFO] [stdout] 2066 | file: file, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `file` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/mem/unix.rs:2113:13 [INFO] [stdout] | [INFO] [stdout] 2113 | read: read, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `read` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/mem/unix.rs:2114:13 [INFO] [stdout] | [INFO] [stdout] 2114 | write: write, [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `write` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/mem/unix.rs:2117:17 [INFO] [stdout] | [INFO] [stdout] 2117 | file: file, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `file` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/mem/unix.rs:2113:13 [INFO] [stdout] | [INFO] [stdout] 2113 | read: read, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `read` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/mem/unix.rs:2114:13 [INFO] [stdout] | [INFO] [stdout] 2114 | write: write, [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace it with: `write` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/mem/unix.rs:2117:17 [INFO] [stdout] | [INFO] [stdout] 2117 | file: file, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `file` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/ptr.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | Raw { ptr: ptr, mkr: PhantomData } [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ptr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: file is loaded as a module multiple times: `src/mem/unix.rs` [INFO] [stdout] | [INFO] [stdout] = help: replace all but one `mod` item with `use` items [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duplicate_mod [INFO] [stdout] = note: `#[warn(clippy::duplicate_mod)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/ptr.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | Raw { ptr: ptr, mkr: PhantomData } [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ptr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: file is loaded as a module multiple times: `src/mem/unix.rs` [INFO] [stdout] | [INFO] [stdout] = help: replace all but one `mod` item with `use` items [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duplicate_mod [INFO] [stdout] = note: `#[warn(clippy::duplicate_mod)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/mem/unix.rs:197:13 [INFO] [stdout] | [INFO] [stdout] 197 | let mut dst = &mut self.data; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/mem/unix.rs:1933:14 [INFO] [stdout] | [INFO] [stdout] 1933 | let (mut fs, may_base) = self.traverse(normalize(&path), level)?; [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/mem/unix.rs:1958:21 [INFO] [stdout] | [INFO] [stdout] 1958 | let mut child = *child; // copy out of the borrow [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/fs.rs:761:9 [INFO] [stdout] | [INFO] [stdout] 761 | /// etc) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 761 | /// etc) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/mem/unix.rs:197:13 [INFO] [stdout] | [INFO] [stdout] 197 | let mut dst = &mut self.data; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/disk/mod.rs:221:6 [INFO] [stdout] | [INFO] [stdout] 221 | impl<'a> Read for &'a File { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 221 - impl<'a> Read for &'a File { [INFO] [stdout] 221 + impl Read for &File { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/disk/mod.rs:226:6 [INFO] [stdout] | [INFO] [stdout] 226 | impl<'a> Write for &'a File { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 226 - impl<'a> Write for &'a File { [INFO] [stdout] 226 + impl Write for &File { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/disk/mod.rs:234:6 [INFO] [stdout] | [INFO] [stdout] 234 | impl<'a> Seek for &'a File { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 234 - impl<'a> Seek for &'a File { [INFO] [stdout] 234 + impl Seek for &File { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/mem/unix.rs:272:9 [INFO] [stdout] | [INFO] [stdout] 272 | Ok(self.cursor.lock().set_len(size)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 272 - Ok(self.cursor.lock().set_len(size)?) [INFO] [stdout] 272 + self.cursor.lock().set_len(size) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/mem/unix.rs:403:9 [INFO] [stdout] | [INFO] [stdout] 403 | Ok(self.cursor.lock().seek(pos)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 403 - Ok(self.cursor.lock().seek(pos)?) [INFO] [stdout] 403 + self.cursor.lock().seek(pos) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/mem/unix.rs:409:6 [INFO] [stdout] | [INFO] [stdout] 409 | impl<'a> Read for &'a File { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 409 - impl<'a> Read for &'a File { [INFO] [stdout] 409 + impl Read for &File { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/mem/unix.rs:414:9 [INFO] [stdout] | [INFO] [stdout] 414 | Ok(self.cursor.lock().read(buf)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 414 - Ok(self.cursor.lock().read(buf)?) [INFO] [stdout] 414 + self.cursor.lock().read(buf) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/mem/unix.rs:417:6 [INFO] [stdout] | [INFO] [stdout] 417 | impl<'a> Write for &'a File { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 417 - impl<'a> Write for &'a File { [INFO] [stdout] 417 + impl Write for &File { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/mem/unix.rs:422:9 [INFO] [stdout] | [INFO] [stdout] 422 | Ok(self.cursor.lock().write(buf, self.append)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 422 - Ok(self.cursor.lock().write(buf, self.append)?) [INFO] [stdout] 422 + self.cursor.lock().write(buf, self.append) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/mem/unix.rs:431:6 [INFO] [stdout] | [INFO] [stdout] 431 | impl<'a> Seek for &'a File { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 431 - impl<'a> Seek for &'a File { [INFO] [stdout] 431 + impl Seek for &File { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/mem/unix.rs:433:9 [INFO] [stdout] | [INFO] [stdout] 433 | Ok(self.cursor.lock().seek(pos)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 433 - Ok(self.cursor.lock().seek(pos)?) [INFO] [stdout] 433 + self.cursor.lock().seek(pos) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/mem/unix.rs:444:9 [INFO] [stdout] | [INFO] [stdout] 444 | Ok(file.read_at(offset as usize, buf)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 444 - Ok(file.read_at(offset as usize, buf)?) [INFO] [stdout] 444 + file.read_at(offset as usize, buf) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/mem/unix.rs:452:9 [INFO] [stdout] | [INFO] [stdout] 452 | Ok(file.write_at(offset as usize, buf)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 452 - Ok(file.write_at(offset as usize, buf)?) [INFO] [stdout] 452 + file.write_at(offset as usize, buf) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/mem/unix.rs:1933:14 [INFO] [stdout] | [INFO] [stdout] 1933 | let (mut fs, may_base) = self.traverse(normalize(&path), level)?; [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/mem/unix.rs:1146:9 [INFO] [stdout] | [INFO] [stdout] 1146 | / match self.kind { [INFO] [stdout] 1147 | | DeKind::Dir(_) => true, [INFO] [stdout] 1148 | | _ => false, [INFO] [stdout] 1149 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 1146 - match self.kind { [INFO] [stdout] 1147 - DeKind::Dir(_) => true, [INFO] [stdout] 1148 - _ => false, [INFO] [stdout] 1149 - } [INFO] [stdout] 1146 + matches!(self.kind, DeKind::Dir(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/mem/unix.rs:1958:21 [INFO] [stdout] | [INFO] [stdout] 1958 | let mut child = *child; // copy out of the borrow [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/mem/unix.rs:1271:18 [INFO] [stdout] | [INFO] [stdout] 1271 | (&DeKind::File(ref fl), &DeKind::File(ref fr)) => fl.read().data == fr.read().data, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1271 - (&DeKind::File(ref fl), &DeKind::File(ref fr)) => fl.read().data == fr.read().data, [INFO] [stdout] 1271 + (DeKind::File(fl), &DeKind::File(ref fr)) => fl.read().data == fr.read().data, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/mem/unix.rs:1271:41 [INFO] [stdout] | [INFO] [stdout] 1271 | (&DeKind::File(ref fl), &DeKind::File(ref fr)) => fl.read().data == fr.read().data, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1271 - (&DeKind::File(ref fl), &DeKind::File(ref fr)) => fl.read().data == fr.read().data, [INFO] [stdout] 1271 + (&DeKind::File(ref fl), DeKind::File(fr)) => fl.read().data == fr.read().data, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/mem/unix.rs:1272:18 [INFO] [stdout] | [INFO] [stdout] 1272 | (&DeKind::Dir(ref dl), &DeKind::Dir(ref dr)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1272 - (&DeKind::Dir(ref dl), &DeKind::Dir(ref dr)) => { [INFO] [stdout] 1272 + (DeKind::Dir(dl), &DeKind::Dir(ref dr)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/mem/unix.rs:1272:40 [INFO] [stdout] | [INFO] [stdout] 1272 | (&DeKind::Dir(ref dl), &DeKind::Dir(ref dr)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1272 - (&DeKind::Dir(ref dl), &DeKind::Dir(ref dr)) => { [INFO] [stdout] 1272 + (&DeKind::Dir(ref dl), DeKind::Dir(dr)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/mem/unix.rs:1286:18 [INFO] [stdout] | [INFO] [stdout] 1286 | (&DeKind::Symlink(ref sl), &DeKind::Symlink(ref sr)) => sl == sr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1286 - (&DeKind::Symlink(ref sl), &DeKind::Symlink(ref sr)) => sl == sr, [INFO] [stdout] 1286 + (DeKind::Symlink(sl), &DeKind::Symlink(ref sr)) => sl == sr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/mem/unix.rs:1286:44 [INFO] [stdout] | [INFO] [stdout] 1286 | (&DeKind::Symlink(ref sl), &DeKind::Symlink(ref sr)) => sl == sr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1286 - (&DeKind::Symlink(ref sl), &DeKind::Symlink(ref sr)) => sl == sr, [INFO] [stdout] 1286 + (&DeKind::Symlink(ref sl), DeKind::Symlink(sr)) => sl == sr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/mem/unix.rs:1363:24 [INFO] [stdout] | [INFO] [stdout] 1363 | if !parts_iter.peek2().is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `parts_iter.peek2().is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/mem/unix.rs:1670:47 [INFO] [stdout] | [INFO] [stdout] 1670 | return ReadDir::new(&og_path, &*fs); [INFO] [stdout] | ^^^^ help: try: `&fs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/mem/unix.rs:1689:40 [INFO] [stdout] | [INFO] [stdout] 1689 | ReadDir::new(&og_path, &*child) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 1689 - ReadDir::new(&og_path, &*child) [INFO] [stdout] 1689 + ReadDir::new(&og_path, child) [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 1689 | ReadDir::new(&og_path, &**child) [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/mem/unix.rs:1855:17 [INFO] [stdout] | [INFO] [stdout] 1855 | Error::new(ErrorKind::Other, "rename of root unimplemented") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 1855 - Error::new(ErrorKind::Other, "rename of root unimplemented") [INFO] [stdout] 1855 + Error::other("rename of root unimplemented") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/mem/unix.rs:2087:24 [INFO] [stdout] | [INFO] [stdout] 2087 | return Err(Error::new(ErrorKind::Other, "open on directory unimplemented")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 2087 - return Err(Error::new(ErrorKind::Other, "open on directory unimplemented")); [INFO] [stdout] 2087 + return Err(Error::other("open on directory unimplemented")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/path_parts.rs:167:34 [INFO] [stdout] | [INFO] [stdout] 167 | if ps.at_root || ps.inner.last().map_or(false, |last| *last != Part::ParentDir) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 167 - if ps.at_root || ps.inner.last().map_or(false, |last| *last != Part::ParentDir) { [INFO] [stdout] 167 + if ps.at_root || ps.inner.last().is_some_and(|last| *last != Part::ParentDir) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::boxed::Box::::from_raw` that must be used [INFO] [stdout] --> src/mem/unix.rs:1757:18 [INFO] [stdout] | [INFO] [stdout] 1757 | unsafe { Box::from_raw(removed.ptr()); } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1757 | unsafe { let _ = Box::from_raw(removed.ptr()); } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::boxed::Box::::from_raw` that must be used [INFO] [stdout] --> src/mem/unix.rs:1814:30 [INFO] [stdout] | [INFO] [stdout] 1814 | unsafe { Box::from_raw(removed.ptr()); } // free the memory [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1814 | unsafe { let _ = Box::from_raw(removed.ptr()); } // free the memory [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::boxed::Box::::from_raw` that must be used [INFO] [stdout] --> src/mem/unix.rs:1831:30 [INFO] [stdout] | [INFO] [stdout] 1831 | unsafe { Box::from_raw(child.remove().ptr()); } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1831 | unsafe { let _ = Box::from_raw(child.remove().ptr()); } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::boxed::Box::::from_raw` that must be used [INFO] [stdout] --> src/mem/unix.rs:1840:26 [INFO] [stdout] | [INFO] [stdout] 1840 | unsafe { Box::from_raw(fs.ptr()); } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1840 | unsafe { let _ = Box::from_raw(fs.ptr()); } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected [INFO] [stdout] --> src/ptr.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | this.ptr == other.ptr [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default [INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses [INFO] [stdout] | [INFO] [stdout] 27 - this.ptr == other.ptr [INFO] [stdout] 27 + std::ptr::addr_eq(this.ptr, other.ptr) [INFO] [stdout] | [INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses [INFO] [stdout] | [INFO] [stdout] 27 - this.ptr == other.ptr [INFO] [stdout] 27 + std::ptr::eq(this.ptr, other.ptr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/fs.rs:761:9 [INFO] [stdout] | [INFO] [stdout] 761 | /// etc) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 761 | /// etc) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/disk/mod.rs:221:6 [INFO] [stdout] | [INFO] [stdout] 221 | impl<'a> Read for &'a File { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 221 - impl<'a> Read for &'a File { [INFO] [stdout] 221 + impl Read for &File { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/disk/mod.rs:226:6 [INFO] [stdout] | [INFO] [stdout] 226 | impl<'a> Write for &'a File { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 226 - impl<'a> Write for &'a File { [INFO] [stdout] 226 + impl Write for &File { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/disk/mod.rs:234:6 [INFO] [stdout] | [INFO] [stdout] 234 | impl<'a> Seek for &'a File { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 234 - impl<'a> Seek for &'a File { [INFO] [stdout] 234 + impl Seek for &File { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/mem/unix.rs:272:9 [INFO] [stdout] | [INFO] [stdout] 272 | Ok(self.cursor.lock().set_len(size)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 272 - Ok(self.cursor.lock().set_len(size)?) [INFO] [stdout] 272 + self.cursor.lock().set_len(size) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/mem/unix.rs:403:9 [INFO] [stdout] | [INFO] [stdout] 403 | Ok(self.cursor.lock().seek(pos)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 403 - Ok(self.cursor.lock().seek(pos)?) [INFO] [stdout] 403 + self.cursor.lock().seek(pos) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/mem/unix.rs:409:6 [INFO] [stdout] | [INFO] [stdout] 409 | impl<'a> Read for &'a File { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 409 - impl<'a> Read for &'a File { [INFO] [stdout] 409 + impl Read for &File { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/mem/unix.rs:414:9 [INFO] [stdout] | [INFO] [stdout] 414 | Ok(self.cursor.lock().read(buf)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 414 - Ok(self.cursor.lock().read(buf)?) [INFO] [stdout] 414 + self.cursor.lock().read(buf) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/mem/unix.rs:417:6 [INFO] [stdout] | [INFO] [stdout] 417 | impl<'a> Write for &'a File { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 417 - impl<'a> Write for &'a File { [INFO] [stdout] 417 + impl Write for &File { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/mem/unix.rs:422:9 [INFO] [stdout] | [INFO] [stdout] 422 | Ok(self.cursor.lock().write(buf, self.append)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 422 - Ok(self.cursor.lock().write(buf, self.append)?) [INFO] [stdout] 422 + self.cursor.lock().write(buf, self.append) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/mem/unix.rs:431:6 [INFO] [stdout] | [INFO] [stdout] 431 | impl<'a> Seek for &'a File { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 431 - impl<'a> Seek for &'a File { [INFO] [stdout] 431 + impl Seek for &File { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/mem/unix.rs:433:9 [INFO] [stdout] | [INFO] [stdout] 433 | Ok(self.cursor.lock().seek(pos)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 433 - Ok(self.cursor.lock().seek(pos)?) [INFO] [stdout] 433 + self.cursor.lock().seek(pos) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/mem/unix.rs:444:9 [INFO] [stdout] | [INFO] [stdout] 444 | Ok(file.read_at(offset as usize, buf)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 444 - Ok(file.read_at(offset as usize, buf)?) [INFO] [stdout] 444 + file.read_at(offset as usize, buf) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/mem/unix.rs:452:9 [INFO] [stdout] | [INFO] [stdout] 452 | Ok(file.write_at(offset as usize, buf)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 452 - Ok(file.write_at(offset as usize, buf)?) [INFO] [stdout] 452 + file.write_at(offset as usize, buf) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/mem/unix.rs:1146:9 [INFO] [stdout] | [INFO] [stdout] 1146 | / match self.kind { [INFO] [stdout] 1147 | | DeKind::Dir(_) => true, [INFO] [stdout] 1148 | | _ => false, [INFO] [stdout] 1149 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 1146 - match self.kind { [INFO] [stdout] 1147 - DeKind::Dir(_) => true, [INFO] [stdout] 1148 - _ => false, [INFO] [stdout] 1149 - } [INFO] [stdout] 1146 + matches!(self.kind, DeKind::Dir(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/mem/unix.rs:1271:18 [INFO] [stdout] | [INFO] [stdout] 1271 | (&DeKind::File(ref fl), &DeKind::File(ref fr)) => fl.read().data == fr.read().data, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1271 - (&DeKind::File(ref fl), &DeKind::File(ref fr)) => fl.read().data == fr.read().data, [INFO] [stdout] 1271 + (DeKind::File(fl), &DeKind::File(ref fr)) => fl.read().data == fr.read().data, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/mem/unix.rs:1271:41 [INFO] [stdout] | [INFO] [stdout] 1271 | (&DeKind::File(ref fl), &DeKind::File(ref fr)) => fl.read().data == fr.read().data, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1271 - (&DeKind::File(ref fl), &DeKind::File(ref fr)) => fl.read().data == fr.read().data, [INFO] [stdout] 1271 + (&DeKind::File(ref fl), DeKind::File(fr)) => fl.read().data == fr.read().data, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/mem/unix.rs:1272:18 [INFO] [stdout] | [INFO] [stdout] 1272 | (&DeKind::Dir(ref dl), &DeKind::Dir(ref dr)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1272 - (&DeKind::Dir(ref dl), &DeKind::Dir(ref dr)) => { [INFO] [stdout] 1272 + (DeKind::Dir(dl), &DeKind::Dir(ref dr)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/mem/unix.rs:1272:40 [INFO] [stdout] | [INFO] [stdout] 1272 | (&DeKind::Dir(ref dl), &DeKind::Dir(ref dr)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1272 - (&DeKind::Dir(ref dl), &DeKind::Dir(ref dr)) => { [INFO] [stdout] 1272 + (&DeKind::Dir(ref dl), DeKind::Dir(dr)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/mem/unix.rs:1286:18 [INFO] [stdout] | [INFO] [stdout] 1286 | (&DeKind::Symlink(ref sl), &DeKind::Symlink(ref sr)) => sl == sr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1286 - (&DeKind::Symlink(ref sl), &DeKind::Symlink(ref sr)) => sl == sr, [INFO] [stdout] 1286 + (DeKind::Symlink(sl), &DeKind::Symlink(ref sr)) => sl == sr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/mem/unix.rs:1286:44 [INFO] [stdout] | [INFO] [stdout] 1286 | (&DeKind::Symlink(ref sl), &DeKind::Symlink(ref sr)) => sl == sr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 1286 - (&DeKind::Symlink(ref sl), &DeKind::Symlink(ref sr)) => sl == sr, [INFO] [stdout] 1286 + (&DeKind::Symlink(ref sl), DeKind::Symlink(sr)) => sl == sr, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/mem/unix.rs:1363:24 [INFO] [stdout] | [INFO] [stdout] 1363 | if !parts_iter.peek2().is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `parts_iter.peek2().is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/mem/unix.rs:1670:47 [INFO] [stdout] | [INFO] [stdout] 1670 | return ReadDir::new(&og_path, &*fs); [INFO] [stdout] | ^^^^ help: try: `&fs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/mem/unix.rs:1689:40 [INFO] [stdout] | [INFO] [stdout] 1689 | ReadDir::new(&og_path, &*child) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 1689 - ReadDir::new(&og_path, &*child) [INFO] [stdout] 1689 + ReadDir::new(&og_path, child) [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 1689 | ReadDir::new(&og_path, &**child) [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/mem/unix.rs:1855:17 [INFO] [stdout] | [INFO] [stdout] 1855 | Error::new(ErrorKind::Other, "rename of root unimplemented") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 1855 - Error::new(ErrorKind::Other, "rename of root unimplemented") [INFO] [stdout] 1855 + Error::other("rename of root unimplemented") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/mem/unix.rs:2087:24 [INFO] [stdout] | [INFO] [stdout] 2087 | return Err(Error::new(ErrorKind::Other, "open on directory unimplemented")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 2087 - return Err(Error::new(ErrorKind::Other, "open on directory unimplemented")); [INFO] [stdout] 2087 + return Err(Error::other("open on directory unimplemented")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stdout] --> src/mem/unix.rs:2164:17 [INFO] [stdout] | [INFO] [stdout] 2164 | let ref mut dir = exp_root.kind.dir_mut(); [INFO] [stdout] | ----^^^^^^^^^^^--------------------------- help: try: `let dir = &mut exp_root.kind.dir_mut();` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stdout] = note: `#[warn(clippy::toplevel_ref_arg)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> src/mem/unix.rs:2311:9 [INFO] [stdout] | [INFO] [stdout] 2311 | / fn test_open>(on: i32, [INFO] [stdout] 2312 | | fs: &FS, [INFO] [stdout] 2313 | | read: bool, [INFO] [stdout] 2314 | | write: bool, [INFO] [stdout] ... | [INFO] [stdout] 2320 | | path: P, [INFO] [stdout] 2321 | | err: Option) { [INFO] [stdout] | |________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `err` after checking its variant with `is_some` [INFO] [stdout] --> src/mem/unix.rs:2336:61 [INFO] [stdout] | [INFO] [stdout] 2332 | if err.is_some() { [INFO] [stdout] | ---------------- help: try: `if let Some() = err` [INFO] [stdout] ... [INFO] [stdout] 2336 | let (res_err, exp_err) = (res.unwrap_err(), err.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `res` after checking its variant with `is_err` [INFO] [stdout] --> src/mem/unix.rs:2347:49 [INFO] [stdout] | [INFO] [stdout] 2346 | if res.is_err() { [INFO] [stdout] | --------------- help: try: `if let Err() = res` [INFO] [stdout] 2347 | panic!("#{}: not ok: {:?}", on, res.unwrap_err()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/mem/unix.rs:2375:65 [INFO] [stdout] | [INFO] [stdout] 2375 | test_open(on(), &fs, t, f, f, f, f, f, 0o700, "/", Some(Error::new(ErrorKind::Other, ""))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 2375 - test_open(on(), &fs, t, f, f, f, f, f, 0o700, "/", Some(Error::new(ErrorKind::Other, ""))); [INFO] [stdout] 2375 + test_open(on(), &fs, t, f, f, f, f, f, 0o700, "/", Some(Error::other(""))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/mem/unix.rs:2376:69 [INFO] [stdout] | [INFO] [stdout] 2376 | test_open(on(), &fs, t, f, f, f, f, f, 0o700, "okdir", Some(Error::new(ErrorKind::Other, ""))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 2376 - test_open(on(), &fs, t, f, f, f, f, f, 0o700, "okdir", Some(Error::new(ErrorKind::Other, ""))); [INFO] [stdout] 2376 + test_open(on(), &fs, t, f, f, f, f, f, 0o700, "okdir", Some(Error::other(""))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/path_parts.rs:167:34 [INFO] [stdout] | [INFO] [stdout] 167 | if ps.at_root || ps.inner.last().map_or(false, |last| *last != Part::ParentDir) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 167 - if ps.at_root || ps.inner.last().map_or(false, |last| *last != Part::ParentDir) { [INFO] [stdout] 167 + if ps.at_root || ps.inner.last().is_some_and(|last| *last != Part::ParentDir) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::boxed::Box::::from_raw` that must be used [INFO] [stdout] --> src/mem/unix.rs:1757:18 [INFO] [stdout] | [INFO] [stdout] 1757 | unsafe { Box::from_raw(removed.ptr()); } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1757 | unsafe { let _ = Box::from_raw(removed.ptr()); } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::boxed::Box::::from_raw` that must be used [INFO] [stdout] --> src/mem/unix.rs:1814:30 [INFO] [stdout] | [INFO] [stdout] 1814 | unsafe { Box::from_raw(removed.ptr()); } // free the memory [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1814 | unsafe { let _ = Box::from_raw(removed.ptr()); } // free the memory [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::boxed::Box::::from_raw` that must be used [INFO] [stdout] --> src/mem/unix.rs:1831:30 [INFO] [stdout] | [INFO] [stdout] 1831 | unsafe { Box::from_raw(child.remove().ptr()); } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1831 | unsafe { let _ = Box::from_raw(child.remove().ptr()); } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::boxed::Box::::from_raw` that must be used [INFO] [stdout] --> src/mem/unix.rs:1840:26 [INFO] [stdout] | [INFO] [stdout] 1840 | unsafe { Box::from_raw(fs.ptr()); } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1840 | unsafe { let _ = Box::from_raw(fs.ptr()); } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected [INFO] [stdout] --> src/ptr.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | this.ptr == other.ptr [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default [INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses [INFO] [stdout] | [INFO] [stdout] 27 - this.ptr == other.ptr [INFO] [stdout] 27 + std::ptr::addr_eq(this.ptr, other.ptr) [INFO] [stdout] | [INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses [INFO] [stdout] | [INFO] [stdout] 27 - this.ptr == other.ptr [INFO] [stdout] 27 + std::ptr::eq(this.ptr, other.ptr) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.51s [INFO] running `Command { std: "docker" "inspect" "47eee9b8d2ecc0495ec96d9f0eb71e10dc0cc975bf618fa2d90c97c382c35eef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "47eee9b8d2ecc0495ec96d9f0eb71e10dc0cc975bf618fa2d90c97c382c35eef", kill_on_drop: false }` [INFO] [stdout] 47eee9b8d2ecc0495ec96d9f0eb71e10dc0cc975bf618fa2d90c97c382c35eef