[INFO] fetching crate elm-solve-deps 0.1.1... [INFO] checking elm-solve-deps-0.1.1 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate elm-solve-deps 0.1.1 into /workspace/builds/worker-6-tc2/source [INFO] validating manifest of crates.io crate elm-solve-deps 0.1.1 on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate elm-solve-deps 0.1.1 [INFO] finished tweaking crates.io crate elm-solve-deps 0.1.1 [INFO] tweaked toml for crates.io crate elm-solve-deps 0.1.1 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate crates.io crate elm-solve-deps 0.1.1 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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a30913b2abd0f0e7cf8117ebc874500838c34110e86bfcd1243ce621d5ca3b26 [INFO] running `Command { std: "docker" "start" "-a" "a30913b2abd0f0e7cf8117ebc874500838c34110e86bfcd1243ce621d5ca3b26", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a30913b2abd0f0e7cf8117ebc874500838c34110e86bfcd1243ce621d5ca3b26", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a30913b2abd0f0e7cf8117ebc874500838c34110e86bfcd1243ce621d5ca3b26", kill_on_drop: false }` [INFO] [stdout] a30913b2abd0f0e7cf8117ebc874500838c34110e86bfcd1243ce621d5ca3b26 [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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 06d6ea75c571d733aabb432d72e878bacefdfa4a8e3e0d862725f840d3182c7d [INFO] running `Command { std: "docker" "start" "-a" "06d6ea75c571d733aabb432d72e878bacefdfa4a8e3e0d862725f840d3182c7d", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.34 [INFO] [stderr] Compiling syn v1.0.84 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling serde_derive v1.0.132 [INFO] [stderr] Compiling libc v0.2.112 [INFO] [stderr] Compiling serde v1.0.132 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Compiling cc v1.0.72 [INFO] [stderr] Checking untrusted v0.7.1 [INFO] [stderr] Compiling const_fn v0.4.8 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Checking once_cell v1.9.0 [INFO] [stderr] Compiling serde_json v1.0.73 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Checking publicsuffix v1.5.6 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking qstring v0.7.2 [INFO] [stderr] Checking chunked_transfer v1.4.0 [INFO] [stderr] Compiling standback v0.2.17 [INFO] [stderr] Compiling time v0.2.27 [INFO] [stderr] Compiling cookie v0.14.4 [INFO] [stderr] Checking csv-core v0.1.10 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling quote v1.0.10 [INFO] [stderr] Compiling time-macros-impl v0.1.2 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Checking time-macros v0.1.1 [INFO] [stderr] Checking webpki v0.21.4 [INFO] [stderr] Checking sct v0.6.1 [INFO] [stderr] Checking thiserror v1.0.30 [INFO] [stderr] Checking rustls v0.19.1 [INFO] [stderr] Checking webpki-roots v0.21.1 [INFO] [stderr] Checking pubgrub v0.2.1 [INFO] [stderr] Checking bstr v0.2.17 [INFO] [stderr] Checking ron v0.6.6 [INFO] [stderr] Checking csv v1.1.6 [INFO] [stderr] Checking cookie_store v0.12.0 [INFO] [stderr] Checking elm-solve-deps v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Checking ureq v1.5.5 [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/dependency_provider.rs:66:37 [INFO] [stdout] | [INFO] [stdout] 58 | potential_packages: impl Iterator, [INFO] [stdout] | ------------------------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 59 | ) -> Result<(T, Option), Box> { [INFO] [stdout] 60 | let mut potential_packages = potential_packages; [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 61 | let (p, r) = potential_packages.next().unwrap(); // unwrap ok since potential_packages must contains at least one item [INFO] [stdout] | - - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 66 | .choose_package_version(std::iter::once((p, r)).chain(potential_packages)) [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/pkg_version.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 116 | elm_home: P, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 121 | let sub_dirs = match std::fs::read_dir(&p_dir) { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 122 | Ok(s) => s, [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 131 | Ok(sub_dirs [INFO] [stdout] | ____________^ [INFO] [stdout] 132 | | .filter_map(|f| f.ok()) [INFO] [stdout] 133 | | // only keep directories [INFO] [stdout] 134 | | .filter(|entry| entry.file_type().map(|f| f.is_dir()).unwrap_or(false)) [INFO] [stdout] ... | [INFO] [stdout] 137 | | // convert into a version [INFO] [stdout] 138 | | .filter_map(|s| SemVer::from_str(&s).ok()) [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/pkg_version.rs:134:29 [INFO] [stdout] | [INFO] [stdout] 134 | .filter(|entry| entry.file_type().map(|f| f.is_dir()).unwrap_or(false)) [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/pkg_version.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn load>(elm_home: P) -> Result { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 149 | serde_json::from_str(&s).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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/pkg_version.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 153 | pub fn save>(&self, elm_home: P) -> Result<(), CacheError> { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 166 | std::fs::write(file_path, &s).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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/pkg_version.rs:199:29 [INFO] [stdout] | [INFO] [stdout] 197 | serde_json::from_str(&pkgs_str).map_err(|_| CacheError::FetchError { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 198 | url, [INFO] [stdout] 199 | source: format!("Got an unexpected response: {}", pkgs_str).into(), [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/pkg_version.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 237 | http_fetch: impl Fn(&str) -> Result>, [INFO] [stdout] | ------------------------------------------------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 243 | serde_json::from_str(&all_pkg_str).map_err(|e| e.into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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/solver.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 167 | potential_packages: impl Iterator, [INFO] [stdout] | ------------------------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 175 | let (pkg, range) = potential_packages [INFO] [stdout] | --- ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 180 | Ok((pkg, version)) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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/solver.rs:169:55 [INFO] [stdout] | [INFO] [stdout] 169 | let count_valid = |(p, range): &(T, U)| match (self.list_available_versions)(p.borrow()) { [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 `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/solver.rs:171:54 [INFO] [stdout] | [INFO] [stdout] 171 | .filter(|v| range.borrow().contains(v.borrow())) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `SemanticVersion` does not implement `Borrow`, so calling `borrow` on `&SemanticVersion` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 171 - .filter(|v| range.borrow().contains(v.borrow())) [INFO] [stdout] 171 + .filter(|v| range.borrow().contains(v)) [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `SemanticVersion`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pubgrub-0.2.1/src/version.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 + #[derive(Clone)] [INFO] [stdout] 21 | pub struct SemanticVersion { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> src/solver.rs:179:48 [INFO] [stdout] | [INFO] [stdout] 179 | .find(|v| range.borrow().contains(v.borrow())); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `SemanticVersion` does not implement `Borrow`, so calling `borrow` on `&SemanticVersion` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 179 - .find(|v| range.borrow().contains(v.borrow())); [INFO] [stdout] 179 + .find(|v| range.borrow().contains(v)); [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `SemanticVersion`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/pubgrub-0.2.1/src/version.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 + #[derive(Clone)] [INFO] [stdout] 21 | pub struct SemanticVersion { [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/solver.rs:386:12 [INFO] [stdout] | [INFO] [stdout] 378 | remote: S, [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 379 | http_fetch: F, [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 386 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 387 | | offline, [INFO] [stdout] 388 | | online_cache, [INFO] [stdout] 389 | | remote, [INFO] [stdout] 390 | | http_fetch, [INFO] [stdout] 391 | | strategy, [INFO] [stdout] 392 | | }) [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/solver.rs:404:54 [INFO] [stdout] | [INFO] [stdout] 404 | let list_available_versions = |pkg: &Pkg| Ok(self.list_available_versions(pkg)); [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/solver.rs:406:34 [INFO] [stdout] | [INFO] [stdout] 406 | |pkg: &Pkg, version| self.fetch_elm_json(pkg, version).map_err(|err| err.into()); [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 12 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `elm-solve-deps` (lib) due to 13 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "06d6ea75c571d733aabb432d72e878bacefdfa4a8e3e0d862725f840d3182c7d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "06d6ea75c571d733aabb432d72e878bacefdfa4a8e3e0d862725f840d3182c7d", kill_on_drop: false }` [INFO] [stdout] 06d6ea75c571d733aabb432d72e878bacefdfa4a8e3e0d862725f840d3182c7d