[INFO] cloning repository https://github.com/Ikatyan/Soukoban-cli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Ikatyan/Soukoban-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIkatyan%2FSoukoban-cli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIkatyan%2FSoukoban-cli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4698410f207386b6a091a1f6beacee12636315ee
[INFO] checking Ikatyan/Soukoban-cli/4698410f207386b6a091a1f6beacee12636315ee against master#fd2c811d25ad5773fbd2463e058bf4edf4d44eb2 for pr-130443
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIkatyan%2FSoukoban-cli" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Ikatyan/Soukoban-cli on toolchain fd2c811d25ad5773fbd2463e058bf4edf4d44eb2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Ikatyan/Soukoban-cli
[INFO] finished tweaking git repo https://github.com/Ikatyan/Soukoban-cli
[INFO] tweaked toml for git repo https://github.com/Ikatyan/Soukoban-cli written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Ikatyan/Soukoban-cli 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" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 08b01840037e98452db614642495329f3fb1ac451252dcb7b9b3d1cd7bb2e8a8
[INFO] running `Command { std: "docker" "start" "-a" "08b01840037e98452db614642495329f3fb1ac451252dcb7b9b3d1cd7bb2e8a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "08b01840037e98452db614642495329f3fb1ac451252dcb7b9b3d1cd7bb2e8a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "08b01840037e98452db614642495329f3fb1ac451252dcb7b9b3d1cd7bb2e8a8", kill_on_drop: false }`
[INFO] [stdout] 08b01840037e98452db614642495329f3fb1ac451252dcb7b9b3d1cd7bb2e8a8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+fd2c811d25ad5773fbd2463e058bf4edf4d44eb2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 288eb9a9d42fec12b1e057ca2c0f0e262a138d72201d70c8f37ef8f28c02b6b9
[INFO] running `Command { std: "docker" "start" "-a" "288eb9a9d42fec12b1e057ca2c0f0e262a138d72201d70c8f37ef8f28c02b6b9", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking lazy_static v1.0.2
[INFO] [stderr]     Checking SokoBan v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/movable.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |             Some(mut c) => {
[INFO] [stdout]    |                  ----^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow data in an `Rc` as mutable
[INFO] [stdout]   --> src/movable.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 if !c.move_to(vec_x, vec_y) {
[INFO] [stdout]    |                     ^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Rc<Crate>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/movable.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |             Some(mut c) => {
[INFO] [stdout]    |                  ----^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow data in an `Rc` as mutable
[INFO] [stdout]   --> src/movable.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 if !c.move_to(vec_x, vec_y) {
[INFO] [stdout]    |                     ^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Rc<Crate>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of index of `Vec<StageObject>`
[INFO] [stdout]   --> src/stage.rs:39:23
[INFO] [stdout]    |
[INFO] [stdout] 39 |             return Ok(self.stage_objects[index as usize]);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because value has type `StageObject`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] note: if `StageObject` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/stage.rs:65:1
[INFO] [stdout]    |
[INFO] [stdout] 39 |             return Ok(self.stage_objects[index as usize]);
[INFO] [stdout]    |                       ---------------------------------- you could clone this value
[INFO] [stdout] ...
[INFO] [stdout] 65 | pub enum StageObject {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of index of `Vec<StageObject>`
[INFO] [stdout]   --> src/stage.rs:39:23
[INFO] [stdout]    |
[INFO] [stdout] 39 |             return Ok(self.stage_objects[index as usize]);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because value has type `StageObject`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] note: if `StageObject` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/stage.rs:65:1
[INFO] [stdout]    |
[INFO] [stdout] 39 |             return Ok(self.stage_objects[index as usize]);
[INFO] [stdout]    |                       ---------------------------------- you could clone this value
[INFO] [stdout] ...
[INFO] [stdout] 65 | pub enum StageObject {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut stdin = std::io::stdin();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow data in an `Rc` as mutable
[INFO] [stdout]   --> src/main.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |         "w" => { return player.move_to(1, 2); }
[INFO] [stdout]    |                         ^^^^^^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Rc<Player>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow data in an `Rc` as mutable
[INFO] [stdout]   --> src/main.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |         "a" => { return player.move_to(1, 3); }
[INFO] [stdout]    |                         ^^^^^^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Rc<Player>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow data in an `Rc` as mutable
[INFO] [stdout]   --> src/main.rs:21:25
[INFO] [stdout]    |
[INFO] [stdout] 21 |         "s" => { return player.move_to(1, 4); }
[INFO] [stdout]    |                         ^^^^^^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Rc<Player>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut stdin = std::io::stdin();
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow data in an `Rc` as mutable
[INFO] [stdout]   --> src/main.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |         "d" => { return player.move_to(1, 5); }
[INFO] [stdout]    |                         ^^^^^^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Rc<Player>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/main.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut input = get_input(&mut player_p);
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut stage = Rc::new(Stage::new(8, 8,
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow data in an `Rc` as mutable
[INFO] [stdout]   --> src/main.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |         "w" => { return player.move_to(1, 2); }
[INFO] [stdout]    |                         ^^^^^^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Rc<Player>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut player = Player::new(1, 1, stage.clone());
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow data in an `Rc` as mutable
[INFO] [stdout]   --> src/main.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |         "a" => { return player.move_to(1, 3); }
[INFO] [stdout]    |                         ^^^^^^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Rc<Player>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow data in an `Rc` as mutable
[INFO] [stdout]   --> src/main.rs:21:25
[INFO] [stdout]    |
[INFO] [stdout] 21 |         "s" => { return player.move_to(1, 4); }
[INFO] [stdout]    |                         ^^^^^^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Rc<Player>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut input = get_input(&mut player_p);
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow data in an `Rc` as mutable
[INFO] [stdout]   --> src/main.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |         "d" => { return player.move_to(1, 5); }
[INFO] [stdout]    |                         ^^^^^^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Rc<Player>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow data in an `Rc` as mutable
[INFO] [stdout]   --> src/main.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     stage.add_player(player_p.clone());
[INFO] [stdout]    |     ^^^^^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Rc<Stage>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/main.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut input = get_input(&mut player_p);
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut stage = Rc::new(Stage::new(8, 8,
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut player = Player::new(1, 1, stage.clone());
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut input = get_input(&mut player_p);
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow data in an `Rc` as mutable
[INFO] [stdout]   --> src/main.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     stage.add_player(player_p.clone());
[INFO] [stdout]    |     ^^^^^ cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout]    = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Rc<Stage>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0507, E0596.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0507`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0507, E0596.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0507`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `SokoBan` (bin "SokoBan") due to 8 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `SokoBan` (bin "SokoBan" test) due to 8 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "288eb9a9d42fec12b1e057ca2c0f0e262a138d72201d70c8f37ef8f28c02b6b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "288eb9a9d42fec12b1e057ca2c0f0e262a138d72201d70c8f37ef8f28c02b6b9", kill_on_drop: false }`
[INFO] [stdout] 288eb9a9d42fec12b1e057ca2c0f0e262a138d72201d70c8f37ef8f28c02b6b9
