[INFO] cloning repository https://github.com/barnex/rusty-mazes
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/barnex/rusty-mazes" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbarnex%2Frusty-mazes", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbarnex%2Frusty-mazes'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 80934632871856c144be0d450053eef541ae9c2c
[INFO] testing barnex/rusty-mazes against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbarnex%2Frusty-mazes" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/barnex/rusty-mazes on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/barnex/rusty-mazes
[INFO] finished tweaking git repo https://github.com/barnex/rusty-mazes
[INFO] tweaked toml for git repo https://github.com/barnex/rusty-mazes written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/barnex/rusty-mazes 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" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.path
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sdl2 v0.33.0
[INFO] [stderr]   Downloaded sdl2-sys v0.33.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8c30b796a73e74ad09be32c0b82fc9f77e1437b3eca306ee88ab6dd574bc2ba9
[INFO] running `Command { std: "docker" "start" "-a" "8c30b796a73e74ad09be32c0b82fc9f77e1437b3eca306ee88ab6dd574bc2ba9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8c30b796a73e74ad09be32c0b82fc9f77e1437b3eca306ee88ab6dd574bc2ba9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c30b796a73e74ad09be32c0b82fc9f77e1437b3eca306ee88ab6dd574bc2ba9", kill_on_drop: false }`
[INFO] [stdout] 8c30b796a73e74ad09be32c0b82fc9f77e1437b3eca306ee88ab6dd574bc2ba9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 966660d509fed8db6ff1b9cf32ded4449541fa243d96e772750d974c2419f8f2
[INFO] running `Command { std: "docker" "start" "-a" "966660d509fed8db6ff1b9cf32ded4449541fa243d96e772750d974c2419f8f2", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.path
[INFO] [stderr]    Compiling proc-macro2 v1.0.9
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.16
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling serde v1.0.104
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling sdl2-sys v0.33.0
[INFO] [stderr]    Compiling sdl2 v0.33.0
[INFO] [stderr]    Compiling itoa v0.4.5
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling serde_derive v1.0.104
[INFO] [stderr]    Compiling serde_json v1.0.48
[INFO] [stderr]    Compiling game v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/gamestate.rs:357:44
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub fn player_move_intent(keys: KeyStates, pos: Pt, g: &Gamestate) -> Dir {
[INFO] [stdout]     |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/palette.rs:30:50
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn button_click(&self, pos: Pt, left: bool, right: bool) -> Option<usize> {
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/map.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Map`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/map.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Map`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/pt.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 51 |             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 51 -             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stdout] 51 +             _ => panic!("Pt index out of bounds: {}", i),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.47s
[INFO] running `Command { std: "docker" "inspect" "966660d509fed8db6ff1b9cf32ded4449541fa243d96e772750d974c2419f8f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "966660d509fed8db6ff1b9cf32ded4449541fa243d96e772750d974c2419f8f2", kill_on_drop: false }`
[INFO] [stdout] 966660d509fed8db6ff1b9cf32ded4449541fa243d96e772750d974c2419f8f2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 653150be152c996290978897785ca341e7b488811b011faf2aa70b0c615c7dbf
[INFO] running `Command { std: "docker" "start" "-a" "653150be152c996290978897785ca341e7b488811b011faf2aa70b0c615c7dbf", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.path
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/gamestate.rs:357:44
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub fn player_move_intent(keys: KeyStates, pos: Pt, g: &Gamestate) -> Dir {
[INFO] [stdout]     |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/palette.rs:30:50
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn button_click(&self, pos: Pt, left: bool, right: bool) -> Option<usize> {
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/map.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Map`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/map.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Map`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/pt.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 51 |             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 51 -             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stdout] 51 +             _ => panic!("Pt index out of bounds: {}", i),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling game v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/gamestate.rs:357:44
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub fn player_move_intent(keys: KeyStates, pos: Pt, g: &Gamestate) -> Dir {
[INFO] [stdout]     |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/palette.rs:30:50
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn button_click(&self, pos: Pt, left: bool, right: bool) -> Option<usize> {
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/map.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Map`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/map.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Map`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/pt.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 51 |             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 51 -             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stdout] 51 +             _ => panic!("Pt index out of bounds: {}", i),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] running `Command { std: "docker" "inspect" "653150be152c996290978897785ca341e7b488811b011faf2aa70b0c615c7dbf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "653150be152c996290978897785ca341e7b488811b011faf2aa70b0c615c7dbf", kill_on_drop: false }`
[INFO] [stdout] 653150be152c996290978897785ca341e7b488811b011faf2aa70b0c615c7dbf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b6752752addacd87912ed8baf83010bfd046798fcb980fb26acc7be918c7c024
[INFO] running `Command { std: "docker" "start" "-a" "b6752752addacd87912ed8baf83010bfd046798fcb980fb26acc7be918c7c024", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.path
[INFO] [stderr] warning: unused variable: `pos`
[INFO] [stderr]    --> src/gamestate.rs:357:44
[INFO] [stderr]     |
[INFO] [stderr] 357 | pub fn player_move_intent(keys: KeyStates, pos: Pt, g: &Gamestate) -> Dir {
[INFO] [stderr]     |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]   --> src/palette.rs:30:50
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub fn button_click(&self, pos: Pt, left: bool, right: bool) -> Option<usize> {
[INFO] [stderr]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> src/map.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]   |          ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Map`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> src/map.rs:8:21
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]   |                     ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Map`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/pt.rs:51:16
[INFO] [stderr]    |
[INFO] [stderr] 51 |             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]    |
[INFO] [stderr] 51 -             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stderr] 51 +             _ => panic!("Pt index out of bounds: {}", i),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `game` (lib) generated 5 warnings (run `cargo fix --lib -p game` to apply 1 suggestion)
[INFO] [stderr] warning: `game` (lib test) generated 5 warnings (5 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/game-4d86a25a7b1f5826)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/main-71682d77c03c6a66)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests game
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/rect.rs - rect::Rect::overlaps (line 51) ... FAILED
[INFO] [stdout] test src/rect.rs - rect::Rect::inside (line 35) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/rect.rs - rect::Rect::overlaps (line 51) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 7  | assert!(r.overlaps(Rect::new(Pt(0, 0), 1, 1)));
[INFO] [stdout]    |           -------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 7  | assert!(r.overlaps(&Rect::new(Pt(0, 0), 1, 1)));
[INFO] [stdout]    |                    +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:56:20
[INFO] [stdout]    |
[INFO] [stdout] 8  | assert!(r.overlaps(Rect::new(Pt(0, 0), 10, 10)));
[INFO] [stdout]    |           -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 8  | assert!(r.overlaps(&Rect::new(Pt(0, 0), 10, 10)));
[INFO] [stdout]    |                    +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 9  | assert!(r.overlaps(Rect::new(Pt(0, 0), 20, 20)));
[INFO] [stdout]    |           -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 9  | assert!(r.overlaps(&Rect::new(Pt(0, 0), 20, 20)));
[INFO] [stdout]    |                    +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:58:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | assert!(r.overlaps(Rect::new(Pt(1, 1), 1, 1)));
[INFO] [stdout]    |           -------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 10 | assert!(r.overlaps(&Rect::new(Pt(1, 1), 1, 1)));
[INFO] [stdout]    |                    +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:59:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | assert!(r.overlaps(Rect::new(Pt(1, 1), 20, 20)));
[INFO] [stdout]    |           -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 11 | assert!(r.overlaps(&Rect::new(Pt(1, 1), 20, 20)));
[INFO] [stdout]    |                    +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:60:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | assert!(r.overlaps(Rect::new(Pt(9, 9), 20, 20)));
[INFO] [stdout]    |           -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 12 | assert!(r.overlaps(&Rect::new(Pt(9, 9), 20, 20)));
[INFO] [stdout]    |                    +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | assert!(!r.overlaps(Rect::new(Pt(9, 10), 20, 20)));
[INFO] [stdout]    |            -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 13 | assert!(!r.overlaps(&Rect::new(Pt(9, 10), 20, 20)));
[INFO] [stdout]    |                     +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | assert!(!r.overlaps(Rect::new(Pt(10, 9), 20, 20)));
[INFO] [stdout]    |            -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 14 | assert!(!r.overlaps(&Rect::new(Pt(10, 9), 20, 20)));
[INFO] [stdout]    |                     +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | assert!(!r.overlaps(Rect::new(Pt(10, 10), 20, 20)));
[INFO] [stdout]    |            -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 15 | assert!(!r.overlaps(&Rect::new(Pt(10, 10), 20, 20)));
[INFO] [stdout]    |                     +
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/rect.rs - rect::Rect::overlaps (line 51)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "b6752752addacd87912ed8baf83010bfd046798fcb980fb26acc7be918c7c024", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b6752752addacd87912ed8baf83010bfd046798fcb980fb26acc7be918c7c024", kill_on_drop: false }`
[INFO] [stdout] b6752752addacd87912ed8baf83010bfd046798fcb980fb26acc7be918c7c024
[INFO] testing barnex/rusty-mazes against try#b642703cf9526da1e72c0b6755753b939a9c6b6d for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbarnex%2Frusty-mazes" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/barnex/rusty-mazes on toolchain b642703cf9526da1e72c0b6755753b939a9c6b6d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/barnex/rusty-mazes
[INFO] finished tweaking git repo https://github.com/barnex/rusty-mazes
[INFO] tweaked toml for git repo https://github.com/barnex/rusty-mazes written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/barnex/rusty-mazes 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" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.path
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ec9104a89c788e4d407f51c90b0895c7d534990dd928747e01448cde15c005d2
[INFO] running `Command { std: "docker" "start" "-a" "ec9104a89c788e4d407f51c90b0895c7d534990dd928747e01448cde15c005d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ec9104a89c788e4d407f51c90b0895c7d534990dd928747e01448cde15c005d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec9104a89c788e4d407f51c90b0895c7d534990dd928747e01448cde15c005d2", kill_on_drop: false }`
[INFO] [stdout] ec9104a89c788e4d407f51c90b0895c7d534990dd928747e01448cde15c005d2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f9e64cfba8dc1f18aea539fc2b17503b6178f5b70dd461b067a8088277f7aa58
[INFO] running `Command { std: "docker" "start" "-a" "f9e64cfba8dc1f18aea539fc2b17503b6178f5b70dd461b067a8088277f7aa58", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.path
[INFO] [stderr]    Compiling proc-macro2 v1.0.9
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling syn v1.0.16
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling serde v1.0.104
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]    Compiling sdl2-sys v0.33.0
[INFO] [stderr]    Compiling sdl2 v0.33.0
[INFO] [stderr]    Compiling itoa v0.4.5
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling serde_derive v1.0.104
[INFO] [stderr]    Compiling serde_json v1.0.48
[INFO] [stderr]    Compiling game v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/gamestate.rs:357:44
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub fn player_move_intent(keys: KeyStates, pos: Pt, g: &Gamestate) -> Dir {
[INFO] [stdout]     |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/palette.rs:30:50
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn button_click(&self, pos: Pt, left: bool, right: bool) -> Option<usize> {
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/map.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Map`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/map.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Map`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/pt.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 51 |             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 51 -             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stdout] 51 +             _ => panic!("Pt index out of bounds: {}", i),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.49s
[INFO] running `Command { std: "docker" "inspect" "f9e64cfba8dc1f18aea539fc2b17503b6178f5b70dd461b067a8088277f7aa58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9e64cfba8dc1f18aea539fc2b17503b6178f5b70dd461b067a8088277f7aa58", kill_on_drop: false }`
[INFO] [stdout] f9e64cfba8dc1f18aea539fc2b17503b6178f5b70dd461b067a8088277f7aa58
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fad0b61f7a6e1dbf2c10a8ec2f0e7059a35848c2c5470b461a44f4c1ffdb1bd3
[INFO] running `Command { std: "docker" "start" "-a" "fad0b61f7a6e1dbf2c10a8ec2f0e7059a35848c2c5470b461a44f4c1ffdb1bd3", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.path
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/gamestate.rs:357:44
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub fn player_move_intent(keys: KeyStates, pos: Pt, g: &Gamestate) -> Dir {
[INFO] [stdout]     |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/palette.rs:30:50
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn button_click(&self, pos: Pt, left: bool, right: bool) -> Option<usize> {
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/map.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Map`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/map.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Map`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling game v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/pt.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 51 |             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 51 -             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stdout] 51 +             _ => panic!("Pt index out of bounds: {}", i),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/gamestate.rs:357:44
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub fn player_move_intent(keys: KeyStates, pos: Pt, g: &Gamestate) -> Dir {
[INFO] [stdout]     |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/palette.rs:30:50
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn button_click(&self, pos: Pt, left: bool, right: bool) -> Option<usize> {
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/map.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Map`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/map.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Map`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/pt.rs:51:16
[INFO] [stdout]    |
[INFO] [stdout] 51 |             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 51 -             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stdout] 51 +             _ => panic!("Pt index out of bounds: {}", i),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] running `Command { std: "docker" "inspect" "fad0b61f7a6e1dbf2c10a8ec2f0e7059a35848c2c5470b461a44f4c1ffdb1bd3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fad0b61f7a6e1dbf2c10a8ec2f0e7059a35848c2c5470b461a44f4c1ffdb1bd3", kill_on_drop: false }`
[INFO] [stdout] fad0b61f7a6e1dbf2c10a8ec2f0e7059a35848c2c5470b461a44f4c1ffdb1bd3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 028fb3b457f7c03c4c15f53c8747900bcd953f756df1967925b1826132ce188f
[INFO] running `Command { std: "docker" "start" "-a" "028fb3b457f7c03c4c15f53c8747900bcd953f756df1967925b1826132ce188f", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: package.path
[INFO] [stderr] warning: unused variable: `pos`
[INFO] [stderr]    --> src/gamestate.rs:357:44
[INFO] [stderr]     |
[INFO] [stderr] 357 | pub fn player_move_intent(keys: KeyStates, pos: Pt, g: &Gamestate) -> Dir {
[INFO] [stderr]     |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `right`
[INFO] [stderr]   --> src/palette.rs:30:50
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub fn button_click(&self, pos: Pt, left: bool, right: bool) -> Option<usize> {
[INFO] [stderr]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> src/map.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]   |          ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Map`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]  --> src/map.rs:8:21
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]   |                     ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Map`
[INFO] [stderr]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> src/pt.rs:51:16
[INFO] [stderr]    |
[INFO] [stderr] 51 |             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]    |
[INFO] [stderr] 51 -             _ => panic!(format!("Pt index out of bounds: {}", i)),
[INFO] [stderr] 51 +             _ => panic!("Pt index out of bounds: {}", i),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `game` (lib) generated 5 warnings (run `cargo fix --lib -p game` to apply 1 suggestion)
[INFO] [stderr] warning: `game` (lib test) generated 5 warnings (5 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/game-4d86a25a7b1f5826)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/main-71682d77c03c6a66)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests game
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/rect.rs - rect::Rect::overlaps (line 51) ... FAILED
[INFO] [stdout] test src/rect.rs - rect::Rect::inside (line 35) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/rect.rs - rect::Rect::overlaps (line 51) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 7  | assert!(r.overlaps(Rect::new(Pt(0, 0), 1, 1)));
[INFO] [stdout]    |           -------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 7  | assert!(r.overlaps(&Rect::new(Pt(0, 0), 1, 1)));
[INFO] [stdout]    |                    +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:56:20
[INFO] [stdout]    |
[INFO] [stdout] 8  | assert!(r.overlaps(Rect::new(Pt(0, 0), 10, 10)));
[INFO] [stdout]    |           -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 8  | assert!(r.overlaps(&Rect::new(Pt(0, 0), 10, 10)));
[INFO] [stdout]    |                    +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 9  | assert!(r.overlaps(Rect::new(Pt(0, 0), 20, 20)));
[INFO] [stdout]    |           -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 9  | assert!(r.overlaps(&Rect::new(Pt(0, 0), 20, 20)));
[INFO] [stdout]    |                    +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:58:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | assert!(r.overlaps(Rect::new(Pt(1, 1), 1, 1)));
[INFO] [stdout]    |           -------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 10 | assert!(r.overlaps(&Rect::new(Pt(1, 1), 1, 1)));
[INFO] [stdout]    |                    +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:59:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | assert!(r.overlaps(Rect::new(Pt(1, 1), 20, 20)));
[INFO] [stdout]    |           -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 11 | assert!(r.overlaps(&Rect::new(Pt(1, 1), 20, 20)));
[INFO] [stdout]    |                    +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:60:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | assert!(r.overlaps(Rect::new(Pt(9, 9), 20, 20)));
[INFO] [stdout]    |           -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |           |
[INFO] [stdout]    |           arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 12 | assert!(r.overlaps(&Rect::new(Pt(9, 9), 20, 20)));
[INFO] [stdout]    |                    +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 13 | assert!(!r.overlaps(Rect::new(Pt(9, 10), 20, 20)));
[INFO] [stdout]    |            -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 13 | assert!(!r.overlaps(&Rect::new(Pt(9, 10), 20, 20)));
[INFO] [stdout]    |                     +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | assert!(!r.overlaps(Rect::new(Pt(10, 9), 20, 20)));
[INFO] [stdout]    |            -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 14 | assert!(!r.overlaps(&Rect::new(Pt(10, 9), 20, 20)));
[INFO] [stdout]    |                     +
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/rect.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | assert!(!r.overlaps(Rect::new(Pt(10, 10), 20, 20)));
[INFO] [stdout]    |            -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Rect`, found `Rect`
[INFO] [stdout]    |            |
[INFO] [stdout]    |            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/rect.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn overlaps(self, b: &Rect) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]    |
[INFO] [stdout] 15 | assert!(!r.overlaps(&Rect::new(Pt(10, 10), 20, 20)));
[INFO] [stdout]    |                     +
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/rect.rs - rect::Rect::overlaps (line 51)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "028fb3b457f7c03c4c15f53c8747900bcd953f756df1967925b1826132ce188f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "028fb3b457f7c03c4c15f53c8747900bcd953f756df1967925b1826132ce188f", kill_on_drop: false }`
[INFO] [stdout] 028fb3b457f7c03c4c15f53c8747900bcd953f756df1967925b1826132ce188f
