[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] testing gregouar/rust_fun against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgregouar%2Frust_fun" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-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-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gregouar/rust_fun on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "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" "+1.99.0-beta.8" "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]  Downloading crates ...
[INFO] [stderr]   Downloaded signal-hook-mio v0.2.3
[INFO] [stderr]   Downloaded windows-targets v0.52.5
[INFO] [stderr]   Downloaded redox_syscall v0.5.2
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.52.5
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.52.5
[INFO] [stderr]   Downloaded windows_i686_gnullvm v0.52.5
[INFO] [stderr]   Downloaded libc v0.2.155
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.52.5
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.52.5
[INFO] [stderr]   Downloaded windows_i686_gnu v0.52.5
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.52.5
[INFO] [stderr]   Downloaded windows_i686_msvc v0.52.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6d24a75fef5f1f14318949b6c47e00e3bd2f846a7b10c648b378e3e59325feae
[INFO] running `Command { std: "docker" "start" "6d24a75fef5f1f14318949b6c47e00e3bd2f846a7b10c648b378e3e59325feae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6d24a75fef5f1f14318949b6c47e00e3bd2f846a7b10c648b378e3e59325feae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6d24a75fef5f1f14318949b6c47e00e3bd2f846a7b10c648b378e3e59325feae" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6d24a75fef5f1f14318949b6c47e00e3bd2f846a7b10c648b378e3e59325feae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6d24a75fef5f1f14318949b6c47e00e3bd2f846a7b10c648b378e3e59325feae" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", 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]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling signal-hook-mio v0.2.3
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling 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]    Compiling 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: 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.24s
[INFO] running `Command { std: "docker" "inspect" "6d24a75fef5f1f14318949b6c47e00e3bd2f846a7b10c648b378e3e59325feae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6d24a75fef5f1f14318949b6c47e00e3bd2f846a7b10c648b378e3e59325feae" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", 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] [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] [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] [stderr]    Compiling game v0.1.0 (/opt/rustwide/workdir/game)
[INFO] [stderr]    Compiling 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: 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: 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 `test` profile [unoptimized + debuginfo] target(s) in 0.76s
[INFO] running `Command { std: "docker" "inspect" "6d24a75fef5f1f14318949b6c47e00e3bd2f846a7b10c648b378e3e59325feae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6d24a75fef5f1f14318949b6c47e00e3bd2f846a7b10c648b378e3e59325feae" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", 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] warning: irrefutable `if let` pattern
[INFO] [stderr]   --> engine/src/core/config.rs:35:12
[INFO] [stderr]    |
[INFO] [stderr] 35 |         if let Ok(section_name) = String::from_str(c.as_str()) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]    = help: consider replacing the `if let` with a `let`
[INFO] [stderr]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> engine/src/ui/renderable_text_ui.rs:21:25
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub fn options_iter(&self) -> std::slice::Iter<RenderableUiOption<'a>> {
[INFO] [stderr]    |                         ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub fn options_iter(&self) -> std::slice::Iter<'_, RenderableUiOption<'a>> {
[INFO] [stderr]    |                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> engine/src/ui/text_ui.rs:44:25
[INFO] [stderr]    |
[INFO] [stderr] 44 |     pub fn options_iter(&self) -> std::slice::Iter<UiOption<T>> {
[INFO] [stderr]    |                         ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 44 |     pub fn options_iter(&self) -> std::slice::Iter<'_, UiOption<T>> {
[INFO] [stderr]    |                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> engine/src/ui/text_ui.rs:61:31
[INFO] [stderr]    |
[INFO] [stderr] 61 |     pub fn renderable_text_ui(&self) -> RenderableTextUi {
[INFO] [stderr]    |                               ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                               |
[INFO] [stderr]    |                               the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 61 |     pub fn renderable_text_ui(&self) -> RenderableTextUi<'_> {
[INFO] [stderr]    |                                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `engine` (lib) generated 4 warnings (run `cargo fix --lib -p engine` to apply 3 suggestions)
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]   --> game/src/config.rs:22:50
[INFO] [stderr]    |
[INFO] [stderr] 22 |         GameConfigSettings::Graphics(setting) => ("graphics", match setting {}),
[INFO] [stderr]    |                                                  ^^^^^^^^^^^^^----------------^
[INFO] [stderr]    |                                                  |            |
[INFO] [stderr]    |                                                  |            any code following this expression is unreachable
[INFO] [stderr]    |                                                  unreachable expression
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]   --> game/src/config.rs:23:47
[INFO] [stderr]    |
[INFO] [stderr] 23 |         GameConfigSettings::Sound(setting) => ("sound", match setting {}),
[INFO] [stderr]    |                                               ^^^^^^^^^^----------------^
[INFO] [stderr]    |                                               |         |
[INFO] [stderr]    |                                               |         any code following this expression is unreachable
[INFO] [stderr]    |                                               unreachable expression
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `graphics_section`
[INFO] [stderr]   --> game/src/config.rs:37:13
[INFO] [stderr]    |
[INFO] [stderr] 37 |         let graphics_section = game_config.config.add_or_get_section("graphics");
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_graphics_section`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sound_section`
[INFO] [stderr]   --> game/src/config.rs:38:13
[INFO] [stderr]    |
[INFO] [stderr] 38 |         let sound_section = game_config.config.add_or_get_section("sound");
[INFO] [stderr]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sound_section`
[INFO] [stderr] 
[INFO] [stderr] warning: `game` (lib) generated 4 warnings (run `cargo fix --lib -p game` to apply 2 suggestions)
[INFO] [stderr] warning: `game` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: `engine` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engine-4a1e43aa229858e5)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test core::config::tests::test_parsing_config ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/game-2710de43c93997d7)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test config::tests::default_settings_parsing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 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/game-12f63c209fb1548c)
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests engine
[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] [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] [stderr]    Doc-tests game
[INFO] [stdout] 
[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] running `Command { std: "docker" "inspect" "6d24a75fef5f1f14318949b6c47e00e3bd2f846a7b10c648b378e3e59325feae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6d24a75fef5f1f14318949b6c47e00e3bd2f846a7b10c648b378e3e59325feae", kill_on_drop: false }`
[INFO] [stdout] 6d24a75fef5f1f14318949b6c47e00e3bd2f846a7b10c648b378e3e59325feae
