[INFO] cloning repository https://github.com/oxy/banyan [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/oxy/banyan" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foxy%2Fbanyan", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foxy%2Fbanyan'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7a0dea906e18fa4b76407f3a699dbb94e55f1402 [INFO] checking oxy/banyan against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foxy%2Fbanyan" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/oxy/banyan on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/oxy/banyan [INFO] finished tweaking git repo https://github.com/oxy/banyan [INFO] tweaked toml for git repo https://github.com/oxy/banyan written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/oxy/banyan already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded backtrace v0.3.64 [INFO] [stderr] Downloaded dhat v0.3.0 [INFO] [stderr] Downloaded parking_lot_core v0.9.1 [INFO] [stderr] Downloaded cc v1.0.68 [INFO] [stderr] Downloaded crossbeam-channel v0.5.1 [INFO] [stderr] Downloaded crossbeam-utils v0.8.5 [INFO] [stderr] Downloaded serde_json v1.0.78 [INFO] [stderr] Downloaded object v0.27.1 [INFO] [stderr] Downloaded syn v1.0.78 [INFO] [stderr] Downloaded libc v0.2.97 [INFO] [stderr] Downloaded gimli v0.26.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e975875cdb2b5807e4eb2581a02a36fe52b4376eca810ee7090321d912fd1442 [INFO] running `Command { std: "docker" "start" "-a" "e975875cdb2b5807e4eb2581a02a36fe52b4376eca810ee7090321d912fd1442", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e975875cdb2b5807e4eb2581a02a36fe52b4376eca810ee7090321d912fd1442", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e975875cdb2b5807e4eb2581a02a36fe52b4376eca810ee7090321d912fd1442", kill_on_drop: false }` [INFO] [stdout] e975875cdb2b5807e4eb2581a02a36fe52b4376eca810ee7090321d912fd1442 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 76a9e7d1d2f8023bc4bc442b7f32e66f6bf1c7c50261b10dec7f5bdf9d94ae1a [INFO] running `Command { std: "docker" "start" "-a" "76a9e7d1d2f8023bc4bc442b7f32e66f6bf1c7c50261b10dec7f5bdf9d94ae1a", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.29 [INFO] [stderr] Compiling libc v0.2.97 [INFO] [stderr] Compiling syn v1.0.78 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling cc v1.0.68 [INFO] [stderr] Compiling serde_derive v1.0.126 [INFO] [stderr] Compiling typenum v1.13.0 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling serde v1.0.126 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Checking instant v0.1.12 [INFO] [stderr] Checking lock_api v0.4.6 [INFO] [stderr] Compiling crossbeam-utils v0.8.5 [INFO] [stderr] Checking gimli v0.26.1 [INFO] [stderr] Compiling serde_json v1.0.78 [INFO] [stderr] Compiling parking_lot_core v0.9.1 [INFO] [stderr] Checking ryu v1.0.9 [INFO] [stderr] Checking subtle v2.4.0 [INFO] [stderr] Checking rustc-demangle v0.1.21 [INFO] [stderr] Checking itoa v1.0.1 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Checking thousands v0.2.0 [INFO] [stderr] Checking textwrap v0.15.0 [INFO] [stderr] Checking crossbeam-channel v0.5.1 [INFO] [stderr] Compiling backtrace v0.3.64 [INFO] [stderr] Compiling blake3 v0.3.8 [INFO] [stderr] Checking object v0.27.1 [INFO] [stderr] Checking os_str_bytes v6.0.0 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking parking_lot_core v0.8.5 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking parking_lot v0.12.0 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking crypto-mac v0.8.0 [INFO] [stderr] Checking addr2line v0.17.0 [INFO] [stderr] Compiling clap_derive v3.1.4 [INFO] [stderr] Checking clap v3.1.6 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking dhat v0.3.0 [INFO] [stderr] Checking banyan v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/repo/layer.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{File, Metadata}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/repo/layer.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{File, Metadata}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsRawFd` [INFO] [stdout] --> src/repo/layer.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::prelude::{AsRawFd, RawFd, OsStrExt}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsRawFd` [INFO] [stdout] --> src/repo/layer.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::prelude::{AsRawFd, RawFd, OsStrExt}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/repo/layer.rs:250:22 [INFO] [stdout] | [INFO] [stdout] 250 | let threads = if (threads > 4) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 250 - let threads = if (threads > 4) { [INFO] [stdout] 250 + let threads = if threads > 4 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `joinpath` [INFO] [stdout] --> src/util/mod.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | pub use utfpath::{joinpath, os_to_utf}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::aparc::APArc` [INFO] [stdout] --> src/util/queue.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::aparc::APArc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/repo/layer.rs:250:22 [INFO] [stdout] | [INFO] [stdout] 250 | let threads = if (threads > 4) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 250 - let threads = if (threads > 4) { [INFO] [stdout] 250 + let threads = if threads > 4 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `null` [INFO] [stdout] --> src/util/queue.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ptr::{null, self}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicUsize` [INFO] [stdout] --> src/util/queue.rs:7:38 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::atomic::{AtomicIsize, AtomicUsize, AtomicPtr, Ordering}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `joinpath` [INFO] [stdout] --> src/util/mod.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | pub use utfpath::{joinpath, os_to_utf}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/util/queue.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::aparc::APArc` [INFO] [stdout] --> src/util/queue.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::aparc::APArc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `null` [INFO] [stdout] --> src/util/queue.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ptr::{null, self}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicUsize` [INFO] [stdout] --> src/util/queue.rs:7:38 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::atomic::{AtomicIsize, AtomicUsize, AtomicPtr, Ordering}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ffi::CString`, `fs::File`, `os::unix::prelude::AsRawFd`, and `sync::Arc` [INFO] [stdout] --> src/main.rs:19:19 [INFO] [stdout] | [INFO] [stdout] 19 | error::Error, ffi::CString, fs::File, os::unix::prelude::AsRawFd, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | sync::Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/util/queue.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::PString` [INFO] [stdout] --> src/main.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use crate::util::PString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ffi::CString`, `fs::File`, `os::unix::prelude::AsRawFd`, and `sync::Arc` [INFO] [stdout] --> src/main.rs:19:19 [INFO] [stdout] | [INFO] [stdout] 19 | error::Error, ffi::CString, fs::File, os::unix::prelude::AsRawFd, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | sync::Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::PString` [INFO] [stdout] --> src/main.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use crate::util::PString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `borrow::BorrowMut` [INFO] [stdout] --> src/repo/object.rs:16:52 [INFO] [stdout] | [INFO] [stdout] 16 | os::unix::prelude::{FromRawFd, IntoRawFd}, borrow::BorrowMut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `borrow::BorrowMut` [INFO] [stdout] --> src/repo/object.rs:16:52 [INFO] [stdout] | [INFO] [stdout] 16 | os::unix::prelude::{FromRawFd, IntoRawFd}, borrow::BorrowMut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/util/queue.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | let mut head = Box::new(Node { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/util/queue.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | let mut head = Box::new(Node { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `same_device` [INFO] [stdout] --> src/main.rs:54:34 [INFO] [stdout] | [INFO] [stdout] 54 | Commands::Import { path, same_device } => { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `same_device: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `same_device` [INFO] [stdout] --> src/main.rs:54:34 [INFO] [stdout] | [INFO] [stdout] 54 | Commands::Import { path, same_device } => { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `same_device: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/repo/layer.rs:322:5 [INFO] [stdout] | [INFO] [stdout] 322 | layer.write(&ser); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 322 | let _ = layer.write(&ser); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `into_raw_fd` that must be used [INFO] [stdout] --> src/repo/object.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | file.into_raw_fd(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the raw file descriptor may leak resources [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 65 | let _ = file.into_raw_fd(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[u8; 3904]` does not permit being left uninitialized [INFO] [stdout] --> src/util/queue.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | MaybeUninit::<[u8; NODE_LEN]>::uninit().assume_init() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/queue.rs:260:25 [INFO] [stdout] | [INFO] [stdout] 260 | / self.tail.compare_exchange( [INFO] [stdout] 261 | | tailptr, [INFO] [stdout] 262 | | ptr, [INFO] [stdout] 263 | | Ordering::AcqRel, [INFO] [stdout] 264 | | Ordering::Acquire [INFO] [stdout] 265 | | ); [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 260 | let _ = self.tail.compare_exchange( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/queue.rs:278:25 [INFO] [stdout] | [INFO] [stdout] 278 | / self.tail.compare_exchange( [INFO] [stdout] 279 | | tailptr, [INFO] [stdout] 280 | | real_tail, [INFO] [stdout] 281 | | Ordering::AcqRel, [INFO] [stdout] 282 | | Ordering::Acquire [INFO] [stdout] 283 | | ); [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 278 | let _ = self.tail.compare_exchange( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/util/queue.rs:305:38 [INFO] [stdout] | [INFO] [stdout] 305 | ... unsafe { Box::from_raw(*headlock as *mut Node) }; [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] 305 | unsafe { let _ = Box::from_raw(*headlock as *mut Node); }; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/repo/layer.rs:322:5 [INFO] [stdout] | [INFO] [stdout] 322 | layer.write(&ser); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 322 | let _ = layer.write(&ser); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `into_raw_fd` that must be used [INFO] [stdout] --> src/repo/object.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | file.into_raw_fd(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the raw file descriptor may leak resources [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 65 | let _ = file.into_raw_fd(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[u8; 3904]` does not permit being left uninitialized [INFO] [stdout] --> src/util/queue.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | MaybeUninit::<[u8; NODE_LEN]>::uninit().assume_init() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/queue.rs:260:25 [INFO] [stdout] | [INFO] [stdout] 260 | / self.tail.compare_exchange( [INFO] [stdout] 261 | | tailptr, [INFO] [stdout] 262 | | ptr, [INFO] [stdout] 263 | | Ordering::AcqRel, [INFO] [stdout] 264 | | Ordering::Acquire [INFO] [stdout] 265 | | ); [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 260 | let _ = self.tail.compare_exchange( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/queue.rs:278:25 [INFO] [stdout] | [INFO] [stdout] 278 | / self.tail.compare_exchange( [INFO] [stdout] 279 | | tailptr, [INFO] [stdout] 280 | | real_tail, [INFO] [stdout] 281 | | Ordering::AcqRel, [INFO] [stdout] 282 | | Ordering::Acquire [INFO] [stdout] 283 | | ); [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 278 | let _ = self.tail.compare_exchange( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/util/queue.rs:305:38 [INFO] [stdout] | [INFO] [stdout] 305 | ... unsafe { Box::from_raw(*headlock as *mut Node) }; [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] 305 | unsafe { let _ = Box::from_raw(*headlock as *mut Node); }; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.22s [INFO] running `Command { std: "docker" "inspect" "76a9e7d1d2f8023bc4bc442b7f32e66f6bf1c7c50261b10dec7f5bdf9d94ae1a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "76a9e7d1d2f8023bc4bc442b7f32e66f6bf1c7c50261b10dec7f5bdf9d94ae1a", kill_on_drop: false }` [INFO] [stdout] 76a9e7d1d2f8023bc4bc442b7f32e66f6bf1c7c50261b10dec7f5bdf9d94ae1a [INFO] checking oxy/banyan against try#f9935d29d867449445ee008640ccca1bf1ae0889+rustflags=-Dtail_expr_drop_order for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foxy%2Fbanyan" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/oxy/banyan on toolchain f9935d29d867449445ee008640ccca1bf1ae0889 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/oxy/banyan [INFO] finished tweaking git repo https://github.com/oxy/banyan [INFO] tweaked toml for git repo https://github.com/oxy/banyan written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/oxy/banyan already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 85557d7f3592db06d163cab5f2b7a21d792228e91a994b5cbf5ce687ca159884 [INFO] running `Command { std: "docker" "start" "-a" "85557d7f3592db06d163cab5f2b7a21d792228e91a994b5cbf5ce687ca159884", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "85557d7f3592db06d163cab5f2b7a21d792228e91a994b5cbf5ce687ca159884", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "85557d7f3592db06d163cab5f2b7a21d792228e91a994b5cbf5ce687ca159884", kill_on_drop: false }` [INFO] [stdout] 85557d7f3592db06d163cab5f2b7a21d792228e91a994b5cbf5ce687ca159884 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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 -Dtail_expr_drop_order" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5282bd91cdd9730af3ce0cba872c48d6ca268b4c45b0f01d9b3dd1f7725e52ff [INFO] running `Command { std: "docker" "start" "-a" "5282bd91cdd9730af3ce0cba872c48d6ca268b4c45b0f01d9b3dd1f7725e52ff", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.29 [INFO] [stderr] Compiling syn v1.0.78 [INFO] [stderr] Compiling libc v0.2.97 [INFO] [stderr] Compiling cc v1.0.68 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling serde_derive v1.0.126 [INFO] [stderr] Compiling typenum v1.13.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling serde v1.0.126 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Checking instant v0.1.12 [INFO] [stderr] Checking lock_api v0.4.6 [INFO] [stderr] Compiling crossbeam-utils v0.8.5 [INFO] [stderr] Checking gimli v0.26.1 [INFO] [stderr] Compiling parking_lot_core v0.9.1 [INFO] [stderr] Compiling serde_json v1.0.78 [INFO] [stderr] Checking ryu v1.0.9 [INFO] [stderr] Checking itoa v1.0.1 [INFO] [stderr] Checking rustc-demangle v0.1.21 [INFO] [stderr] Checking subtle v2.4.0 [INFO] [stderr] Checking textwrap v0.15.0 [INFO] [stderr] Checking thousands v0.2.0 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Checking crossbeam-channel v0.5.1 [INFO] [stderr] Compiling backtrace v0.3.64 [INFO] [stderr] Compiling blake3 v0.3.8 [INFO] [stderr] Checking object v0.27.1 [INFO] [stderr] Checking os_str_bytes v6.0.0 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking parking_lot_core v0.8.5 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking parking_lot v0.12.0 [INFO] [stderr] Checking crypto-mac v0.8.0 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking addr2line v0.17.0 [INFO] [stderr] Compiling clap_derive v3.1.4 [INFO] [stderr] Checking clap v3.1.6 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking dhat v0.3.0 [INFO] [stderr] Checking banyan v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/repo/layer.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{File, Metadata}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsRawFd` [INFO] [stdout] --> src/repo/layer.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::prelude::{AsRawFd, RawFd, OsStrExt}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/repo/layer.rs:250:22 [INFO] [stdout] | [INFO] [stdout] 250 | let threads = if (threads > 4) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 250 - let threads = if (threads > 4) { [INFO] [stdout] 250 + let threads = if threads > 4 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `joinpath` [INFO] [stdout] --> src/util/mod.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | pub use utfpath::{joinpath, os_to_utf}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::aparc::APArc` [INFO] [stdout] --> src/util/queue.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::aparc::APArc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `null` [INFO] [stdout] --> src/util/queue.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ptr::{null, self}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicUsize` [INFO] [stdout] --> src/util/queue.rs:7:38 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::atomic::{AtomicIsize, AtomicUsize, AtomicPtr, Ordering}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/util/queue.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ffi::CString`, `fs::File`, `os::unix::prelude::AsRawFd`, and `sync::Arc` [INFO] [stdout] --> src/main.rs:19:19 [INFO] [stdout] | [INFO] [stdout] 19 | error::Error, ffi::CString, fs::File, os::unix::prelude::AsRawFd, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | sync::Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::PString` [INFO] [stdout] --> src/main.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use crate::util::PString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/repo/layer.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::{File, Metadata}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsRawFd` [INFO] [stdout] --> src/repo/layer.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use std::os::unix::prelude::{AsRawFd, RawFd, OsStrExt}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/repo/layer.rs:250:22 [INFO] [stdout] | [INFO] [stdout] 250 | let threads = if (threads > 4) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 250 - let threads = if (threads > 4) { [INFO] [stdout] 250 + let threads = if threads > 4 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `joinpath` [INFO] [stdout] --> src/util/mod.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | pub use utfpath::{joinpath, os_to_utf}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::aparc::APArc` [INFO] [stdout] --> src/util/queue.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::aparc::APArc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `null` [INFO] [stdout] --> src/util/queue.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ptr::{null, self}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicUsize` [INFO] [stdout] --> src/util/queue.rs:7:38 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::atomic::{AtomicIsize, AtomicUsize, AtomicPtr, Ordering}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/util/queue.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ffi::CString`, `fs::File`, `os::unix::prelude::AsRawFd`, and `sync::Arc` [INFO] [stdout] --> src/main.rs:19:19 [INFO] [stdout] | [INFO] [stdout] 19 | error::Error, ffi::CString, fs::File, os::unix::prelude::AsRawFd, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | sync::Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::PString` [INFO] [stdout] --> src/main.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use crate::util::PString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `borrow::BorrowMut` [INFO] [stdout] --> src/repo/object.rs:16:52 [INFO] [stdout] | [INFO] [stdout] 16 | os::unix::prelude::{FromRawFd, IntoRawFd}, borrow::BorrowMut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `borrow::BorrowMut` [INFO] [stdout] --> src/repo/object.rs:16:52 [INFO] [stdout] | [INFO] [stdout] 16 | os::unix::prelude::{FromRawFd, IntoRawFd}, borrow::BorrowMut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/util/queue.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | let mut head = Box::new(Node { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `same_device` [INFO] [stdout] --> src/main.rs:54:34 [INFO] [stdout] | [INFO] [stdout] 54 | Commands::Import { path, same_device } => { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `same_device: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/repo/layer.rs:148:15 [INFO] [stdout] | [INFO] [stdout] 140 | fn visit(&mut self, dent: NodeSlice) -> WalkState { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 146 | let path = dent.fullpath(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 147 | [INFO] [stdout] 148 | match self.visit_internal(&dent, path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/repo/layer.rs:322:5 [INFO] [stdout] | [INFO] [stdout] 322 | layer.write(&ser); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 322 | let _ = layer.write(&ser); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/repo/object.rs:26:19 [INFO] [stdout] | [INFO] [stdout] 23 | let mut hasher = blake3::Hasher::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 24 | let mut file = unsafe { fs::File::from_raw_fd(file) }; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 25 | [INFO] [stdout] 26 | READ_BUF.with(|buf| { [INFO] [stdout] | ___________________^ [INFO] [stdout] 27 | | let mut buf = buf.borrow_mut(); [INFO] [stdout] 28 | | #[allow(irrefutable_let_patterns)] [INFO] [stdout] 29 | | while let n = file.read(&mut buf)? { [INFO] [stdout] ... | [INFO] [stdout] 67 | | ret [INFO] [stdout] 68 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `into_raw_fd` that must be used [INFO] [stdout] --> src/repo/object.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | file.into_raw_fd(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the raw file descriptor may leak resources [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 65 | let _ = file.into_raw_fd(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[u8; 3904]` does not permit being left uninitialized [INFO] [stdout] --> src/util/queue.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | MaybeUninit::<[u8; NODE_LEN]>::uninit().assume_init() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/queue.rs:260:25 [INFO] [stdout] | [INFO] [stdout] 260 | / self.tail.compare_exchange( [INFO] [stdout] 261 | | tailptr, [INFO] [stdout] 262 | | ptr, [INFO] [stdout] 263 | | Ordering::AcqRel, [INFO] [stdout] 264 | | Ordering::Acquire [INFO] [stdout] 265 | | ); [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 260 | let _ = self.tail.compare_exchange( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/queue.rs:278:25 [INFO] [stdout] | [INFO] [stdout] 278 | / self.tail.compare_exchange( [INFO] [stdout] 279 | | tailptr, [INFO] [stdout] 280 | | real_tail, [INFO] [stdout] 281 | | Ordering::AcqRel, [INFO] [stdout] 282 | | Ordering::Acquire [INFO] [stdout] 283 | | ); [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 278 | let _ = self.tail.compare_exchange( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/util/queue.rs:305:38 [INFO] [stdout] | [INFO] [stdout] 305 | ... unsafe { Box::from_raw(*headlock as *mut Node) }; [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] 305 | unsafe { let _ = Box::from_raw(*headlock as *mut Node); }; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/util/pstring.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn from_cstring(cstr: CString) -> Result { [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 112 | std::str::from_utf8(cstr.to_bytes())?; [INFO] [stdout] 113 | Ok(unsafe { PString::from_cstring_unchecked(cstr) }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/util/queue.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | let mut head = Box::new(Node { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `banyan` (bin "banyan") due to 4 previous errors; 19 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `same_device` [INFO] [stdout] --> src/main.rs:54:34 [INFO] [stdout] | [INFO] [stdout] 54 | Commands::Import { path, same_device } => { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `same_device: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/repo/layer.rs:148:15 [INFO] [stdout] | [INFO] [stdout] 140 | fn visit(&mut self, dent: NodeSlice) -> WalkState { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 146 | let path = dent.fullpath(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 147 | [INFO] [stdout] 148 | match self.visit_internal(&dent, path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/repo/layer.rs:322:5 [INFO] [stdout] | [INFO] [stdout] 322 | layer.write(&ser); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 322 | let _ = layer.write(&ser); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/repo/object.rs:26:19 [INFO] [stdout] | [INFO] [stdout] 23 | let mut hasher = blake3::Hasher::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 24 | let mut file = unsafe { fs::File::from_raw_fd(file) }; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 25 | [INFO] [stdout] 26 | READ_BUF.with(|buf| { [INFO] [stdout] | ___________________^ [INFO] [stdout] 27 | | let mut buf = buf.borrow_mut(); [INFO] [stdout] 28 | | #[allow(irrefutable_let_patterns)] [INFO] [stdout] 29 | | while let n = file.read(&mut buf)? { [INFO] [stdout] ... | [INFO] [stdout] 67 | | ret [INFO] [stdout] 68 | | }) [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `into_raw_fd` that must be used [INFO] [stdout] --> src/repo/object.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | file.into_raw_fd(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: losing the raw file descriptor may leak resources [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 65 | let _ = file.into_raw_fd(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the type `[u8; 3904]` does not permit being left uninitialized [INFO] [stdout] --> src/util/queue.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | MaybeUninit::<[u8; NODE_LEN]>::uninit().assume_init() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this code causes undefined behavior when executed [INFO] [stdout] | help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done [INFO] [stdout] | [INFO] [stdout] = note: integers must be initialized [INFO] [stdout] = note: `#[warn(invalid_value)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/queue.rs:260:25 [INFO] [stdout] | [INFO] [stdout] 260 | / self.tail.compare_exchange( [INFO] [stdout] 261 | | tailptr, [INFO] [stdout] 262 | | ptr, [INFO] [stdout] 263 | | Ordering::AcqRel, [INFO] [stdout] 264 | | Ordering::Acquire [INFO] [stdout] 265 | | ); [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 260 | let _ = self.tail.compare_exchange( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/queue.rs:278:25 [INFO] [stdout] | [INFO] [stdout] 278 | / self.tail.compare_exchange( [INFO] [stdout] 279 | | tailptr, [INFO] [stdout] 280 | | real_tail, [INFO] [stdout] 281 | | Ordering::AcqRel, [INFO] [stdout] 282 | | Ordering::Acquire [INFO] [stdout] 283 | | ); [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 278 | let _ = self.tail.compare_exchange( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/util/queue.rs:305:38 [INFO] [stdout] | [INFO] [stdout] 305 | ... unsafe { Box::from_raw(*headlock as *mut Node) }; [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] 305 | unsafe { let _ = Box::from_raw(*headlock as *mut Node); }; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/util/pstring.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn from_cstring(cstr: CString) -> Result { [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 112 | std::str::from_utf8(cstr.to_bytes())?; [INFO] [stdout] 113 | Ok(unsafe { PString::from_cstring_unchecked(cstr) }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `banyan` (bin "banyan" test) due to 4 previous errors; 19 warnings emitted [INFO] running `Command { std: "docker" "inspect" "5282bd91cdd9730af3ce0cba872c48d6ca268b4c45b0f01d9b3dd1f7725e52ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5282bd91cdd9730af3ce0cba872c48d6ca268b4c45b0f01d9b3dd1f7725e52ff", kill_on_drop: false }` [INFO] [stdout] 5282bd91cdd9730af3ce0cba872c48d6ca268b4c45b0f01d9b3dd1f7725e52ff