[INFO] cloning repository https://github.com/rainlab-inc/nbd-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rainlab-inc/nbd-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frainlab-inc%2Fnbd-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frainlab-inc%2Fnbd-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ddcbda18a2bd41b93610b8cb19bb0f47ce831465 [INFO] checking rainlab-inc/nbd-rs against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frainlab-inc%2Fnbd-rs" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/rainlab-inc/nbd-rs 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/rainlab-inc/nbd-rs [INFO] finished tweaking git repo https://github.com/rainlab-inc/nbd-rs [INFO] tweaked toml for git repo https://github.com/rainlab-inc/nbd-rs written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/rainlab-inc/nbd-rs 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] Updating git repository `https://git.rlab.io/forks/rust-crates/rust-s3.git` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde-xml-rs v0.5.1 [INFO] [stderr] Downloaded wildmatch v2.1.0 [INFO] [stderr] Downloaded aws-region v0.23.3 [INFO] [stderr] Downloaded aws-creds v0.27.1 [INFO] [stderr] Downloaded block_on_proc v0.2.0 [INFO] [stderr] Downloaded ordered-multimap v0.3.1 [INFO] [stderr] Downloaded clap_lex v0.2.0 [INFO] [stderr] Downloaded core-foundation v0.9.2 [INFO] [stderr] Downloaded anyhow v1.0.45 [INFO] [stderr] Downloaded attohttpc v0.18.0 [INFO] [stderr] Downloaded syn v1.0.81 [INFO] [stderr] Downloaded tracing v0.1.29 [INFO] [stderr] Downloaded quick-xml v0.20.0 [INFO] [stderr] Downloaded serde_json v1.0.69 [INFO] [stderr] Downloaded h2 v0.3.7 [INFO] [stderr] Downloaded clap v3.1.17 [INFO] [stderr] Downloaded hyper v0.14.14 [INFO] [stderr] Downloaded reqwest v0.11.6 [INFO] [stderr] Downloaded proc-macro2 v1.0.32 [INFO] [stderr] Downloaded tracing-core v0.1.21 [INFO] [stderr] Downloaded openssl-sys v0.9.70 [INFO] [stderr] Downloaded native-tls v0.2.8 [INFO] [stderr] Downloaded dlv-list v0.2.3 [INFO] [stderr] Downloaded rust-ini v0.17.0 [INFO] [stderr] Downloaded maybe-async v0.2.6 [INFO] [stderr] Downloaded minidom v0.13.0 [INFO] [stderr] Downloaded pkg-config v0.3.22 [INFO] [stderr] Downloaded tokio v1.13.0 [INFO] [stderr] Downloaded mmap-safe v0.0.2 [INFO] [stderr] Downloaded encoding_rs v0.8.29 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ad291beb8191c65267773a652e1a459725e85d1c579eb972424a3db24f0d015d [INFO] running `Command { std: "docker" "start" "-a" "ad291beb8191c65267773a652e1a459725e85d1c579eb972424a3db24f0d015d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ad291beb8191c65267773a652e1a459725e85d1c579eb972424a3db24f0d015d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ad291beb8191c65267773a652e1a459725e85d1c579eb972424a3db24f0d015d", kill_on_drop: false }` [INFO] [stdout] ad291beb8191c65267773a652e1a459725e85d1c579eb972424a3db24f0d015d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d6b7bbf3b4e55647cd19cc7cab4bcf58551cec1a671159966fe353f232bdaeba [INFO] running `Command { std: "docker" "start" "-a" "d6b7bbf3b4e55647cd19cc7cab4bcf58551cec1a671159966fe353f232bdaeba", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.107 [INFO] [stderr] Compiling pkg-config v0.3.22 [INFO] [stderr] Compiling proc-macro2 v1.0.32 [INFO] [stderr] Compiling cc v1.0.72 [INFO] [stderr] Compiling syn v1.0.81 [INFO] [stderr] Compiling serde v1.0.130 [INFO] [stderr] Compiling tokio v1.13.0 [INFO] [stderr] Compiling openssl v0.10.38 [INFO] [stderr] Checking http v0.2.5 [INFO] [stderr] Compiling native-tls v0.2.8 [INFO] [stderr] Compiling futures-task v0.3.17 [INFO] [stderr] Checking tinyvec v1.5.1 [INFO] [stderr] Compiling futures-util v0.3.17 [INFO] [stderr] Checking ppv-lite86 v0.2.15 [INFO] [stderr] Checking tracing-core v0.1.21 [INFO] [stderr] Checking unicode-bidi v0.3.7 [INFO] [stderr] Compiling serde_json v1.0.69 [INFO] [stderr] Compiling futures-channel v0.3.17 [INFO] [stderr] Compiling anyhow v1.0.45 [INFO] [stderr] Checking ahash v0.4.7 [INFO] [stderr] Checking slab v0.4.5 [INFO] [stderr] Compiling encoding_rs v0.8.29 [INFO] [stderr] Checking tracing v0.1.29 [INFO] [stderr] Checking xml-rs v0.8.4 [INFO] [stderr] Checking wildmatch v2.1.0 [INFO] [stderr] Checking crypto-mac v0.11.1 [INFO] [stderr] Checking hashbrown v0.9.1 [INFO] [stderr] Checking quick-xml v0.20.0 [INFO] [stderr] Checking os_str_bytes v6.0.0 [INFO] [stderr] Checking mime v0.3.16 [INFO] [stderr] Checking ipnet v2.3.1 [INFO] [stderr] Compiling quote v1.0.10 [INFO] [stderr] Checking unicode-normalization v0.1.19 [INFO] [stderr] Checking clap_lex v0.2.0 [INFO] [stderr] Checking sha2 v0.9.8 [INFO] [stderr] Checking hmac v0.11.0 [INFO] [stderr] Checking aws-region v0.23.3 [INFO] [stderr] Checking minidom v0.13.0 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking mio v0.7.14 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking socket2 v0.4.2 [INFO] [stderr] Checking dirs-sys v0.3.6 [INFO] [stderr] Checking time v0.1.43 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Compiling openssl-sys v0.9.70 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking env_logger v0.9.0 [INFO] [stderr] Checking clap v3.1.17 [INFO] [stderr] Checking dirs v4.0.0 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking mmap-safe v0.0.2 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Checking http-body v0.4.4 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Checking dlv-list v0.2.3 [INFO] [stderr] Checking ordered-multimap v0.3.1 [INFO] [stderr] Checking rust-ini v0.17.0 [INFO] [stderr] Checking serde_urlencoded v0.7.0 [INFO] [stderr] Checking attohttpc v0.18.0 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Compiling serde_derive v1.0.130 [INFO] [stderr] Compiling async-trait v0.1.51 [INFO] [stderr] Compiling maybe-async v0.2.6 [INFO] [stderr] Compiling block_on_proc v0.2.0 [INFO] [stderr] Checking tokio-util v0.6.9 [INFO] [stderr] Checking tokio-native-tls v0.3.0 [INFO] [stderr] Checking tokio-stream v0.1.8 [INFO] [stderr] Checking h2 v0.3.7 [INFO] [stderr] Checking thiserror v1.0.30 [INFO] [stderr] Checking serde-xml-rs v0.5.1 [INFO] [stderr] Checking hyper v0.14.14 [INFO] [stderr] Checking aws-creds v0.27.1 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.6 [INFO] [stderr] Checking rust-s3 v0.28.0 (https://git.rlab.io/forks/rust-crates/rust-s3.git?branch=rlab/0.28-dev#714325be) [INFO] [stderr] Checking nbd-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/object/s3.rs:223:50 [INFO] [stdout] | [INFO] [stdout] 223 | access_key: parsed_url.username().clone().to_string(), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/object/s3.rs:224:37 [INFO] [stdout] | [INFO] [stdout] 224 | secret_key: password.clone().to_string(), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:172:25 [INFO] [stdout] | [INFO] [stdout] 172 | drop(oldest_unwritten_page); [INFO] [stdout] | ^^^^^---------------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `Option<(&std::string::String, &CacheValRef)>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_copy_types)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 172 - drop(oldest_unwritten_page); [INFO] [stdout] 172 + let _ = oldest_unwritten_page; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:186:21 [INFO] [stdout] | [INFO] [stdout] 186 | drop(cache_kp); [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `(&std::string::String, &CacheValRef)` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 186 - drop(cache_kp); [INFO] [stdout] 186 + let _ = cache_kp; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:339:9 [INFO] [stdout] | [INFO] [stdout] 339 | drop(cached_obj_ref); [INFO] [stdout] | ^^^^^--------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `Option<(&std::string::String, &CacheValRef)>` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 339 - drop(cached_obj_ref); [INFO] [stdout] 339 + let _ = cached_obj_ref; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:581:9 [INFO] [stdout] | [INFO] [stdout] 581 | drop(cached_obj_ref); [INFO] [stdout] | ^^^^^--------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `Option<(&std::string::String, &CacheValRef)>` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 581 - drop(cached_obj_ref); [INFO] [stdout] 581 + let _ = cached_obj_ref; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/util.rs:157:16 [INFO] [stdout] | [INFO] [stdout] 157 | for cap in re.captures(size_str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 157 | while let Some(cap) = re.captures(size_str) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 157 | if let Some(cap) = re.captures(size_str) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/object/s3.rs:223:50 [INFO] [stdout] | [INFO] [stdout] 223 | access_key: parsed_url.username().clone().to_string(), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/object/s3.rs:224:37 [INFO] [stdout] | [INFO] [stdout] 224 | secret_key: password.clone().to_string(), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:172:25 [INFO] [stdout] | [INFO] [stdout] 172 | drop(oldest_unwritten_page); [INFO] [stdout] | ^^^^^---------------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `Option<(&std::string::String, &CacheValRef)>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_copy_types)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 172 - drop(oldest_unwritten_page); [INFO] [stdout] 172 + let _ = oldest_unwritten_page; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:186:21 [INFO] [stdout] | [INFO] [stdout] 186 | drop(cache_kp); [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `(&std::string::String, &CacheValRef)` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 186 - drop(cache_kp); [INFO] [stdout] 186 + let _ = cache_kp; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:339:9 [INFO] [stdout] | [INFO] [stdout] 339 | drop(cached_obj_ref); [INFO] [stdout] | ^^^^^--------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `Option<(&std::string::String, &CacheValRef)>` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 339 - drop(cached_obj_ref); [INFO] [stdout] 339 + let _ = cached_obj_ref; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:581:9 [INFO] [stdout] | [INFO] [stdout] 581 | drop(cached_obj_ref); [INFO] [stdout] | ^^^^^--------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `Option<(&std::string::String, &CacheValRef)>` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 581 - drop(cached_obj_ref); [INFO] [stdout] 581 + let _ = cached_obj_ref; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/util.rs:157:16 [INFO] [stdout] | [INFO] [stdout] 157 | for cap in re.captures(size_str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 157 | while let Some(cap) = re.captures(size_str) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 157 | if let Some(cap) = re.captures(size_str) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.97s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.20.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "d6b7bbf3b4e55647cd19cc7cab4bcf58551cec1a671159966fe353f232bdaeba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d6b7bbf3b4e55647cd19cc7cab4bcf58551cec1a671159966fe353f232bdaeba", kill_on_drop: false }` [INFO] [stdout] d6b7bbf3b4e55647cd19cc7cab4bcf58551cec1a671159966fe353f232bdaeba [INFO] checking rainlab-inc/nbd-rs 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%2Frainlab-inc%2Fnbd-rs" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/rainlab-inc/nbd-rs 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/rainlab-inc/nbd-rs [INFO] finished tweaking git repo https://github.com/rainlab-inc/nbd-rs [INFO] tweaked toml for git repo https://github.com/rainlab-inc/nbd-rs written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/rainlab-inc/nbd-rs 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-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3d7507e8841e23884b202cc488084f33d842c1ab695030f58c80c894b2cbcb71 [INFO] running `Command { std: "docker" "start" "-a" "3d7507e8841e23884b202cc488084f33d842c1ab695030f58c80c894b2cbcb71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3d7507e8841e23884b202cc488084f33d842c1ab695030f58c80c894b2cbcb71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3d7507e8841e23884b202cc488084f33d842c1ab695030f58c80c894b2cbcb71", kill_on_drop: false }` [INFO] [stdout] 3d7507e8841e23884b202cc488084f33d842c1ab695030f58c80c894b2cbcb71 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -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] d702282d440db649d41a3d2139a9bc9e0773619bc9bba969346d993c6b5631b1 [INFO] running `Command { std: "docker" "start" "-a" "d702282d440db649d41a3d2139a9bc9e0773619bc9bba969346d993c6b5631b1", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.107 [INFO] [stderr] Compiling cc v1.0.72 [INFO] [stderr] Compiling pkg-config v0.3.22 [INFO] [stderr] Compiling proc-macro2 v1.0.32 [INFO] [stderr] Compiling syn v1.0.81 [INFO] [stderr] Compiling tokio v1.13.0 [INFO] [stderr] Compiling serde v1.0.130 [INFO] [stderr] Compiling openssl v0.10.38 [INFO] [stderr] Checking http v0.2.5 [INFO] [stderr] Compiling native-tls v0.2.8 [INFO] [stderr] Compiling futures-task v0.3.17 [INFO] [stderr] Checking tinyvec v1.5.1 [INFO] [stderr] Compiling futures-util v0.3.17 [INFO] [stderr] Checking ppv-lite86 v0.2.15 [INFO] [stderr] Checking tracing-core v0.1.21 [INFO] [stderr] Compiling futures-channel v0.3.17 [INFO] [stderr] Compiling serde_json v1.0.69 [INFO] [stderr] Checking unicode-bidi v0.3.7 [INFO] [stderr] Checking slab v0.4.5 [INFO] [stderr] Compiling anyhow v1.0.45 [INFO] [stderr] Checking ahash v0.4.7 [INFO] [stderr] Checking tracing v0.1.29 [INFO] [stderr] Compiling encoding_rs v0.8.29 [INFO] [stderr] Checking xml-rs v0.8.4 [INFO] [stderr] Checking wildmatch v2.1.0 [INFO] [stderr] Checking crypto-mac v0.11.1 [INFO] [stderr] Checking hashbrown v0.9.1 [INFO] [stderr] Checking quick-xml v0.20.0 [INFO] [stderr] Checking mime v0.3.16 [INFO] [stderr] Checking os_str_bytes v6.0.0 [INFO] [stderr] Checking ipnet v2.3.1 [INFO] [stderr] Checking hmac v0.11.0 [INFO] [stderr] Checking sha2 v0.9.8 [INFO] [stderr] Compiling quote v1.0.10 [INFO] [stderr] Checking aws-region v0.23.3 [INFO] [stderr] Checking clap_lex v0.2.0 [INFO] [stderr] Checking minidom v0.13.0 [INFO] [stderr] Checking unicode-normalization v0.1.19 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking mio v0.7.14 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking socket2 v0.4.2 [INFO] [stderr] Checking dirs-sys v0.3.6 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking time v0.1.43 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking dirs v4.0.0 [INFO] [stderr] Checking clap v3.1.17 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Compiling openssl-sys v0.9.70 [INFO] [stderr] Checking mmap-safe v0.0.2 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking env_logger v0.9.0 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Checking http-body v0.4.4 [INFO] [stderr] Checking dlv-list v0.2.3 [INFO] [stderr] Checking ordered-multimap v0.3.1 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Checking rust-ini v0.17.0 [INFO] [stderr] Checking serde_urlencoded v0.7.0 [INFO] [stderr] Checking attohttpc v0.18.0 [INFO] [stderr] Checking tokio-util v0.6.9 [INFO] [stderr] Checking tokio-native-tls v0.3.0 [INFO] [stderr] Checking tokio-stream v0.1.8 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Compiling serde_derive v1.0.130 [INFO] [stderr] Compiling async-trait v0.1.51 [INFO] [stderr] Compiling maybe-async v0.2.6 [INFO] [stderr] Compiling block_on_proc v0.2.0 [INFO] [stderr] Checking h2 v0.3.7 [INFO] [stderr] Checking thiserror v1.0.30 [INFO] [stderr] Checking serde-xml-rs v0.5.1 [INFO] [stderr] Checking hyper v0.14.14 [INFO] [stderr] Checking aws-creds v0.27.1 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.6 [INFO] [stderr] Checking rust-s3 v0.28.0 (https://git.rlab.io/forks/rust-crates/rust-s3.git?branch=rlab/0.28-dev#714325be) [INFO] [stderr] Checking nbd-rs v0.1.0 (/opt/rustwide/workdir) [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/object/mod.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 67 | fn read_into (&self, object_name: String, stream: Box) -> Result { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 68 | Err(Error::new(ErrorKind::Unsupported, "Not yet implemented")) [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] 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/object/mod.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 70 | fn write_from (&self, object_name: String, stream: Box, length: usize) -> Result { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 71 | Err(Error::new(ErrorKind::Unsupported, "Not yet implemented")) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/object/mod.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 77 | fn partial_read_into (&self, object_name: String, stream: Box, offset: u64, length: usize) -> Result { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 78 | Err(Error::new(ErrorKind::Unsupported, "Not yet implemented")) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/object/mod.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 80 | fn partial_write_from (&self, object_name: String, stream: Box, offset: u64, length: usize) -> Result { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 81 | Err(Error::new(ErrorKind::Unsupported, "Not yet implemented")) [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: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/object/s3.rs:223:50 [INFO] [stdout] | [INFO] [stdout] 223 | access_key: parsed_url.username().clone().to_string(), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/object/s3.rs:224:37 [INFO] [stdout] | [INFO] [stdout] 224 | secret_key: password.clone().to_string(), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:172:25 [INFO] [stdout] | [INFO] [stdout] 172 | drop(oldest_unwritten_page); [INFO] [stdout] | ^^^^^---------------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `Option<(&std::string::String, &CacheValRef)>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_copy_types)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 172 - drop(oldest_unwritten_page); [INFO] [stdout] 172 + let _ = oldest_unwritten_page; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:186:21 [INFO] [stdout] | [INFO] [stdout] 186 | drop(cache_kp); [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `(&std::string::String, &CacheValRef)` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 186 - drop(cache_kp); [INFO] [stdout] 186 + let _ = cache_kp; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:339:9 [INFO] [stdout] | [INFO] [stdout] 339 | drop(cached_obj_ref); [INFO] [stdout] | ^^^^^--------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `Option<(&std::string::String, &CacheValRef)>` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 339 - drop(cached_obj_ref); [INFO] [stdout] 339 + let _ = cached_obj_ref; [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/object/cache.rs:412:9 [INFO] [stdout] | [INFO] [stdout] 403 | let mut cache = self.cache.write().unwrap(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 412 | self.write_backend.lock().unwrap().delete(object_name.clone()) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/object/cache.rs:426:9 [INFO] [stdout] | [INFO] [stdout] 416 | let cache = self.cache.read().unwrap(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 426 | self.read_backend.lock().unwrap().get_size(object_name.clone()) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/object/cache.rs:454:9 [INFO] [stdout] | [INFO] [stdout] 442 | let cache = self.cache.write().unwrap(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 454 | self.write_backend.lock().unwrap().start_operations_on_object(object_name.clone()) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/object/cache.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 459 | let cache = self.cache.write().unwrap(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 466 | self.write_backend.lock().unwrap().end_operations_on_object(object_name.clone()) [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: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:581:9 [INFO] [stdout] | [INFO] [stdout] 581 | drop(cached_obj_ref); [INFO] [stdout] | ^^^^^--------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `Option<(&std::string::String, &CacheValRef)>` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 581 - drop(cached_obj_ref); [INFO] [stdout] 581 + let _ = cached_obj_ref; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/util.rs:157:16 [INFO] [stdout] | [INFO] [stdout] 157 | for cap in re.captures(size_str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 157 | while let Some(cap) = re.captures(size_str) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 157 | if let Some(cap) = re.captures(size_str) { [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/nbd/server.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 53 | let driver = block_storage_with_config(config).unwrap(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 62 | driver: Arc::new(RwLock::new(driver)), [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/nbd/server.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn new(host: String, port: u16, exports: Vec>>) -> NBDServer { [INFO] [stdout] | ------------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 76 | socket: TcpListener::bind(socket_addr).unwrap(), [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/nbd/server.rs:80:22 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn new(host: String, port: u16, exports: Vec>>) -> NBDServer { [INFO] [stdout] | ------------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 80 | exports: Arc::new(RwLock::new(exports)) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/nbd/session.rs:50:30 [INFO] [stdout] | [INFO] [stdout] 37 | socket: Rc>, [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 44 | export_refs: Arc>>>> [INFO] [stdout] | ------------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 50 | selected_export: RefCell::new(None), [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/nbd/session.rs:677:60 [INFO] [stdout] | [INFO] [stdout] 677 | self.selected_export.replace_with(|_| Some(Arc::clone(&export))); [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/object/mod.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 67 | fn read_into (&self, object_name: String, stream: Box) -> Result { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 68 | Err(Error::new(ErrorKind::Unsupported, "Not yet implemented")) [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] 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/object/mod.rs:71:13 [INFO] [stdout] | [INFO] [stdout] 70 | fn write_from (&self, object_name: String, stream: Box, length: usize) -> Result { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 71 | Err(Error::new(ErrorKind::Unsupported, "Not yet implemented")) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/object/mod.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 77 | fn partial_read_into (&self, object_name: String, stream: Box, offset: u64, length: usize) -> Result { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 78 | Err(Error::new(ErrorKind::Unsupported, "Not yet implemented")) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/object/mod.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 80 | fn partial_write_from (&self, object_name: String, stream: Box, offset: u64, length: usize) -> Result { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 81 | Err(Error::new(ErrorKind::Unsupported, "Not yet implemented")) [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: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/object/s3.rs:223:50 [INFO] [stdout] | [INFO] [stdout] 223 | access_key: parsed_url.username().clone().to_string(), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/object/s3.rs:224:37 [INFO] [stdout] | [INFO] [stdout] 224 | secret_key: password.clone().to_string(), [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 13 previous errors; 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:172:25 [INFO] [stdout] | [INFO] [stdout] 172 | drop(oldest_unwritten_page); [INFO] [stdout] | ^^^^^---------------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `Option<(&std::string::String, &CacheValRef)>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_copy_types)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 172 - drop(oldest_unwritten_page); [INFO] [stdout] 172 + let _ = oldest_unwritten_page; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:186:21 [INFO] [stdout] | [INFO] [stdout] 186 | drop(cache_kp); [INFO] [stdout] | ^^^^^--------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `(&std::string::String, &CacheValRef)` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 186 - drop(cache_kp); [INFO] [stdout] 186 + let _ = cache_kp; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:339:9 [INFO] [stdout] | [INFO] [stdout] 339 | drop(cached_obj_ref); [INFO] [stdout] | ^^^^^--------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `Option<(&std::string::String, &CacheValRef)>` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 339 - drop(cached_obj_ref); [INFO] [stdout] 339 + let _ = cached_obj_ref; [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/object/cache.rs:412:9 [INFO] [stdout] | [INFO] [stdout] 403 | let mut cache = self.cache.write().unwrap(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 412 | self.write_backend.lock().unwrap().delete(object_name.clone()) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/object/cache.rs:426:9 [INFO] [stdout] | [INFO] [stdout] 416 | let cache = self.cache.read().unwrap(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 426 | self.read_backend.lock().unwrap().get_size(object_name.clone()) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/object/cache.rs:454:9 [INFO] [stdout] | [INFO] [stdout] 442 | let cache = self.cache.write().unwrap(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 454 | self.write_backend.lock().unwrap().start_operations_on_object(object_name.clone()) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/object/cache.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 459 | let cache = self.cache.write().unwrap(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 466 | self.write_backend.lock().unwrap().end_operations_on_object(object_name.clone()) [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: calls to `std::mem::drop` with a value that implements `Copy` does nothing [INFO] [stdout] --> src/object/cache.rs:581:9 [INFO] [stdout] | [INFO] [stdout] 581 | drop(cached_obj_ref); [INFO] [stdout] | ^^^^^--------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `Option<(&std::string::String, &CacheValRef)>` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 581 - drop(cached_obj_ref); [INFO] [stdout] 581 + let _ = cached_obj_ref; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/util.rs:157:16 [INFO] [stdout] | [INFO] [stdout] 157 | for cap in re.captures(size_str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 157 | while let Some(cap) = re.captures(size_str) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 157 | if let Some(cap) = re.captures(size_str) { [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/nbd/server.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 53 | let driver = block_storage_with_config(config).unwrap(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 62 | driver: Arc::new(RwLock::new(driver)), [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/nbd/server.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn new(host: String, port: u16, exports: Vec>>) -> NBDServer { [INFO] [stdout] | ------------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 76 | socket: TcpListener::bind(socket_addr).unwrap(), [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/nbd/server.rs:80:22 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn new(host: String, port: u16, exports: Vec>>) -> NBDServer { [INFO] [stdout] | ------------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 80 | exports: Arc::new(RwLock::new(exports)) [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/nbd/session.rs:50:30 [INFO] [stdout] | [INFO] [stdout] 37 | socket: Rc>, [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 44 | export_refs: Arc>>>> [INFO] [stdout] | ------------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 50 | selected_export: RefCell::new(None), [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: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/nbd/session.rs:677:60 [INFO] [stdout] | [INFO] [stdout] 677 | self.selected_export.replace_with(|_| Some(Arc::clone(&export))); [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] [stderr] error: could not compile `nbd-rs` (bin "nbd-rs") due to 14 previous errors; 7 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 13 previous errors; 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `nbd-rs` (bin "nbd-rs" test) due to 14 previous errors; 7 warnings emitted [INFO] running `Command { std: "docker" "inspect" "d702282d440db649d41a3d2139a9bc9e0773619bc9bba969346d993c6b5631b1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d702282d440db649d41a3d2139a9bc9e0773619bc9bba969346d993c6b5631b1", kill_on_drop: false }` [INFO] [stdout] d702282d440db649d41a3d2139a9bc9e0773619bc9bba969346d993c6b5631b1