[INFO] cloning repository https://github.com/v4kst1z/TIP [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/v4kst1z/TIP" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fv4kst1z%2FTIP", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fv4kst1z%2FTIP'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 71322981a1532112fb88bf47f2c2a98933e23ba5 [INFO] checking v4kst1z/TIP against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fv4kst1z%2FTIP" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/v4kst1z/TIP 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/v4kst1z/TIP [INFO] finished tweaking git repo https://github.com/v4kst1z/TIP [INFO] tweaked toml for git repo https://github.com/v4kst1z/TIP written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Locking 5 packages to latest compatible versions [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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] ff89836f70e8c6936b88aca08819dc337ae24a231e725c3a7cf77dca31a01e8b [INFO] running `Command { std: "docker" "start" "-a" "ff89836f70e8c6936b88aca08819dc337ae24a231e725c3a7cf77dca31a01e8b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ff89836f70e8c6936b88aca08819dc337ae24a231e725c3a7cf77dca31a01e8b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ff89836f70e8c6936b88aca08819dc337ae24a231e725c3a7cf77dca31a01e8b", kill_on_drop: false }` [INFO] [stdout] ff89836f70e8c6936b88aca08819dc337ae24a231e725c3a7cf77dca31a01e8b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] b856979a81bdf0554ee06723c64e147f09d1e00262a9527484a6faf814bc1ee5 [INFO] running `Command { std: "docker" "start" "-a" "b856979a81bdf0554ee06723c64e147f09d1e00262a9527484a6faf814bc1ee5", kill_on_drop: false }` [INFO] [stderr] Checking lexer v0.1.0 (/opt/rustwide/workdir/lexer) [INFO] [stderr] Checking parser v0.1.0 (/opt/rustwide/workdir/parser) [INFO] [stderr] Checking type_analysis v0.1.0 (/opt/rustwide/workdir/type_analysis) [INFO] [stderr] Checking cfg v0.1.0 (/opt/rustwide/workdir/cfg) [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:96:44 [INFO] [stdout] | [INFO] [stdout] 96 | a.clone(), constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` 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] 96 - a.clone(), constraints, env.borrow() [INFO] [stdout] 96 + a.clone(), constraints, env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:136:24 [INFO] [stdout] | [INFO] [stdout] 136 | env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 136 - env.borrow() [INFO] [stdout] 136 + env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:157:51 [INFO] [stdout] | [INFO] [stdout] 157 | expr.clone(), constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 157 - expr.clone(), constraints, env.borrow() [INFO] [stdout] 157 + expr.clone(), constraints, env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:188:20 [INFO] [stdout] | [INFO] [stdout] 188 | env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 188 - env.borrow() [INFO] [stdout] 188 + env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:204:20 [INFO] [stdout] | [INFO] [stdout] 204 | env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 204 - env.borrow() [INFO] [stdout] 204 + env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:209:20 [INFO] [stdout] | [INFO] [stdout] 209 | env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 209 - env.borrow() [INFO] [stdout] 209 + env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:247:43 [INFO] [stdout] | [INFO] [stdout] 247 | stmt, constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 247 - stmt, constraints, env.borrow() [INFO] [stdout] 247 + stmt, constraints, env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:258:89 [INFO] [stdout] | [INFO] [stdout] 258 | constraints = generate_type_constraints_from_stmt(stmt, constraints, env.borrow()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 258 - constraints = generate_type_constraints_from_stmt(stmt, constraints, env.borrow()); [INFO] [stdout] 258 + constraints = generate_type_constraints_from_stmt(stmt, constraints, env); [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:265:43 [INFO] [stdout] | [INFO] [stdout] 265 | stmt, constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 265 - stmt, constraints, env.borrow() [INFO] [stdout] 265 + stmt, constraints, env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:271:47 [INFO] [stdout] | [INFO] [stdout] 271 | stmt, constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 271 - stmt, constraints, env.borrow() [INFO] [stdout] 271 + stmt, constraints, env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/type_check.rs:113:54 [INFO] [stdout] | [INFO] [stdout] 113 | let expr_desc = unsafe { (*expr.as_ptr()).borrow().expr.borrow() }; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Expression` does not implement `Borrow`, so calling `borrow` on `&Expression` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 113 - let expr_desc = unsafe { (*expr.as_ptr()).borrow().expr.borrow() }; [INFO] [stdout] 113 + let expr_desc = unsafe { (*expr.as_ptr()).expr.borrow() }; [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Expression`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/ast.rs:137:1 [INFO] [stdout] | [INFO] [stdout] 137 + #[derive(Clone)] [INFO] [stdout] 138 | pub struct Expression { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/type_check.rs:126:54 [INFO] [stdout] | [INFO] [stdout] 126 | let expr_desc = unsafe { (*expr.as_ptr()).borrow().expr.borrow() }; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Expression` does not implement `Borrow`, so calling `borrow` on `&Expression` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 126 - let expr_desc = unsafe { (*expr.as_ptr()).borrow().expr.borrow() }; [INFO] [stdout] 126 + let expr_desc = unsafe { (*expr.as_ptr()).expr.borrow() }; [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Expression`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/ast.rs:137:1 [INFO] [stdout] | [INFO] [stdout] 137 + #[derive(Clone)] [INFO] [stdout] 138 | pub struct Expression { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking TIP v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.27s [INFO] running `Command { std: "docker" "inspect" "b856979a81bdf0554ee06723c64e147f09d1e00262a9527484a6faf814bc1ee5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b856979a81bdf0554ee06723c64e147f09d1e00262a9527484a6faf814bc1ee5", kill_on_drop: false }` [INFO] [stdout] b856979a81bdf0554ee06723c64e147f09d1e00262a9527484a6faf814bc1ee5 [INFO] checking v4kst1z/TIP 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%2Fv4kst1z%2FTIP" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/v4kst1z/TIP 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/v4kst1z/TIP [INFO] finished tweaking git repo https://github.com/v4kst1z/TIP [INFO] tweaked toml for git repo https://github.com/v4kst1z/TIP written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 5 packages to latest compatible versions [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] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] bef5f8cffa43056a852434de71f0564d283cbcb53cfc4a8fe0348f8a506107c8 [INFO] running `Command { std: "docker" "start" "-a" "bef5f8cffa43056a852434de71f0564d283cbcb53cfc4a8fe0348f8a506107c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bef5f8cffa43056a852434de71f0564d283cbcb53cfc4a8fe0348f8a506107c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bef5f8cffa43056a852434de71f0564d283cbcb53cfc4a8fe0348f8a506107c8", kill_on_drop: false }` [INFO] [stdout] bef5f8cffa43056a852434de71f0564d283cbcb53cfc4a8fe0348f8a506107c8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 13b61e0eb25285f0c99c0a6940a5c22f15ccfa6a0c4595d22fd2dbdc0009beba [INFO] running `Command { std: "docker" "start" "-a" "13b61e0eb25285f0c99c0a6940a5c22f15ccfa6a0c4595d22fd2dbdc0009beba", kill_on_drop: false }` [INFO] [stderr] Checking lexer v0.1.0 (/opt/rustwide/workdir/lexer) [INFO] [stderr] Checking parser v0.1.0 (/opt/rustwide/workdir/parser) [INFO] [stderr] Checking type_analysis v0.1.0 (/opt/rustwide/workdir/type_analysis) [INFO] [stderr] Checking cfg v0.1.0 (/opt/rustwide/workdir/cfg) [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] --> type_analysis/src/constraint.rs:77:11 [INFO] [stdout] | [INFO] [stdout] 73 | mut constraints: Vec, [INFO] [stdout] | ------------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 77 | match expr.as_ref().borrow().expr.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] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:96:44 [INFO] [stdout] | [INFO] [stdout] 96 | a.clone(), constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` 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] 96 - a.clone(), constraints, env.borrow() [INFO] [stdout] 96 + a.clone(), constraints, env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:136:24 [INFO] [stdout] | [INFO] [stdout] 136 | env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 136 - env.borrow() [INFO] [stdout] 136 + env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:157:51 [INFO] [stdout] | [INFO] [stdout] 157 | expr.clone(), constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 157 - expr.clone(), constraints, env.borrow() [INFO] [stdout] 157 + expr.clone(), constraints, env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:188:20 [INFO] [stdout] | [INFO] [stdout] 188 | env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 188 - env.borrow() [INFO] [stdout] 188 + env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:204:20 [INFO] [stdout] | [INFO] [stdout] 204 | env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 204 - env.borrow() [INFO] [stdout] 204 + env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:209:20 [INFO] [stdout] | [INFO] [stdout] 209 | env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 209 - env.borrow() [INFO] [stdout] 209 + env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:247:43 [INFO] [stdout] | [INFO] [stdout] 247 | stmt, constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 247 - stmt, constraints, env.borrow() [INFO] [stdout] 247 + stmt, constraints, env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:258:89 [INFO] [stdout] | [INFO] [stdout] 258 | constraints = generate_type_constraints_from_stmt(stmt, constraints, env.borrow()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 258 - constraints = generate_type_constraints_from_stmt(stmt, constraints, env.borrow()); [INFO] [stdout] 258 + constraints = generate_type_constraints_from_stmt(stmt, constraints, env); [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:265:43 [INFO] [stdout] | [INFO] [stdout] 265 | stmt, constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 265 - stmt, constraints, env.borrow() [INFO] [stdout] 265 + stmt, constraints, env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:271:47 [INFO] [stdout] | [INFO] [stdout] 271 | stmt, constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 271 - stmt, constraints, env.borrow() [INFO] [stdout] 271 + stmt, constraints, env [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Symbols`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/symbol.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 + #[derive(Clone)] [INFO] [stdout] 7 | pub struct Symbols { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/type_check.rs:113:54 [INFO] [stdout] | [INFO] [stdout] 113 | let expr_desc = unsafe { (*expr.as_ptr()).borrow().expr.borrow() }; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Expression` does not implement `Borrow`, so calling `borrow` on `&Expression` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 113 - let expr_desc = unsafe { (*expr.as_ptr()).borrow().expr.borrow() }; [INFO] [stdout] 113 + let expr_desc = unsafe { (*expr.as_ptr()).expr.borrow() }; [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Expression`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/ast.rs:137:1 [INFO] [stdout] | [INFO] [stdout] 137 + #[derive(Clone)] [INFO] [stdout] 138 | pub struct Expression { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/type_check.rs:126:54 [INFO] [stdout] | [INFO] [stdout] 126 | let expr_desc = unsafe { (*expr.as_ptr()).borrow().expr.borrow() }; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Expression` does not implement `Borrow`, so calling `borrow` on `&Expression` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 126 - let expr_desc = unsafe { (*expr.as_ptr()).borrow().expr.borrow() }; [INFO] [stdout] 126 + let expr_desc = unsafe { (*expr.as_ptr()).expr.borrow() }; [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Expression`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/workdir/parser/src/ast.rs:137:1 [INFO] [stdout] | [INFO] [stdout] 137 + #[derive(Clone)] [INFO] [stdout] 138 | pub struct Expression { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `type_analysis` (lib) due to 2 previous errors; 12 warnings emitted [INFO] running `Command { std: "docker" "inspect" "13b61e0eb25285f0c99c0a6940a5c22f15ccfa6a0c4595d22fd2dbdc0009beba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "13b61e0eb25285f0c99c0a6940a5c22f15ccfa6a0c4595d22fd2dbdc0009beba", kill_on_drop: false }` [INFO] [stdout] 13b61e0eb25285f0c99c0a6940a5c22f15ccfa6a0c4595d22fd2dbdc0009beba