[INFO] cloning repository https://github.com/kozabrada123/termidle
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kozabrada123/termidle" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkozabrada123%2Ftermidle", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkozabrada123%2Ftermidle'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 197fab3b568c88f487964fc6d87c369dec7eedf2
[INFO] testing kozabrada123/termidle against beta-2025-09-21 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkozabrada123%2Ftermidle" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kozabrada123/termidle
[INFO] finished tweaking git repo https://github.com/kozabrada123/termidle
[INFO] tweaked toml for git repo https://github.com/kozabrada123/termidle written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kozabrada123/termidle on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kozabrada123/termidle 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] testing kozabrada123/termidle against beta-2025-09-21 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkozabrada123%2Ftermidle" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kozabrada123/termidle
[INFO] finished tweaking git repo https://github.com/kozabrada123/termidle
[INFO] tweaked toml for git repo https://github.com/kozabrada123/termidle written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kozabrada123/termidle on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kozabrada123/termidle 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cassowary v0.3.0
[INFO] [stderr]   Downloaded serde_derive v1.0.144
[INFO] [stderr]   Downloaded lock_api v0.4.8
[INFO] [stderr]   Downloaded crossterm v0.25.0
[INFO] [stderr]   Downloaded tui v0.19.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 53973bcfdb8bde7ae7ce517229c5533643f66decbdcb155a3abe174678a7e549
[INFO] running `Command { std: "docker" "start" "-a" "53973bcfdb8bde7ae7ce517229c5533643f66decbdcb155a3abe174678a7e549", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "53973bcfdb8bde7ae7ce517229c5533643f66decbdcb155a3abe174678a7e549", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53973bcfdb8bde7ae7ce517229c5533643f66decbdcb155a3abe174678a7e549", kill_on_drop: false }`
[INFO] [stdout] 53973bcfdb8bde7ae7ce517229c5533643f66decbdcb155a3abe174678a7e549
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 35a83d433d48f6ed4cc82d22c6dc1747094eec3be2d831d44207144b47b31f98
[INFO] running `Command { std: "docker" "start" "-a" "35a83d433d48f6ed4cc82d22c6dc1747094eec3be2d831d44207144b47b31f98", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.132
[INFO] [stderr]    Compiling proc-macro2 v1.0.43
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling unicode-ident v1.0.3
[INFO] [stderr]    Compiling signal-hook v0.3.14
[INFO] [stderr]    Compiling syn v1.0.99
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]    Compiling smallvec v1.9.0
[INFO] [stderr]    Compiling serde_derive v1.0.144
[INFO] [stderr]    Compiling serde v1.0.144
[INFO] [stderr]    Compiling serde_json v1.0.85
[INFO] [stderr]    Compiling lock_api v0.4.8
[INFO] [stderr]    Compiling itoa v1.0.3
[INFO] [stderr]    Compiling ryu v1.0.11
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling unicode-width v0.1.9
[INFO] [stderr]    Compiling unicode-segmentation v1.9.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling mio v0.8.4
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling signal-hook-mio v0.2.3
[INFO] [stderr]    Compiling crossterm v0.25.0
[INFO] [stderr]    Compiling tui v0.19.0
[INFO] [stderr]    Compiling termidle v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `cmp`
[INFO] [stdout]  --> src/types/nums.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp, ops};
[INFO] [stdout]   |           ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::format` and `sync::Arc`
[INFO] [stdout]  --> src/main.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{sync::Arc, fmt::format};
[INFO] [stdout]   |           ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Corner` and `Wrap`
[INFO] [stdout]   --> src/main.rs:68:56
[INFO] [stdout]    |
[INFO] [stdout] 68 |     layout::{Alignment, Constraint, Direction, Layout, Corner},
[INFO] [stdout]    |                                                        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     widgets::{Block, Borders, Paragraph, Wrap, ListItem, List, ListState},
[INFO] [stdout]    |                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/types/nums.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn eq(&self, other: &BeegNum) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 106 |         self.eq(other)
[INFO] [stdout]     |         -------------- recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/types/nums.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn lt(&self, other: &BeegNum) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 130 |         self.lt(&other)
[INFO] [stdout]     |         --------------- recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/types/nums.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn gt(&self, other: &BeegNum) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 138 |         self.gt(&other)
[INFO] [stdout]     |         --------------- recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/game.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |         for i in 0..n {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let mut game = &mut app.game;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_items` is never used
[INFO] [stdout]   --> src/main.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl<T> StatefulList<T> {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 81 |     fn with_items(items: Vec<T>) -> StatefulList<T> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_upgrade_list` and `update_upgrade_list` are never used
[INFO] [stdout]    --> src/main.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl<'a> App<'a> {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     fn generate_upgrade_list(&self) -> StatefulList<game::Upgrade> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn update_upgrade_list(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `truncate`, `eq`, `lt`, and `gt` are never used
[INFO] [stdout]   --> src/types/nums.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl BeegNum {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn truncate(self) -> BeegNum {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn eq(self, other: BeegNum) -> bool {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn lt(self, other: BeegNum) -> bool {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn gt(self, other: BeegNum) -> bool {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `manufacturers` and `vehicles` are never read
[INFO] [stdout]   --> src/game.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct GameStruct {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub manufacturers : Vec<Manufacturer>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub vehicles : Vec<Vehicle>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `can_buy_upgrade`, `buy_upgrade`, `get_manufacturer`, `get_vehicle`, and `from_player` are never used
[INFO] [stdout]    --> src/game.rs:96:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl GameStruct {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn can_buy_upgrade(&self, tobuy: Upgrade) -> (bool, u128, u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn buy_upgrade(&mut self, tobuy: Upgrade) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub fn get_manufacturer(&self, id: u64) -> Option<Manufacturer> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub fn get_vehicle(&self, id: u64) -> Option<Vehicle> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     pub fn from_player(player: Player) -> GameStruct {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculatePrice` is never used
[INFO] [stdout]    --> src/game.rs:415:12
[INFO] [stdout]     |
[INFO] [stdout] 412 | impl Upgrade {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 415 |     pub fn calculatePrice(&self, n: u8) -> u128 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculatePrice` should have a snake case name
[INFO] [stdout]    --> src/game.rs:415:12
[INFO] [stdout]     |
[INFO] [stdout] 415 |     pub fn calculatePrice(&self, n: u8) -> u128 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `calculate_price`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.45s
[INFO] running `Command { std: "docker" "inspect" "35a83d433d48f6ed4cc82d22c6dc1747094eec3be2d831d44207144b47b31f98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "35a83d433d48f6ed4cc82d22c6dc1747094eec3be2d831d44207144b47b31f98", kill_on_drop: false }`
[INFO] [stdout] 35a83d433d48f6ed4cc82d22c6dc1747094eec3be2d831d44207144b47b31f98
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 56b441faa58eca80713f4be44caafedce42b7308fbd3865d87b1449b85a891a9
[INFO] running `Command { std: "docker" "start" "-a" "56b441faa58eca80713f4be44caafedce42b7308fbd3865d87b1449b85a891a9", kill_on_drop: false }`
[INFO] [stderr]    Compiling termidle v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `cmp`
[INFO] [stdout]  --> src/types/nums.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp, ops};
[INFO] [stdout]   |           ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt::format` and `sync::Arc`
[INFO] [stdout]  --> src/main.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{sync::Arc, fmt::format};
[INFO] [stdout]   |           ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Corner` and `Wrap`
[INFO] [stdout]   --> src/main.rs:68:56
[INFO] [stdout]    |
[INFO] [stdout] 68 |     layout::{Alignment, Constraint, Direction, Layout, Corner},
[INFO] [stdout]    |                                                        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     widgets::{Block, Borders, Paragraph, Wrap, ListItem, List, ListState},
[INFO] [stdout]    |                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/types/nums.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn eq(&self, other: &BeegNum) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 106 |         self.eq(other)
[INFO] [stdout]     |         -------------- recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/types/nums.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn lt(&self, other: &BeegNum) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 130 |         self.lt(&other)
[INFO] [stdout]     |         --------------- recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/types/nums.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn gt(&self, other: &BeegNum) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] 138 |         self.gt(&other)
[INFO] [stdout]     |         --------------- recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/game.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |         for i in 0..n {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let mut game = &mut app.game;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_items` is never used
[INFO] [stdout]   --> src/main.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl<T> StatefulList<T> {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 81 |     fn with_items(items: Vec<T>) -> StatefulList<T> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_upgrade_list` and `update_upgrade_list` are never used
[INFO] [stdout]    --> src/main.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl<'a> App<'a> {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 139 |     fn generate_upgrade_list(&self) -> StatefulList<game::Upgrade> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn update_upgrade_list(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `truncate`, `eq`, `lt`, and `gt` are never used
[INFO] [stdout]   --> src/types/nums.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl BeegNum {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn truncate(self) -> BeegNum {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn eq(self, other: BeegNum) -> bool {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn lt(self, other: BeegNum) -> bool {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn gt(self, other: BeegNum) -> bool {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `manufacturers` and `vehicles` are never read
[INFO] [stdout]   --> src/game.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct GameStruct {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub manufacturers : Vec<Manufacturer>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub vehicles : Vec<Vehicle>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `can_buy_upgrade`, `buy_upgrade`, `get_manufacturer`, `get_vehicle`, and `from_player` are never used
[INFO] [stdout]    --> src/game.rs:96:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl GameStruct {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn can_buy_upgrade(&self, tobuy: Upgrade) -> (bool, u128, u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn buy_upgrade(&mut self, tobuy: Upgrade) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub fn get_manufacturer(&self, id: u64) -> Option<Manufacturer> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub fn get_vehicle(&self, id: u64) -> Option<Vehicle> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     pub fn from_player(player: Player) -> GameStruct {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculatePrice` is never used
[INFO] [stdout]    --> src/game.rs:415:12
[INFO] [stdout]     |
[INFO] [stdout] 412 | impl Upgrade {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 415 |     pub fn calculatePrice(&self, n: u8) -> u128 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculatePrice` should have a snake case name
[INFO] [stdout]    --> src/game.rs:415:12
[INFO] [stdout]     |
[INFO] [stdout] 415 |     pub fn calculatePrice(&self, n: u8) -> u128 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `calculate_price`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.55s
[INFO] running `Command { std: "docker" "inspect" "56b441faa58eca80713f4be44caafedce42b7308fbd3865d87b1449b85a891a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "56b441faa58eca80713f4be44caafedce42b7308fbd3865d87b1449b85a891a9", kill_on_drop: false }`
[INFO] [stdout] 56b441faa58eca80713f4be44caafedce42b7308fbd3865d87b1449b85a891a9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1a06e2a32e4517b5f34bddad787171631975cf7496a486e8c80ed2952e43625e
[INFO] running `Command { std: "docker" "start" "-a" "1a06e2a32e4517b5f34bddad787171631975cf7496a486e8c80ed2952e43625e", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `cmp`
[INFO] [stderr]  --> src/types/nums.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{cmp, ops};
[INFO] [stderr]   |           ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `fmt::format` and `sync::Arc`
[INFO] [stderr]  --> src/main.rs:3:11
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::{sync::Arc, fmt::format};
[INFO] [stderr]   |           ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Corner` and `Wrap`
[INFO] [stderr]   --> src/main.rs:68:56
[INFO] [stderr]    |
[INFO] [stderr] 68 |     layout::{Alignment, Constraint, Direction, Layout, Corner},
[INFO] [stderr]    |                                                        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     widgets::{Block, Borders, Paragraph, Wrap, ListItem, List, ListState},
[INFO] [stderr]    |                                          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function cannot return without recursing
[INFO] [stderr]    --> src/types/nums.rs:105:5
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn eq(&self, other: &BeegNum) -> bool {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stderr] 106 |         self.eq(other)
[INFO] [stderr]     |         -------------- recursive call site
[INFO] [stderr]     |
[INFO] [stderr]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stderr]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function cannot return without recursing
[INFO] [stderr]    --> src/types/nums.rs:129:5
[INFO] [stderr]     |
[INFO] [stderr] 129 |     fn lt(&self, other: &BeegNum) -> bool {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stderr] 130 |         self.lt(&other)
[INFO] [stderr]     |         --------------- recursive call site
[INFO] [stderr]     |
[INFO] [stderr]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stderr] 
[INFO] [stderr] warning: function cannot return without recursing
[INFO] [stderr]    --> src/types/nums.rs:137:5
[INFO] [stderr]     |
[INFO] [stderr] 137 |     fn gt(&self, other: &BeegNum) -> bool {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stderr] 138 |         self.gt(&other)
[INFO] [stderr]     |         --------------- recursive call site
[INFO] [stderr]     |
[INFO] [stderr]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/game.rs:418:13
[INFO] [stderr]     |
[INFO] [stderr] 418 |         for i in 0..n {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:221:13
[INFO] [stderr]     |
[INFO] [stderr] 221 |         let mut game = &mut app.game;
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `with_items` is never used
[INFO] [stderr]   --> src/main.rs:81:8
[INFO] [stderr]    |
[INFO] [stderr] 80 | impl<T> StatefulList<T> {
[INFO] [stderr]    | ----------------------- associated function in this implementation
[INFO] [stderr] 81 |     fn with_items(items: Vec<T>) -> StatefulList<T> {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `generate_upgrade_list` and `update_upgrade_list` are never used
[INFO] [stderr]    --> src/main.rs:139:8
[INFO] [stderr]     |
[INFO] [stderr] 126 | impl<'a> App<'a> {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 139 |     fn generate_upgrade_list(&self) -> StatefulList<game::Upgrade> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 144 |     fn update_upgrade_list(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `truncate`, `eq`, `lt`, and `gt` are never used
[INFO] [stderr]   --> src/types/nums.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl BeegNum {
[INFO] [stderr]    | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 19 |     pub fn truncate(self) -> BeegNum {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub fn eq(self, other: BeegNum) -> bool {
[INFO] [stderr]    |            ^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |     pub fn lt(self, other: BeegNum) -> bool {
[INFO] [stderr]    |            ^^
[INFO] [stderr] ...
[INFO] [stderr] 65 |     pub fn gt(self, other: BeegNum) -> bool {
[INFO] [stderr]    |            ^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `manufacturers` and `vehicles` are never read
[INFO] [stderr]   --> src/game.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr]  7 | pub struct GameStruct {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 11 |     pub manufacturers : Vec<Manufacturer>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 12 |     pub vehicles : Vec<Vehicle>,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `can_buy_upgrade`, `buy_upgrade`, `get_manufacturer`, `get_vehicle`, and `from_player` are never used
[INFO] [stderr]    --> src/game.rs:96:12
[INFO] [stderr]     |
[INFO] [stderr]  16 | impl GameStruct {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  96 |     pub fn can_buy_upgrade(&self, tobuy: Upgrade) -> (bool, u128, u8) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 131 |     pub fn buy_upgrade(&mut self, tobuy: Upgrade) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 277 |     pub fn get_manufacturer(&self, id: u64) -> Option<Manufacturer> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 288 |     pub fn get_vehicle(&self, id: u64) -> Option<Vehicle> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 348 |     pub fn from_player(player: Player) -> GameStruct {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `calculatePrice` is never used
[INFO] [stderr]    --> src/game.rs:415:12
[INFO] [stderr]     |
[INFO] [stderr] 412 | impl Upgrade {
[INFO] [stderr]     | ------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 415 |     pub fn calculatePrice(&self, n: u8) -> u128 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `calculatePrice` should have a snake case name
[INFO] [stderr]    --> src/game.rs:415:12
[INFO] [stderr]     |
[INFO] [stderr] 415 |     pub fn calculatePrice(&self, n: u8) -> u128 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `calculate_price`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `termidle` (bin "termidle" test) generated 15 warnings (run `cargo fix --bin "termidle" --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/termidle-da68261fd9c77ed2)
[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" "1a06e2a32e4517b5f34bddad787171631975cf7496a486e8c80ed2952e43625e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a06e2a32e4517b5f34bddad787171631975cf7496a486e8c80ed2952e43625e", kill_on_drop: false }`
[INFO] [stdout] 1a06e2a32e4517b5f34bddad787171631975cf7496a486e8c80ed2952e43625e
