[INFO] fetching crate librualg 0.29.1... [INFO] checking librualg-0.29.1 against try#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [INFO] extracting crate librualg 0.29.1 into /workspace/builds/worker-0-tc2/source [INFO] validating manifest of crates.io crate librualg 0.29.1 on toolchain c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate librualg 0.29.1 [INFO] finished tweaking crates.io crate librualg 0.29.1 [INFO] tweaked toml for crates.io crate librualg 0.29.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 10 packages to latest compatible versions [INFO] [stderr] Adding rand v0.3.23 (available: v0.8.5) [INFO] [stderr] Adding rand v0.4.6 (available: v0.8.5) [INFO] [stderr] Adding rand_core v0.3.1 (available: v0.6.4) [INFO] [stderr] Adding rand_core v0.4.2 (available: v0.6.4) [INFO] [stderr] Adding rdrand v0.4.0 (available: v0.8.3) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e389d37f2677903b1f893a5f14319ec1bb41023e6be9439a4fdcae2bdad9f9ff [INFO] running `Command { std: "docker" "start" "-a" "e389d37f2677903b1f893a5f14319ec1bb41023e6be9439a4fdcae2bdad9f9ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e389d37f2677903b1f893a5f14319ec1bb41023e6be9439a4fdcae2bdad9f9ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e389d37f2677903b1f893a5f14319ec1bb41023e6be9439a4fdcae2bdad9f9ff", kill_on_drop: false }` [INFO] [stdout] e389d37f2677903b1f893a5f14319ec1bb41023e6be9439a4fdcae2bdad9f9ff [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bae3eed633c3ea94b031d11c0ae16c101d2ae3345344d7786adde63142e853ed [INFO] running `Command { std: "docker" "start" "-a" "bae3eed633c3ea94b031d11c0ae16c101d2ae3345344d7786adde63142e853ed", kill_on_drop: false }` [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking librualg v0.29.1 (/opt/rustwide/workdir) [INFO] [stdout] error: this value of type `(Option>>, Option>>)` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/binary_tree/mod.rs:156:15 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn remove(mut node: Box>, value: &T) -> Option>> { [INFO] [stdout] | -------- [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 156 | match (node.left.take(), node.right.take()) { [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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/string/mod.rs:403:9 [INFO] [stdout] | [INFO] [stdout] 402 | pub fn lcp(&self, i: usize, j: usize) -> Option { [INFO] [stdout] | ------------------------------------------------------ move the `impl` block outside of this method `lcp` [INFO] [stdout] 403 | impl SegmentTreeMin for usize { [INFO] [stdout] | ^^^^^--------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `SegmentTreeMin` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/string/mod.rs:409:9 [INFO] [stdout] | [INFO] [stdout] 402 | pub fn lcp(&self, i: usize, j: usize) -> Option { [INFO] [stdout] | ------------------------------------------------------ move the `impl` block outside of this method `lcp` [INFO] [stdout] ... [INFO] [stdout] 409 | impl SegmentTreeMax for usize { [INFO] [stdout] | ^^^^^--------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `SegmentTreeMax` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `librualg` (lib) due to 2 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: this value of type `(Option>>, Option>>)` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/binary_tree/mod.rs:156:15 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn remove(mut node: Box>, value: &T) -> Option>> { [INFO] [stdout] | -------- [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 156 | match (node.left.take(), node.right.take()) { [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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/string/mod.rs:403:9 [INFO] [stdout] | [INFO] [stdout] 402 | pub fn lcp(&self, i: usize, j: usize) -> Option { [INFO] [stdout] | ------------------------------------------------------ move the `impl` block outside of this method `lcp` [INFO] [stdout] 403 | impl SegmentTreeMin for usize { [INFO] [stdout] | ^^^^^--------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `SegmentTreeMin` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/string/mod.rs:409:9 [INFO] [stdout] | [INFO] [stdout] 402 | pub fn lcp(&self, i: usize, j: usize) -> Option { [INFO] [stdout] | ------------------------------------------------------ move the `impl` block outside of this method `lcp` [INFO] [stdout] ... [INFO] [stdout] 409 | impl SegmentTreeMax for usize { [INFO] [stdout] | ^^^^^--------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `SegmentTreeMax` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `librualg` (lib test) due to 2 previous errors; 2 warnings emitted [INFO] running `Command { std: "docker" "inspect" "bae3eed633c3ea94b031d11c0ae16c101d2ae3345344d7786adde63142e853ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bae3eed633c3ea94b031d11c0ae16c101d2ae3345344d7786adde63142e853ed", kill_on_drop: false }` [INFO] [stdout] bae3eed633c3ea94b031d11c0ae16c101d2ae3345344d7786adde63142e853ed