[INFO] cloning repository https://github.com/gregouar/rust_fun
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gregouar/rust_fun" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgregouar%2Frust_fun", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgregouar%2Frust_fun'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 60823a5da812c9a54a07c1d06eeb54f3182db7fe
[INFO] checking gregouar/rust_fun against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgregouar%2Frust_fun" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/gregouar/rust_fun
[INFO] finished tweaking git repo https://github.com/gregouar/rust_fun
[INFO] tweaked toml for git repo https://github.com/gregouar/rust_fun written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gregouar/rust_fun on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gregouar/rust_fun 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded crossterm v0.27.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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6a4938f456724d2e3093aeb7de88e0ccda2a072f798f2c84e3864cac98f1633f
[INFO] running `Command { std: "docker" "start" "-a" "6a4938f456724d2e3093aeb7de88e0ccda2a072f798f2c84e3864cac98f1633f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6a4938f456724d2e3093aeb7de88e0ccda2a072f798f2c84e3864cac98f1633f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a4938f456724d2e3093aeb7de88e0ccda2a072f798f2c84e3864cac98f1633f", kill_on_drop: false }`
[INFO] [stdout] 6a4938f456724d2e3093aeb7de88e0ccda2a072f798f2c84e3864cac98f1633f
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 67c96967556ba96a455d022336bdc6ea76f9e1a6c27188914ad99961624ec53e
[INFO] running `Command { std: "docker" "start" "-a" "67c96967556ba96a455d022336bdc6ea76f9e1a6c27188914ad99961624ec53e", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking signal-hook v0.3.17
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking engine v0.1.0 (/opt/rustwide/workdir/engine)
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> engine/src/core/config.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |         if let Ok(section_name) = String::from_str(c.as_str()) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> engine/src/ui/renderable_text_ui.rs:21:25
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn options_iter(&self) -> std::slice::Iter<RenderableUiOption<'a>> {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn options_iter(&self) -> std::slice::Iter<'_, RenderableUiOption<'a>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> engine/src/ui/text_ui.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn options_iter(&self) -> std::slice::Iter<UiOption<T>> {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn options_iter(&self) -> std::slice::Iter<'_, UiOption<T>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> engine/src/ui/text_ui.rs:61:31
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn renderable_text_ui(&self) -> RenderableTextUi {
[INFO] [stdout]    |                               ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn renderable_text_ui(&self) -> RenderableTextUi<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking game v0.1.0 (/opt/rustwide/workdir/game)
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> game/src/config.rs:22:50
[INFO] [stdout]    |
[INFO] [stdout] 22 |         GameConfigSettings::Graphics(setting) => ("graphics", match setting {}),
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^----------------^
[INFO] [stdout]    |                                                  |            |
[INFO] [stdout]    |                                                  |            any code following this expression is unreachable
[INFO] [stdout]    |                                                  unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> game/src/config.rs:23:47
[INFO] [stdout]    |
[INFO] [stdout] 23 |         GameConfigSettings::Sound(setting) => ("sound", match setting {}),
[INFO] [stdout]    |                                               ^^^^^^^^^^----------------^
[INFO] [stdout]    |                                               |         |
[INFO] [stdout]    |                                               |         any code following this expression is unreachable
[INFO] [stdout]    |                                               unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> game/src/config.rs:22:50
[INFO] [stdout]    |
[INFO] [stdout] 22 |         GameConfigSettings::Graphics(setting) => ("graphics", match setting {}),
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^----------------^
[INFO] [stdout]    |                                                  |            |
[INFO] [stdout]    |                                                  |            any code following this expression is unreachable
[INFO] [stdout]    |                                                  unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> game/src/config.rs:23:47
[INFO] [stdout]    |
[INFO] [stdout] 23 |         GameConfigSettings::Sound(setting) => ("sound", match setting {}),
[INFO] [stdout]    |                                               ^^^^^^^^^^----------------^
[INFO] [stdout]    |                                               |         |
[INFO] [stdout]    |                                               |         any code following this expression is unreachable
[INFO] [stdout]    |                                               unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graphics_section`
[INFO] [stdout]   --> game/src/config.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let graphics_section = game_config.config.add_or_get_section("graphics");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_graphics_section`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sound_section`
[INFO] [stdout]   --> game/src/config.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let sound_section = game_config.config.add_or_get_section("sound");
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sound_section`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graphics_section`
[INFO] [stdout]   --> game/src/config.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let graphics_section = game_config.config.add_or_get_section("graphics");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_graphics_section`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sound_section`
[INFO] [stdout]   --> game/src/config.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let sound_section = game_config.config.add_or_get_section("sound");
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sound_section`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> engine/src/core/config.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |         if let Ok(section_name) = String::from_str(c.as_str()) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> engine/src/ui/renderable_text_ui.rs:21:25
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn options_iter(&self) -> std::slice::Iter<RenderableUiOption<'a>> {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn options_iter(&self) -> std::slice::Iter<'_, RenderableUiOption<'a>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> engine/src/ui/text_ui.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn options_iter(&self) -> std::slice::Iter<UiOption<T>> {
[INFO] [stdout]    |                         ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn options_iter(&self) -> std::slice::Iter<'_, UiOption<T>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> engine/src/ui/text_ui.rs:61:31
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn renderable_text_ui(&self) -> RenderableTextUi {
[INFO] [stdout]    |                               ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn renderable_text_ui(&self) -> RenderableTextUi<'_> {
[INFO] [stdout]    |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.47s
[INFO] running `Command { std: "docker" "inspect" "67c96967556ba96a455d022336bdc6ea76f9e1a6c27188914ad99961624ec53e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67c96967556ba96a455d022336bdc6ea76f9e1a6c27188914ad99961624ec53e", kill_on_drop: false }`
[INFO] [stdout] 67c96967556ba96a455d022336bdc6ea76f9e1a6c27188914ad99961624ec53e
