[INFO] fetching crate aliyah 0.1.1...
[INFO] testing aliyah-0.1.1 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate aliyah 0.1.1 into /workspace/builds/worker-0-tc2/source
[INFO] removed /workspace/builds/worker-0-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate aliyah 0.1.1
[INFO] finished tweaking crates.io crate aliyah 0.1.1
[INFO] tweaked toml for crates.io crate aliyah 0.1.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate aliyah 0.1.1 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate aliyah 0.1.1 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9f792ad04ed3faefd1b58f71764bcc47477213bffaa4a0294e765b742b5855ef
[INFO] running `Command { std: "docker" "start" "-a" "9f792ad04ed3faefd1b58f71764bcc47477213bffaa4a0294e765b742b5855ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9f792ad04ed3faefd1b58f71764bcc47477213bffaa4a0294e765b742b5855ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f792ad04ed3faefd1b58f71764bcc47477213bffaa4a0294e765b742b5855ef", kill_on_drop: false }`
[INFO] [stdout] 9f792ad04ed3faefd1b58f71764bcc47477213bffaa4a0294e765b742b5855ef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d52747de81a7ae1bc937d7ad50b8e84c4db48b8a2819abd914856e0ca65f89b9
[INFO] running `Command { std: "docker" "start" "-a" "d52747de81a7ae1bc937d7ad50b8e84c4db48b8a2819abd914856e0ca65f89b9", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling winnow v0.7.6
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]    Compiling pyo3-build-config v0.23.5
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]    Compiling zmq v0.10.0
[INFO] [stderr]    Compiling cfg-expr v0.15.8
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling clap_builder v4.5.35
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling castaway v0.2.3
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling jiff v0.2.6
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling cc v1.2.18
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling socket2 v0.5.9
[INFO] [stderr]    Compiling unindent v0.2.4
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling aliyah v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> build.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs;
[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 variable: `out_dir`
[INFO] [stdout]   --> build.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 31 |         if let Ok(out_dir) = env::var("OUT_DIR") {
[INFO] [stdout]    |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_dir`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling jwalk v0.8.1
[INFO] [stderr]    Compiling pyo3-macros-backend v0.23.5
[INFO] [stderr]    Compiling pyo3-ffi v0.23.5
[INFO] [stderr]    Compiling pyo3 v0.23.5
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling chrono v0.4.40
[INFO] [stderr]    Compiling dircpy v0.3.19
[INFO] [stderr]    Compiling zeromq-src v0.2.6+4.3.4
[INFO] [stderr]    Compiling serde_spanned v0.6.8
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling toml_edit v0.22.24
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling sysinfo v0.29.11
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling tokio v1.44.2
[INFO] [stderr]    Compiling clap v4.5.35
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling toml v0.8.20
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling instability v0.3.7
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling system-deps v6.2.2
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling zmq-sys v0.12.0
[INFO] [stderr]    Compiling pyo3-macros v0.23.5
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stdout] warning: unused import: `log`
[INFO] [stdout]  --> src/parser.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, log, info, error};
[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 variable: `e`
[INFO] [stdout]    --> src/zmq.rs:131:33
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   Err(e) => {}//log_to_file(&format!("Failed to parse update: {}", e))
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/zmq.rs:134:28
[INFO] [stdout]     |
[INFO] [stdout] 134 |                     Ok(Err(e)) =>{}// log_to_file(&format!("Invalid UTF-8: {:?}", e)),
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/zmq.rs:219:20
[INFO] [stdout]     |
[INFO] [stdout] 219 |             Ok(Err(e)) => {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/zmq.rs:223:17
[INFO] [stdout]     |
[INFO] [stdout] 223 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_from_custom` is never used
[INFO] [stdout]    --> src/parser.rs:704:4
[INFO] [stdout]     |
[INFO] [stdout] 704 | fn parse_from_custom(_content: &str) -> Result<ModelArchitecture> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `command_socket` and `metrics_socket` are never read
[INFO] [stdout]   --> src/zmq.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ZMQServer {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 21 |     context: zmq::Context,
[INFO] [stdout] 22 |     command_socket: zmq::Socket,  // REQ socket
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     metrics_socket: zmq::Socket,  // SUB socket
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Level`, `error`, `info`, and `log_enabled`
[INFO] [stdout]  --> src/main.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::{debug, error, log_enabled, info, Level};
[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 import: `EnableMouseCapture`
[INFO] [stdout]  --> src/main.rs:5:40
[INFO] [stdout]   |
[INFO] [stdout] 5 |     event::{self, DisableMouseCapture, EnableMouseCapture, Event, KeyCode},
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/main.rs:14:79
[INFO] [stdout]    |
[INFO] [stdout] 14 |     widgets::{Block, Borders, Paragraph, GraphType, Dataset, canvas::{Canvas, Context, Line as CanvasLine, Points}},
[INFO] [stdout]    |                                                                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `Child`, and `Stdio`
[INFO] [stdout]   --> src/main.rs:21:25
[INFO] [stdout]    |
[INFO] [stdout] 21 |     io::{self, BufRead, BufReader, Write},
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout] 22 |     process::{Child, Command as StdCommand, Stdio},
[INFO] [stdout]    |               ^^^^^                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]   --> src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::cmp::min;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScriptError`
[INFO] [stdout]   --> src/main.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 | use aliyah::{ ScriptState, ScriptError };
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aliyah::Command`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use aliyah::Command;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::Error`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]   --> src/main.rs:21:16
[INFO] [stdout]    |
[INFO] [stdout] 21 |     io::{self, BufRead, BufReader, Write},
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:802:14
[INFO] [stdout]     |
[INFO] [stdout] 802 |         let (x, y) = self.terminal_to_canvas_coords(col, row, term_width, term_height);
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/main.rs:802:17
[INFO] [stdout]     |
[INFO] [stdout] 802 |         let (x, y) = self.terminal_to_canvas_coords(col, row, term_width, term_height);
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `terminal_size`
[INFO] [stdout]     --> src/main.rs:2150:9
[INFO] [stdout]      |
[INFO] [stdout] 2150 |     let terminal_size = f.area();
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_terminal_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2240:9
[INFO] [stdout]      |
[INFO] [stdout] 2240 |     let mut frame_counter = 0;
[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: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2241:9
[INFO] [stdout]      |
[INFO] [stdout] 2241 |     let mut has_error = false;
[INFO] [stdout]      |         ----^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2244:9
[INFO] [stdout]      |
[INFO] [stdout] 2244 |     let mut has_error = false;
[INFO] [stdout]      |         ----^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame_counter`
[INFO] [stdout]     --> src/main.rs:2240:9
[INFO] [stdout]      |
[INFO] [stdout] 2240 |     let mut frame_counter = 0;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frame_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_error`
[INFO] [stdout]     --> src/main.rs:2241:9
[INFO] [stdout]      |
[INFO] [stdout] 2241 |     let mut has_error = false;
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_error`
[INFO] [stdout]     --> src/main.rs:2244:9
[INFO] [stdout]      |
[INFO] [stdout] 2244 |     let mut has_error = false;
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/main.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | struct SystemMetrics {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     timestamp: Instant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SystemMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `epoch` is never read
[INFO] [stdout]    --> src/main.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | struct TrainingMetrics {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] 109 |     epoch: usize,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrainingMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total_batches` is never read
[INFO] [stdout]    --> src/main.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 123 | struct App {
[INFO] [stdout]     |        --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 142 |     total_batches: Option<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scaled_index` is never read
[INFO] [stdout]    --> src/main.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub struct NetworkNode {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 207 |     scaled_index: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NetworkNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_network_layout` and `update_metric` are never used
[INFO] [stdout]     --> src/main.rs:818:8
[INFO] [stdout]      |
[INFO] [stdout]  663 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  818 |     fn update_network_layout(&mut self, architecture: &ModelArchitecture) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 |     fn update_metric(&mut self, name: &str, value: serde_json::Value) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contains_metal_process` is never used
[INFO] [stdout]     --> src/main.rs:1438:4
[INFO] [stdout]      |
[INFO] [stdout] 1438 | fn contains_metal_process(line: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `determine_process_weight` is never used
[INFO] [stdout]     --> src/main.rs:1446:4
[INFO] [stdout]      |
[INFO] [stdout] 1446 | fn determine_process_weight(line: &str) -> f32 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_mps_backend_active` is never used
[INFO] [stdout]     --> src/main.rs:1458:4
[INFO] [stdout]      |
[INFO] [stdout] 1458 | fn is_mps_backend_active() -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_metal_memory_info` is never used
[INFO] [stdout]     --> src/main.rs:1464:4
[INFO] [stdout]      |
[INFO] [stdout] 1464 | fn get_metal_memory_info(gpu_model: Option<String>) -> (u64, u64) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_layer_info` is never used
[INFO] [stdout]     --> src/main.rs:1950:4
[INFO] [stdout]      |
[INFO] [stdout] 1950 | fn render_layer_info(f: &mut Frame, app: &App, area: Rect) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_params` is never used
[INFO] [stdout]     --> src/main.rs:1980:4
[INFO] [stdout]      |
[INFO] [stdout] 1980 | fn format_params(params: usize) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/main.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |         if LOG_FILE.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/main.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |         if let Some(file) = &mut LOG_FILE {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 68 |         if let Some(file) = &raw mut LOG_FILE {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/main.rs:1749:24
[INFO] [stdout]      |
[INFO] [stdout] 1749 |                     if FINAL_TIME.is_none() {
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 38s
[INFO] running `Command { std: "docker" "inspect" "d52747de81a7ae1bc937d7ad50b8e84c4db48b8a2819abd914856e0ca65f89b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d52747de81a7ae1bc937d7ad50b8e84c4db48b8a2819abd914856e0ca65f89b9", kill_on_drop: false }`
[INFO] [stdout] d52747de81a7ae1bc937d7ad50b8e84c4db48b8a2819abd914856e0ca65f89b9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b43a9dd1b15cbe800ba131655e25703518e153d4fa8bc8b0edc1d05c2efa8864
[INFO] running `Command { std: "docker" "start" "-a" "b43a9dd1b15cbe800ba131655e25703518e153d4fa8bc8b0edc1d05c2efa8864", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> build.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs;
[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 variable: `out_dir`
[INFO] [stdout]   --> build.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 31 |         if let Ok(out_dir) = env::var("OUT_DIR") {
[INFO] [stdout]    |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_dir`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log`
[INFO] [stdout]  --> src/parser.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, log, info, error};
[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 variable: `e`
[INFO] [stdout]    --> src/zmq.rs:131:33
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   Err(e) => {}//log_to_file(&format!("Failed to parse update: {}", e))
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/zmq.rs:134:28
[INFO] [stdout]     |
[INFO] [stdout] 134 |                     Ok(Err(e)) =>{}// log_to_file(&format!("Invalid UTF-8: {:?}", e)),
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/zmq.rs:219:20
[INFO] [stdout]     |
[INFO] [stdout] 219 |             Ok(Err(e)) => {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/zmq.rs:223:17
[INFO] [stdout]     |
[INFO] [stdout] 223 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_from_custom` is never used
[INFO] [stdout]    --> src/parser.rs:704:4
[INFO] [stdout]     |
[INFO] [stdout] 704 | fn parse_from_custom(_content: &str) -> Result<ModelArchitecture> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `command_socket` and `metrics_socket` are never read
[INFO] [stdout]   --> src/zmq.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ZMQServer {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 21 |     context: zmq::Context,
[INFO] [stdout] 22 |     command_socket: zmq::Socket,  // REQ socket
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     metrics_socket: zmq::Socket,  // SUB socket
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling aliyah v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `log`
[INFO] [stdout]  --> src/parser.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug, log, info, error};
[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: `Level`, `error`, `info`, and `log_enabled`
[INFO] [stdout]  --> src/main.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::{debug, error, log_enabled, info, Level};
[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 import: `EnableMouseCapture`
[INFO] [stdout]  --> src/main.rs:5:40
[INFO] [stdout]   |
[INFO] [stdout] 5 |     event::{self, DisableMouseCapture, EnableMouseCapture, Event, KeyCode},
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/main.rs:14:79
[INFO] [stdout]    |
[INFO] [stdout] 14 |     widgets::{Block, Borders, Paragraph, GraphType, Dataset, canvas::{Canvas, Context, Line as CanvasLine, Points}},
[INFO] [stdout]    |                                                                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `Child`, and `Stdio`
[INFO] [stdout]   --> src/main.rs:21:25
[INFO] [stdout]    |
[INFO] [stdout] 21 |     io::{self, BufRead, BufReader, Write},
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout] 22 |     process::{Child, Command as StdCommand, Stdio},
[INFO] [stdout]    |               ^^^^^                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]   --> src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::cmp::min;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScriptError`
[INFO] [stdout]   --> src/main.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 | use aliyah::{ ScriptState, ScriptError };
[INFO] [stdout]    |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aliyah::Command`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use aliyah::Command;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/zmq.rs:131:33
[INFO] [stdout]     |
[INFO] [stdout] 131 | ...                   Err(e) => {}//log_to_file(&format!("Failed to parse update: {}", e))
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/zmq.rs:134:28
[INFO] [stdout]     |
[INFO] [stdout] 134 |                     Ok(Err(e)) =>{}// log_to_file(&format!("Invalid UTF-8: {:?}", e)),
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/zmq.rs:219:20
[INFO] [stdout]     |
[INFO] [stdout] 219 |             Ok(Err(e)) => {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/zmq.rs:223:17
[INFO] [stdout]     |
[INFO] [stdout] 223 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_from_custom` is never used
[INFO] [stdout]    --> src/parser.rs:704:4
[INFO] [stdout]     |
[INFO] [stdout] 704 | fn parse_from_custom(_content: &str) -> Result<ModelArchitecture> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `command_socket` and `metrics_socket` are never read
[INFO] [stdout]   --> src/zmq.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ZMQServer {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 21 |     context: zmq::Context,
[INFO] [stdout] 22 |     command_socket: zmq::Socket,  // REQ socket
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     metrics_socket: zmq::Socket,  // SUB socket
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::Error`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]   --> src/main.rs:21:16
[INFO] [stdout]    |
[INFO] [stdout] 21 |     io::{self, BufRead, BufReader, Write},
[INFO] [stdout]    |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:802:14
[INFO] [stdout]     |
[INFO] [stdout] 802 |         let (x, y) = self.terminal_to_canvas_coords(col, row, term_width, term_height);
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/main.rs:802:17
[INFO] [stdout]     |
[INFO] [stdout] 802 |         let (x, y) = self.terminal_to_canvas_coords(col, row, term_width, term_height);
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `terminal_size`
[INFO] [stdout]     --> src/main.rs:2150:9
[INFO] [stdout]      |
[INFO] [stdout] 2150 |     let terminal_size = f.area();
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_terminal_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2240:9
[INFO] [stdout]      |
[INFO] [stdout] 2240 |     let mut frame_counter = 0;
[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: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2241:9
[INFO] [stdout]      |
[INFO] [stdout] 2241 |     let mut has_error = false;
[INFO] [stdout]      |         ----^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/main.rs:2244:9
[INFO] [stdout]      |
[INFO] [stdout] 2244 |     let mut has_error = false;
[INFO] [stdout]      |         ----^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame_counter`
[INFO] [stdout]     --> src/main.rs:2240:9
[INFO] [stdout]      |
[INFO] [stdout] 2240 |     let mut frame_counter = 0;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frame_counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_error`
[INFO] [stdout]     --> src/main.rs:2241:9
[INFO] [stdout]      |
[INFO] [stdout] 2241 |     let mut has_error = false;
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `has_error`
[INFO] [stdout]     --> src/main.rs:2244:9
[INFO] [stdout]      |
[INFO] [stdout] 2244 |     let mut has_error = false;
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/main.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | struct SystemMetrics {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     timestamp: Instant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SystemMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `epoch` is never read
[INFO] [stdout]    --> src/main.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | struct TrainingMetrics {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] 109 |     epoch: usize,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TrainingMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total_batches` is never read
[INFO] [stdout]    --> src/main.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 123 | struct App {
[INFO] [stdout]     |        --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 142 |     total_batches: Option<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scaled_index` is never read
[INFO] [stdout]    --> src/main.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub struct NetworkNode {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 207 |     scaled_index: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NetworkNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_network_layout` and `update_metric` are never used
[INFO] [stdout]     --> src/main.rs:818:8
[INFO] [stdout]      |
[INFO] [stdout]  663 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  818 |     fn update_network_layout(&mut self, architecture: &ModelArchitecture) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1161 |     fn update_metric(&mut self, name: &str, value: serde_json::Value) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contains_metal_process` is never used
[INFO] [stdout]     --> src/main.rs:1438:4
[INFO] [stdout]      |
[INFO] [stdout] 1438 | fn contains_metal_process(line: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `determine_process_weight` is never used
[INFO] [stdout]     --> src/main.rs:1446:4
[INFO] [stdout]      |
[INFO] [stdout] 1446 | fn determine_process_weight(line: &str) -> f32 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_mps_backend_active` is never used
[INFO] [stdout]     --> src/main.rs:1458:4
[INFO] [stdout]      |
[INFO] [stdout] 1458 | fn is_mps_backend_active() -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_metal_memory_info` is never used
[INFO] [stdout]     --> src/main.rs:1464:4
[INFO] [stdout]      |
[INFO] [stdout] 1464 | fn get_metal_memory_info(gpu_model: Option<String>) -> (u64, u64) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_layer_info` is never used
[INFO] [stdout]     --> src/main.rs:1950:4
[INFO] [stdout]      |
[INFO] [stdout] 1950 | fn render_layer_info(f: &mut Frame, app: &App, area: Rect) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_params` is never used
[INFO] [stdout]     --> src/main.rs:1980:4
[INFO] [stdout]      |
[INFO] [stdout] 1980 | fn format_params(params: usize) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/main.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |         if LOG_FILE.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/main.rs:68:29
[INFO] [stdout]    |
[INFO] [stdout] 68 |         if let Some(file) = &mut LOG_FILE {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 68 |         if let Some(file) = &raw mut LOG_FILE {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/main.rs:1749:24
[INFO] [stdout]      |
[INFO] [stdout] 1749 |                     if FINAL_TIME.is_none() {
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.31s
[INFO] running `Command { std: "docker" "inspect" "b43a9dd1b15cbe800ba131655e25703518e153d4fa8bc8b0edc1d05c2efa8864", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b43a9dd1b15cbe800ba131655e25703518e153d4fa8bc8b0edc1d05c2efa8864", kill_on_drop: false }`
[INFO] [stdout] b43a9dd1b15cbe800ba131655e25703518e153d4fa8bc8b0edc1d05c2efa8864
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a1fdffc5d4c7e9bed04767a8168d674a13b85940c4926b8aca6f3ec5387ac772
[INFO] running `Command { std: "docker" "start" "-a" "a1fdffc5d4c7e9bed04767a8168d674a13b85940c4926b8aca6f3ec5387ac772", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]  --> build.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::fs;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `out_dir`
[INFO] [stderr]   --> build.rs:31:19
[INFO] [stderr]    |
[INFO] [stderr] 31 |         if let Ok(out_dir) = env::var("OUT_DIR") {
[INFO] [stderr]    |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_dir`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `aliyah` (build script) generated 2 warnings
[INFO] [stderr] warning: unused import: `log`
[INFO] [stderr]  --> src/parser.rs:4:18
[INFO] [stderr]   |
[INFO] [stderr] 4 | use log::{debug, log, info, error};
[INFO] [stderr]   |                  ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/zmq.rs:131:33
[INFO] [stderr]     |
[INFO] [stderr] 131 | ...                   Err(e) => {}//log_to_file(&format!("Failed to parse update: {}", e))
[INFO] [stderr]     |                           ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/zmq.rs:134:28
[INFO] [stderr]     |
[INFO] [stderr] 134 |                     Ok(Err(e)) =>{}// log_to_file(&format!("Invalid UTF-8: {:?}", e)),
[INFO] [stderr]     |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/zmq.rs:219:20
[INFO] [stderr]     |
[INFO] [stderr] 219 |             Ok(Err(e)) => {
[INFO] [stderr]     |                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/zmq.rs:223:17
[INFO] [stderr]     |
[INFO] [stderr] 223 |             Err(e) => {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_from_custom` is never used
[INFO] [stderr]    --> src/parser.rs:704:4
[INFO] [stderr]     |
[INFO] [stderr] 704 | fn parse_from_custom(_content: &str) -> Result<ModelArchitecture> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `command_socket` and `metrics_socket` are never read
[INFO] [stderr]   --> src/zmq.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct ZMQServer {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] 21 |     context: zmq::Context,
[INFO] [stderr] 22 |     command_socket: zmq::Socket,  // REQ socket
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 23 |     metrics_socket: zmq::Socket,  // SUB socket
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `aliyah` (lib) generated 7 warnings (run `cargo fix --lib -p aliyah` to apply 5 suggestions)
[INFO] [stderr] warning: `aliyah` (lib test) generated 7 warnings (7 duplicates)
[INFO] [stderr] warning: unused imports: `Level`, `error`, `info`, and `log_enabled`
[INFO] [stderr]  --> src/main.rs:1:18
[INFO] [stderr]   |
[INFO] [stderr] 1 | use log::{debug, error, log_enabled, info, Level};
[INFO] [stderr]   |                  ^^^^^  ^^^^^^^^^^^  ^^^^  ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EnableMouseCapture`
[INFO] [stderr]  --> src/main.rs:5:40
[INFO] [stderr]   |
[INFO] [stderr] 5 |     event::{self, DisableMouseCapture, EnableMouseCapture, Event, KeyCode},
[INFO] [stderr]   |                                        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]   --> src/main.rs:14:79
[INFO] [stderr]    |
[INFO] [stderr] 14 |     widgets::{Block, Borders, Paragraph, GraphType, Dataset, canvas::{Canvas, Context, Line as CanvasLine, Points}},
[INFO] [stderr]    |                                                                               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BufReader`, `Child`, and `Stdio`
[INFO] [stderr]   --> src/main.rs:21:25
[INFO] [stderr]    |
[INFO] [stderr] 21 |     io::{self, BufRead, BufReader, Write},
[INFO] [stderr]    |                         ^^^^^^^^^
[INFO] [stderr] 22 |     process::{Child, Command as StdCommand, Stdio},
[INFO] [stderr]    |               ^^^^^                         ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::min`
[INFO] [stderr]   --> src/main.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 30 | use std::cmp::min;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt`
[INFO] [stderr]   --> src/main.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | use std::fmt;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ScriptError`
[INFO] [stderr]   --> src/main.rs:36:28
[INFO] [stderr]    |
[INFO] [stderr] 36 | use aliyah::{ ScriptState, ScriptError };
[INFO] [stderr]    |                            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `aliyah::Command`
[INFO] [stderr]   --> src/main.rs:40:5
[INFO] [stderr]    |
[INFO] [stderr] 40 | use aliyah::Command;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error::Error`
[INFO] [stderr]   --> src/main.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 |     error::Error,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BufRead`
[INFO] [stderr]   --> src/main.rs:21:16
[INFO] [stderr]    |
[INFO] [stderr] 21 |     io::{self, BufRead, BufReader, Write},
[INFO] [stderr]    |                ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/main.rs:802:14
[INFO] [stderr]     |
[INFO] [stderr] 802 |         let (x, y) = self.terminal_to_canvas_coords(col, row, term_width, term_height);
[INFO] [stderr]     |              ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]    --> src/main.rs:802:17
[INFO] [stderr]     |
[INFO] [stderr] 802 |         let (x, y) = self.terminal_to_canvas_coords(col, row, term_width, term_height);
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `terminal_size`
[INFO] [stderr]     --> src/main.rs:2150:9
[INFO] [stderr]      |
[INFO] [stderr] 2150 |     let terminal_size = f.area();
[INFO] [stderr]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_terminal_size`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:2240:9
[INFO] [stderr]      |
[INFO] [stderr] 2240 |     let mut frame_counter = 0;
[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: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:2241:9
[INFO] [stderr]      |
[INFO] [stderr] 2241 |     let mut has_error = false;
[INFO] [stderr]      |         ----^^^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/main.rs:2244:9
[INFO] [stderr]      |
[INFO] [stderr] 2244 |     let mut has_error = false;
[INFO] [stderr]      |         ----^^^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `frame_counter`
[INFO] [stderr]     --> src/main.rs:2240:9
[INFO] [stderr]      |
[INFO] [stderr] 2240 |     let mut frame_counter = 0;
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frame_counter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `has_error`
[INFO] [stderr]     --> src/main.rs:2241:9
[INFO] [stderr]      |
[INFO] [stderr] 2241 |     let mut has_error = false;
[INFO] [stderr]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_error`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `has_error`
[INFO] [stderr]     --> src/main.rs:2244:9
[INFO] [stderr]      |
[INFO] [stderr] 2244 |     let mut has_error = false;
[INFO] [stderr]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_error`
[INFO] [stderr] 
[INFO] [stderr] warning: field `timestamp` is never read
[INFO] [stderr]   --> src/main.rs:96:5
[INFO] [stderr]    |
[INFO] [stderr] 91 | struct SystemMetrics {
[INFO] [stderr]    |        ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 96 |     timestamp: Instant,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SystemMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `epoch` is never read
[INFO] [stderr]    --> src/main.rs:109:5
[INFO] [stderr]     |
[INFO] [stderr] 108 | struct TrainingMetrics {
[INFO] [stderr]     |        --------------- field in this struct
[INFO] [stderr] 109 |     epoch: usize,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `TrainingMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `total_batches` is never read
[INFO] [stderr]    --> src/main.rs:142:5
[INFO] [stderr]     |
[INFO] [stderr] 123 | struct App {
[INFO] [stderr]     |        --- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 142 |     total_batches: Option<usize>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `scaled_index` is never read
[INFO] [stderr]    --> src/main.rs:207:5
[INFO] [stderr]     |
[INFO] [stderr] 201 | pub struct NetworkNode {
[INFO] [stderr]     |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 207 |     scaled_index: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `NetworkNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `update_network_layout` and `update_metric` are never used
[INFO] [stderr]     --> src/main.rs:818:8
[INFO] [stderr]      |
[INFO] [stderr]  663 | impl App {
[INFO] [stderr]      | -------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  818 |     fn update_network_layout(&mut self, architecture: &ModelArchitecture) {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1161 |     fn update_metric(&mut self, name: &str, value: serde_json::Value) {
[INFO] [stderr]      |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `contains_metal_process` is never used
[INFO] [stderr]     --> src/main.rs:1438:4
[INFO] [stderr]      |
[INFO] [stderr] 1438 | fn contains_metal_process(line: &str) -> bool {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `determine_process_weight` is never used
[INFO] [stderr]     --> src/main.rs:1446:4
[INFO] [stderr]      |
[INFO] [stderr] 1446 | fn determine_process_weight(line: &str) -> f32 {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_mps_backend_active` is never used
[INFO] [stderr]     --> src/main.rs:1458:4
[INFO] [stderr]      |
[INFO] [stderr] 1458 | fn is_mps_backend_active() -> bool {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_metal_memory_info` is never used
[INFO] [stderr]     --> src/main.rs:1464:4
[INFO] [stderr]      |
[INFO] [stderr] 1464 | fn get_metal_memory_info(gpu_model: Option<String>) -> (u64, u64) {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `render_layer_info` is never used
[INFO] [stderr]     --> src/main.rs:1950:4
[INFO] [stderr]      |
[INFO] [stderr] 1950 | fn render_layer_info(f: &mut Frame, app: &App, area: Rect) {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_params` is never used
[INFO] [stderr]     --> src/main.rs:1980:4
[INFO] [stderr]      |
[INFO] [stderr] 1980 | fn format_params(params: usize) -> String {
[INFO] [stderr]      |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/main.rs:58:12
[INFO] [stderr]    |
[INFO] [stderr] 58 |         if LOG_FILE.is_none() {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]   --> src/main.rs:68:29
[INFO] [stderr]    |
[INFO] [stderr] 68 |         if let Some(file) = &mut LOG_FILE {
[INFO] [stderr]    |                             ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr] help: use `&raw mut` instead to create a raw pointer
[INFO] [stderr]    |
[INFO] [stderr] 68 |         if let Some(file) = &raw mut LOG_FILE {
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]     --> src/main.rs:1749:24
[INFO] [stderr]      |
[INFO] [stderr] 1749 |                     if FINAL_TIME.is_none() {
[INFO] [stderr]      |                        ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]      |
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] 
[INFO] [stderr] warning: `aliyah` (bin "aliyah" test) generated 33 warnings (run `cargo fix --bin "aliyah" -p aliyah --tests` to apply 17 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/aliyah-037991e6b1b33dfd)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test parser::tests::test_framework_detection ... ok
[INFO] [stdout] test parser::tests::test_pytorch_parsing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 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/aliyah-6979756a8414bb87)
[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 aliyah
[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" "a1fdffc5d4c7e9bed04767a8168d674a13b85940c4926b8aca6f3ec5387ac772", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a1fdffc5d4c7e9bed04767a8168d674a13b85940c4926b8aca6f3ec5387ac772", kill_on_drop: false }`
[INFO] [stdout] a1fdffc5d4c7e9bed04767a8168d674a13b85940c4926b8aca6f3ec5387ac772
