[INFO] cloning repository https://github.com/tperdue321/rust_ownership
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tperdue321/rust_ownership" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftperdue321%2Frust_ownership", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftperdue321%2Frust_ownership'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 66673718162c26f2488175f590ac5890d467a7e6
[INFO] checking tperdue321/rust_ownership against try#b4c55082edd8dec08ce8af276d7054d9c4db20c4 for pr-147984
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftperdue321%2Frust_ownership" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tperdue321/rust_ownership
[INFO] finished tweaking git repo https://github.com/tperdue321/rust_ownership
[INFO] tweaked toml for git repo https://github.com/tperdue321/rust_ownership written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tperdue321/rust_ownership on toolchain b4c55082edd8dec08ce8af276d7054d9c4db20c4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tperdue321/rust_ownership 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" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 148d3f637dfa883755b40107f4ade7566e1fb38e3914e0dbfe8462bc3f54aae9
[INFO] running `Command { std: "docker" "start" "-a" "148d3f637dfa883755b40107f4ade7566e1fb38e3914e0dbfe8462bc3f54aae9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "148d3f637dfa883755b40107f4ade7566e1fb38e3914e0dbfe8462bc3f54aae9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "148d3f637dfa883755b40107f4ade7566e1fb38e3914e0dbfe8462bc3f54aae9", kill_on_drop: false }`
[INFO] [stdout] 148d3f637dfa883755b40107f4ade7566e1fb38e3914e0dbfe8462bc3f54aae9
[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" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b4c55082edd8dec08ce8af276d7054d9c4db20c4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 248c9933779dc44dd066206e3d2a09401765e571a7b59c417bf0007d06d0427b
[INFO] running `Command { std: "docker" "start" "-a" "248c9933779dc44dd066206e3d2a09401765e571a7b59c417bf0007d06d0427b", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Checking ownership v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut s = String::from("hello s");
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string`
[INFO] [stdout]   --> src/main.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let string = "hello"; // string is valid from here forward
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]   --> src/main.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let s2 = s1;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]   --> src/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let s1 = gives_ownership();         // gives_ownership moves its return
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]   --> src/main.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let r1 = &mut s2;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r3`
[INFO] [stdout]    --> src/main.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let r3 = &mut s3;
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_r3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r4`
[INFO] [stdout]    --> src/main.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let r4 = &mut s3;
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]    --> src/main.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let r1 = &s; // immutable ref
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r2`
[INFO] [stdout]    --> src/main.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let r2 = &s; // second because as many refs can read the same data safely
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/main.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let slice = &s[0..2];   // same
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/main.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let slice = &s[..2];    // same
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/main.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let slice = &s[2..len]; // same
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/main.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |     let slice = &s[2..];    // same
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/main.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let slice = &s[0..len]; // same
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/main.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let slice = &s[..];     // same
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/main.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let slice = &a[0..2];
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut s = String::from("hello s");
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string`
[INFO] [stdout]   --> src/main.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let string = "hello"; // string is valid from here forward
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]   --> src/main.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let s2 = s1;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]   --> src/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let s1 = gives_ownership();         // gives_ownership moves its return
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]   --> src/main.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let r1 = &mut s2;
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r3`
[INFO] [stdout]    --> src/main.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let r3 = &mut s3;
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_r3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r4`
[INFO] [stdout]    --> src/main.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let r4 = &mut s3;
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]    --> src/main.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let r1 = &s; // immutable ref
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r2`
[INFO] [stdout]    --> src/main.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let r2 = &s; // second because as many refs can read the same data safely
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/main.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let slice = &s[0..2];   // same
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/main.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let slice = &s[..2];    // same
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/main.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let slice = &s[2..len]; // same
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/main.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |     let slice = &s[2..];    // same
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/main.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let slice = &s[0..len]; // same
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/main.rs:149:9
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let slice = &s[..];     // same
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]    --> src/main.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let slice = &a[0..2];
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] running `Command { std: "docker" "inspect" "248c9933779dc44dd066206e3d2a09401765e571a7b59c417bf0007d06d0427b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "248c9933779dc44dd066206e3d2a09401765e571a7b59c417bf0007d06d0427b", kill_on_drop: false }`
[INFO] [stdout] 248c9933779dc44dd066206e3d2a09401765e571a7b59c417bf0007d06d0427b
