[INFO] cloning repository https://github.com/OneOfOne/swtormeter
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/OneOfOne/swtormeter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOneOfOne%2Fswtormeter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOneOfOne%2Fswtormeter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1d457818fec17ac588f1fc6093ab785240a4eca7
[INFO] testing OneOfOne/swtormeter against 1.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOneOfOne%2Fswtormeter" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/OneOfOne/swtormeter on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/OneOfOne/swtormeter
[INFO] finished tweaking git repo https://github.com/OneOfOne/swtormeter
[INFO] tweaked toml for git repo https://github.com/OneOfOne/swtormeter written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/OneOfOne/swtormeter already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-7-tc1/source/Cargo.toml: unused manifest key: workspace.package.name
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded stability v0.1.1
[INFO] [stderr]   Downloaded ratatui v0.25.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4311061ceb20bbdd6a1619eec20b963558418e4daa7bbb7838007b446b00e764
[INFO] running `Command { std: "docker" "start" "-a" "4311061ceb20bbdd6a1619eec20b963558418e4daa7bbb7838007b446b00e764", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4311061ceb20bbdd6a1619eec20b963558418e4daa7bbb7838007b446b00e764", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4311061ceb20bbdd6a1619eec20b963558418e4daa7bbb7838007b446b00e764", kill_on_drop: false }`
[INFO] [stdout] 4311061ceb20bbdd6a1619eec20b963558418e4daa7bbb7838007b446b00e764
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 85d75f6592a26ceff5f65cc4447105e1e3606f58981605743d760ea7e9978136
[INFO] running `Command { std: "docker" "start" "-a" "85d75f6592a26ceff5f65cc4447105e1e3606f58981605743d760ea7e9978136", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: unused manifest key: workspace.package.name
[INFO] [stderr]    Compiling libc v0.2.151
[INFO] [stderr]    Compiling proc-macro2 v1.0.71
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling smallvec v1.11.2
[INFO] [stderr]    Compiling ahash v0.8.6
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling zerocopy v0.7.32
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling allocator-api2 v0.2.16
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling deranged v0.3.10
[INFO] [stderr]    Compiling pin-project-lite v0.2.13
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling syn v2.0.42
[INFO] [stderr]    Compiling signal-hook-registry v1.4.1
[INFO] [stderr]    Compiling mio v0.8.10
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling signal-hook-mio v0.2.3
[INFO] [stderr]    Compiling socket2 v0.5.5
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling bitflags v2.4.1
[INFO] [stderr]    Compiling num_threads v0.1.6
[INFO] [stderr]    Compiling itertools v0.12.0
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling lru v0.12.1
[INFO] [stderr]    Compiling time v0.3.31
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling chrono v0.4.31
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling indoc v2.0.4
[INFO] [stderr]    Compiling unicode-segmentation v1.10.1
[INFO] [stderr]    Compiling unicode-width v0.1.11
[INFO] [stderr]    Compiling stability v0.1.1
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling tokio v1.35.1
[INFO] [stderr]    Compiling strum v0.25.0
[INFO] [stderr]    Compiling ratatui v0.25.0
[INFO] [stderr]    Compiling swtorlib v0.0.1 (/opt/rustwide/workdir/crates/swtorlib)
[INFO] [stdout] warning: unused imports: `fs::read_dir`, `path::Path`
[INFO] [stdout]  --> crates/swtorlib/src/parser/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::read_dir, path::Path};
[INFO] [stdout]   |           ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> crates/swtorlib/src/parser/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]  --> crates/swtorlib/src/parser/encounter.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{Duration, NaiveDate, NaiveTime};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> crates/swtorlib/src/parser/encounter.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> crates/swtorlib/src/parser/encounter.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/swtorlib/src/parser/encounter.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> crates/swtorlib/src/parser/encounter.rs:94:11
[INFO] [stdout]    |
[INFO] [stdout] 94 |     ) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]    |              ^                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 94 -     ) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 94 +     ) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/swtorlib/src/parser/encounter.rs:118:33
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn heals_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]     |                                    ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -     pub fn heals_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 118 +     pub fn heals_out(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/swtorlib/src/parser/encounter.rs:123:31
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn dmg_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]     |                                  ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 123 -     pub fn dmg_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 123 +     pub fn dmg_out(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/swtorlib/src/parser/encounter.rs:128:32
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn heals_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]     |                                   ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 -     pub fn heals_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 128 +     pub fn heals_in(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/swtorlib/src/parser/encounter.rs:133:30
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn dmg_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]     |                                 ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 133 -     pub fn dmg_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 133 +     pub fn dmg_in(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::OnceCell`, `collections::HashMap`, `rc::Rc`, `sync::Mutex`
[INFO] [stdout]  --> crates/swtorlib/src/parser/namedid.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::OnceCell, collections::HashMap, rc::Rc, sync::Mutex};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sub`
[INFO] [stdout]  --> crates/swtorlib/src/parser/actor_stats.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{AddAssign, Sub};
[INFO] [stdout]   |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveTime`
[INFO] [stdout]  --> crates/swtorlib/src/parser/actor_stats.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::NaiveTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActorType`
[INFO] [stdout]  --> crates/swtorlib/src/parser/actor_stats.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     actor::{Actor, ActorType},
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> crates/swtorlib/src/parser/reader.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SeekFrom`
[INFO] [stdout]  --> crates/swtorlib/src/parser/reader.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{Result, SeekFrom};
[INFO] [stdout]   |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncSeekExt`
[INFO] [stdout]   --> crates/swtorlib/src/parser/reader.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::{AsyncBufReadExt, AsyncSeekExt, BufReader};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::fmt`
[INFO] [stdout]  --> crates/swtorlib/src/parser/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::fmt;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddAssign`, `Div`, `Mul`, `collections::HashMap`
[INFO] [stdout]  --> crates/swtorlib/src/parser/utils.rs:3:2
[INFO] [stdout]   |
[INFO] [stdout] 3 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     ops::{AddAssign, Div, Mul},
[INFO] [stdout]   |           ^^^^^^^^^  ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> crates/swtorlib/src/parser/reader.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 if let fp = ff.lock().await {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/swtorlib/src/parser/reader.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut fp = fpath.clone();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/swtorlib/src/parser/reader.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut fp = fpath.clone();
[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]    --> crates/swtorlib/src/parser/encounter.rs:176:11
[INFO] [stdout]     |
[INFO] [stdout] 176 |                         let mut e = self.all.get_mut(ln - 1).unwrap();
[INFO] [stdout]     |                             ----^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `class` and `spec` are never read
[INFO] [stdout]   --> crates/swtorlib/src/parser/action.rs:42:2
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Discipline {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 42 |     class: NamedID,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 43 |     spec: NamedID,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Discipline` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling swtormeter v0.1.0 (/opt/rustwide/workdir/crates/swtormeter)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/swtormeter/src/main.rs:85:6
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut hps = app.hps.clone();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/swtormeter/src/main.rs:86:6
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut hps_in = app.hps_in.clone();
[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]   --> crates/swtormeter/src/main.rs:87:6
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut dps = app.dps.clone();
[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]   --> crates/swtormeter/src/main.rs:88:6
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let mut dps_in = app.dps_in.clone();
[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]   --> crates/swtormeter/src/main.rs:89:6
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut area = app.area.clone();
[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]   --> crates/swtormeter/src/main.rs:90:6
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut npcs = app.npcs.clone();
[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]   --> crates/swtormeter/src/main.rs:91:6
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let mut elapsed = app.elapsed.clone();
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 23.08s
[INFO] running `Command { std: "docker" "inspect" "85d75f6592a26ceff5f65cc4447105e1e3606f58981605743d760ea7e9978136", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "85d75f6592a26ceff5f65cc4447105e1e3606f58981605743d760ea7e9978136", kill_on_drop: false }`
[INFO] [stdout] 85d75f6592a26ceff5f65cc4447105e1e3606f58981605743d760ea7e9978136
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fddba4f962598d67f905af3981ac371ac9a22cbe25151d83b4c396615ef5e21e
[INFO] running `Command { std: "docker" "start" "-a" "fddba4f962598d67f905af3981ac371ac9a22cbe25151d83b4c396615ef5e21e", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: unused manifest key: workspace.package.name
[INFO] [stdout] warning: unused imports: `fs::read_dir`, `path::Path`
[INFO] [stdout]  --> crates/swtorlib/src/parser/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::read_dir, path::Path};
[INFO] [stdout]   |           ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> crates/swtorlib/src/parser/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]  --> crates/swtorlib/src/parser/encounter.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{Duration, NaiveDate, NaiveTime};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> crates/swtorlib/src/parser/encounter.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> crates/swtorlib/src/parser/encounter.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/swtorlib/src/parser/encounter.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> crates/swtorlib/src/parser/encounter.rs:94:11
[INFO] [stdout]    |
[INFO] [stdout] 94 |     ) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]    |              ^                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 94 -     ) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 94 +     ) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/swtorlib/src/parser/encounter.rs:118:33
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn heals_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]     |                                    ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -     pub fn heals_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 118 +     pub fn heals_out(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/swtorlib/src/parser/encounter.rs:123:31
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn dmg_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]     |                                  ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 123 -     pub fn dmg_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 123 +     pub fn dmg_out(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/swtorlib/src/parser/encounter.rs:128:32
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn heals_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]     |                                   ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 -     pub fn heals_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 128 +     pub fn heals_in(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/swtorlib/src/parser/encounter.rs:133:30
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn dmg_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]     |                                 ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 133 -     pub fn dmg_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 133 +     pub fn dmg_in(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::OnceCell`, `collections::HashMap`, `rc::Rc`, `sync::Mutex`
[INFO] [stdout]  --> crates/swtorlib/src/parser/namedid.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::OnceCell, collections::HashMap, rc::Rc, sync::Mutex};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sub`
[INFO] [stdout]  --> crates/swtorlib/src/parser/actor_stats.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{AddAssign, Sub};
[INFO] [stdout]   |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveTime`
[INFO] [stdout]  --> crates/swtorlib/src/parser/actor_stats.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::NaiveTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActorType`
[INFO] [stdout]  --> crates/swtorlib/src/parser/actor_stats.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     actor::{Actor, ActorType},
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> crates/swtorlib/src/parser/reader.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SeekFrom`
[INFO] [stdout]  --> crates/swtorlib/src/parser/reader.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{Result, SeekFrom};
[INFO] [stdout]   |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncSeekExt`
[INFO] [stdout]   --> crates/swtorlib/src/parser/reader.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::{AsyncBufReadExt, AsyncSeekExt, BufReader};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::fmt`
[INFO] [stdout]  --> crates/swtorlib/src/parser/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::fmt;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddAssign`, `Div`, `Mul`, `collections::HashMap`
[INFO] [stdout]  --> crates/swtorlib/src/parser/utils.rs:3:2
[INFO] [stdout]   |
[INFO] [stdout] 3 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     ops::{AddAssign, Div, Mul},
[INFO] [stdout]   |           ^^^^^^^^^  ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> crates/swtorlib/src/parser/reader.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 if let fp = ff.lock().await {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/swtorlib/src/parser/reader.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut fp = fpath.clone();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/swtorlib/src/parser/reader.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut fp = fpath.clone();
[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]    --> crates/swtorlib/src/parser/encounter.rs:176:11
[INFO] [stdout]     |
[INFO] [stdout] 176 |                         let mut e = self.all.get_mut(ln - 1).unwrap();
[INFO] [stdout]     |                             ----^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `class` and `spec` are never read
[INFO] [stdout]   --> crates/swtorlib/src/parser/action.rs:42:2
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Discipline {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 42 |     class: NamedID,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 43 |     spec: NamedID,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Discipline` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling swtorlib v0.0.1 (/opt/rustwide/workdir/crates/swtorlib)
[INFO] [stderr]    Compiling swtormeter v0.1.0 (/opt/rustwide/workdir/crates/swtormeter)
[INFO] [stdout] warning: unused imports: `fs::read_dir`, `path::Path`
[INFO] [stdout]  --> crates/swtorlib/src/parser/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::read_dir, path::Path};
[INFO] [stdout]   |           ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> crates/swtorlib/src/parser/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NaiveDate`
[INFO] [stdout]  --> crates/swtorlib/src/parser/encounter.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{Duration, NaiveDate, NaiveTime};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> crates/swtorlib/src/parser/encounter.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> crates/swtorlib/src/parser/encounter.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/swtorlib/src/parser/encounter.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> crates/swtorlib/src/parser/encounter.rs:94:11
[INFO] [stdout]    |
[INFO] [stdout] 94 |     ) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]    |              ^                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 94 -     ) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 94 +     ) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/swtorlib/src/parser/encounter.rs:118:33
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn heals_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]     |                                    ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -     pub fn heals_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 118 +     pub fn heals_out(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/swtorlib/src/parser/encounter.rs:123:31
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn dmg_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]     |                                  ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 123 -     pub fn dmg_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 123 +     pub fn dmg_out(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/swtorlib/src/parser/encounter.rs:128:32
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn heals_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]     |                                   ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 -     pub fn heals_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 128 +     pub fn heals_in(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/swtorlib/src/parser/encounter.rs:133:30
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn dmg_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout]     |                                 ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 133 -     pub fn dmg_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stdout] 133 +     pub fn dmg_in(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::OnceCell`, `collections::HashMap`, `rc::Rc`, `sync::Mutex`
[INFO] [stdout]  --> crates/swtorlib/src/parser/namedid.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cell::OnceCell, collections::HashMap, rc::Rc, sync::Mutex};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sub`
[INFO] [stdout]  --> crates/swtorlib/src/parser/actor_stats.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{AddAssign, Sub};
[INFO] [stdout]   |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveTime`
[INFO] [stdout]  --> crates/swtorlib/src/parser/actor_stats.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::NaiveTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActorType`
[INFO] [stdout]  --> crates/swtorlib/src/parser/actor_stats.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     actor::{Actor, ActorType},
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stdout]  --> crates/swtorlib/src/parser/reader.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::NaiveDateTime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SeekFrom`
[INFO] [stdout]  --> crates/swtorlib/src/parser/reader.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{Result, SeekFrom};
[INFO] [stdout]   |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncSeekExt`
[INFO] [stdout]   --> crates/swtorlib/src/parser/reader.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::io::{AsyncBufReadExt, AsyncSeekExt, BufReader};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::fmt`
[INFO] [stdout]  --> crates/swtorlib/src/parser/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::fmt;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AddAssign`, `Div`, `Mul`, `collections::HashMap`
[INFO] [stdout]  --> crates/swtorlib/src/parser/utils.rs:3:2
[INFO] [stdout]   |
[INFO] [stdout] 3 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     ops::{AddAssign, Div, Mul},
[INFO] [stdout]   |           ^^^^^^^^^  ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> crates/swtorlib/src/parser/reader.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 if let fp = ff.lock().await {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/swtorlib/src/parser/reader.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut fp = fpath.clone();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/swtorlib/src/parser/reader.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut fp = fpath.clone();
[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]   --> crates/swtormeter/src/main.rs:85:6
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut hps = app.hps.clone();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/swtorlib/src/parser/encounter.rs:176:11
[INFO] [stdout]     |
[INFO] [stdout] 176 |                         let mut e = self.all.get_mut(ln - 1).unwrap();
[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]   --> crates/swtormeter/src/main.rs:86:6
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let mut hps_in = app.hps_in.clone();
[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]   --> crates/swtormeter/src/main.rs:87:6
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let mut dps = app.dps.clone();
[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]   --> crates/swtormeter/src/main.rs:88:6
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let mut dps_in = app.dps_in.clone();
[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]   --> crates/swtormeter/src/main.rs:89:6
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut area = app.area.clone();
[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]   --> crates/swtormeter/src/main.rs:90:6
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut npcs = app.npcs.clone();
[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]   --> crates/swtormeter/src/main.rs:91:6
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let mut elapsed = app.elapsed.clone();
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `class` and `spec` are never read
[INFO] [stdout]   --> crates/swtorlib/src/parser/action.rs:42:2
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Discipline {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 42 |     class: NamedID,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 43 |     spec: NamedID,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Discipline` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.89s
[INFO] running `Command { std: "docker" "inspect" "fddba4f962598d67f905af3981ac371ac9a22cbe25151d83b4c396615ef5e21e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fddba4f962598d67f905af3981ac371ac9a22cbe25151d83b4c396615ef5e21e", kill_on_drop: false }`
[INFO] [stdout] fddba4f962598d67f905af3981ac371ac9a22cbe25151d83b4c396615ef5e21e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b81f4ac08840049f85ccc6f24e86a95268e84a3c7f7c4c779fa343a95a92ba37
[INFO] running `Command { std: "docker" "start" "-a" "b81f4ac08840049f85ccc6f24e86a95268e84a3c7f7c4c779fa343a95a92ba37", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: unused manifest key: workspace.package.name
[INFO] [stderr] warning: unused imports: `fs::read_dir`, `path::Path`
[INFO] [stderr]  --> crates/swtorlib/src/parser/mod.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{fs::read_dir, path::Path};
[INFO] [stderr]   |           ^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stderr]  --> crates/swtorlib/src/parser/mod.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use chrono::NaiveDateTime;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `NaiveDate`
[INFO] [stderr]  --> crates/swtorlib/src/parser/encounter.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use chrono::{Duration, NaiveDate, NaiveTime};
[INFO] [stderr]   |                        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]  --> crates/swtorlib/src/parser/encounter.rs:2:33
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt`
[INFO] [stderr]  --> crates/swtorlib/src/parser/encounter.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::fmt;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> crates/swtorlib/src/parser/encounter.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> crates/swtorlib/src/parser/encounter.rs:94:11
[INFO] [stderr]    |
[INFO] [stderr] 94 |     ) -> Vec<((Vec<String>, f64))> {
[INFO] [stderr]    |              ^                  ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 94 -     ) -> Vec<((Vec<String>, f64))> {
[INFO] [stderr] 94 +     ) -> Vec<(Vec<String>, f64)> {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> crates/swtorlib/src/parser/encounter.rs:118:33
[INFO] [stderr]     |
[INFO] [stderr] 118 |     pub fn heals_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stderr]     |                                    ^                  ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 118 -     pub fn heals_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stderr] 118 +     pub fn heals_out(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> crates/swtorlib/src/parser/encounter.rs:123:31
[INFO] [stderr]     |
[INFO] [stderr] 123 |     pub fn dmg_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stderr]     |                                  ^                  ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 123 -     pub fn dmg_out(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stderr] 123 +     pub fn dmg_out(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> crates/swtorlib/src/parser/encounter.rs:128:32
[INFO] [stderr]     |
[INFO] [stderr] 128 |     pub fn heals_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stderr]     |                                   ^                  ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 128 -     pub fn heals_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stderr] 128 +     pub fn heals_in(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> crates/swtorlib/src/parser/encounter.rs:133:30
[INFO] [stderr]     |
[INFO] [stderr] 133 |     pub fn dmg_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stderr]     |                                 ^                  ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 133 -     pub fn dmg_in(&self) -> Vec<((Vec<String>, f64))> {
[INFO] [stderr] 133 +     pub fn dmg_in(&self) -> Vec<(Vec<String>, f64)> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `cell::OnceCell`, `collections::HashMap`, `rc::Rc`, `sync::Mutex`
[INFO] [stderr]  --> crates/swtorlib/src/parser/namedid.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{cell::OnceCell, collections::HashMap, rc::Rc, sync::Mutex};
[INFO] [stderr]   |           ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Sub`
[INFO] [stderr]  --> crates/swtorlib/src/parser/actor_stats.rs:1:27
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ops::{AddAssign, Sub};
[INFO] [stderr]   |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::NaiveTime`
[INFO] [stderr]  --> crates/swtorlib/src/parser/actor_stats.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use chrono::NaiveTime;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ActorType`
[INFO] [stderr]  --> crates/swtorlib/src/parser/actor_stats.rs:7:17
[INFO] [stderr]   |
[INFO] [stderr] 7 |     actor::{Actor, ActorType},
[INFO] [stderr]   |                    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::NaiveDateTime`
[INFO] [stderr]  --> crates/swtorlib/src/parser/reader.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use chrono::NaiveDateTime;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SeekFrom`
[INFO] [stderr]  --> crates/swtorlib/src/parser/reader.rs:5:23
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::{Result, SeekFrom};
[INFO] [stderr]   |                       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncSeekExt`
[INFO] [stderr]   --> crates/swtorlib/src/parser/reader.rs:10:34
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tokio::io::{AsyncBufReadExt, AsyncSeekExt, BufReader};
[INFO] [stderr]    |                                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::fmt`
[INFO] [stderr]  --> crates/swtorlib/src/parser/utils.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use core::fmt;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AddAssign`, `Div`, `Mul`, `collections::HashMap`
[INFO] [stderr]  --> crates/swtorlib/src/parser/utils.rs:3:2
[INFO] [stderr]   |
[INFO] [stderr] 3 |     collections::HashMap,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 4 |     ops::{AddAssign, Div, Mul},
[INFO] [stderr]   |           ^^^^^^^^^  ^^^  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]   --> crates/swtorlib/src/parser/reader.rs:55:8
[INFO] [stderr]    |
[INFO] [stderr] 55 |                 if let fp = ff.lock().await {
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]    = help: consider replacing the `if let` with a `let`
[INFO] [stderr]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> crates/swtorlib/src/parser/reader.rs:31:7
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let mut fp = fpath.clone();
[INFO] [stderr]    |             ----^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> crates/swtorlib/src/parser/reader.rs:33:7
[INFO] [stderr]    |
[INFO] [stderr] 33 |         let mut fp = fpath.clone();
[INFO] [stderr]    |             ----^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> crates/swtorlib/src/parser/encounter.rs:176:11
[INFO] [stderr]     |
[INFO] [stderr] 176 |                         let mut e = self.all.get_mut(ln - 1).unwrap();
[INFO] [stderr]     |                             ----^
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `class` and `spec` are never read
[INFO] [stderr]   --> crates/swtorlib/src/parser/action.rs:42:2
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub struct Discipline {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 42 |     class: NamedID,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 43 |     spec: NamedID,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Discipline` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `swtorlib` (lib) generated 25 warnings (run `cargo fix --lib -p swtorlib` to apply 23 suggestions)
[INFO] [stderr] warning: `swtorlib` (lib test) generated 25 warnings (25 duplicates)
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> crates/swtormeter/src/main.rs:85:6
[INFO] [stderr]    |
[INFO] [stderr] 85 |     let mut hps = app.hps.clone();
[INFO] [stderr]    |         ----^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> crates/swtormeter/src/main.rs:86:6
[INFO] [stderr]    |
[INFO] [stderr] 86 |     let mut hps_in = app.hps_in.clone();
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> crates/swtormeter/src/main.rs:87:6
[INFO] [stderr]    |
[INFO] [stderr] 87 |     let mut dps = app.dps.clone();
[INFO] [stderr]    |         ----^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> crates/swtormeter/src/main.rs:88:6
[INFO] [stderr]    |
[INFO] [stderr] 88 |     let mut dps_in = app.dps_in.clone();
[INFO] [stderr]    |         ----^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> crates/swtormeter/src/main.rs:89:6
[INFO] [stderr]    |
[INFO] [stderr] 89 |     let mut area = app.area.clone();
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> crates/swtormeter/src/main.rs:90:6
[INFO] [stderr]    |
[INFO] [stderr] 90 |     let mut npcs = app.npcs.clone();
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> crates/swtormeter/src/main.rs:91:6
[INFO] [stderr]    |
[INFO] [stderr] 91 |     let mut elapsed = app.elapsed.clone();
[INFO] [stderr]    |         ----^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `swtormeter` (bin "swtormeter" test) generated 7 warnings (run `cargo fix --bin "swtormeter" --tests` to apply 7 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/swtorlib-c433e1d82701d530)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test parser::tests::parse_test ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- parser::tests::parse_test stdout ----
[INFO] [stdout] [crates/swtorlib/src/parser/mod.rs:63] logs_path() = None
[INFO] [stdout] thread 'parser::tests::parse_test' panicked at crates/swtorlib/src/parser/mod.rs:64:27:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55c9211f98ac - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55c9211f98ac - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55c9211f98ac - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55c9211f98ac - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55c9212243a0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55c9212243a0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55c9211f6f2f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x55c9211f9694 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55c9211f9694 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55c9211fb357 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x55c9211fb043 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55c9210dafc7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x55c9210dafc7 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55c9211fb968 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x55c9211fb968 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55c9211fb689 - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:649:13
[INFO] [stdout]   16:     0x55c9211f9d76 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x55c9211fb422 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55c921043e65 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55c921043f03 - core::panicking::panic::h195fc2a96298d4c3
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:127:5
[INFO] [stdout]   20:     0x55c9210a20ca - core::option::Option<T>::unwrap::h8eeb011d7b17735d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/option.rs:931:21
[INFO] [stdout]   21:     0x55c92109a5f0 - swtorlib::parser::tests::parse_test::{{closure}}::h133ff77cbf8f978b
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/swtorlib/src/parser/mod.rs:64:9
[INFO] [stdout]   22:     0x55c921087cc8 - <core::pin::Pin<P> as core::future::future::Future>::poll::hc374f0603b2938cd
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/future/future.rs:125:9
[INFO] [stdout]   23:     0x55c921087c6b - <core::pin::Pin<P> as core::future::future::Future>::poll::hb745af2f95ead558
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/future/future.rs:125:9
[INFO] [stdout]   24:     0x55c9210879e4 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::hf54593bb34fd3522
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:665:57
[INFO] [stdout]   25:     0x55c92108791a - tokio::runtime::coop::with_budget::h945105e3c5ca8e9b
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/coop.rs:107:5
[INFO] [stdout]   26:     0x55c92108791a - tokio::runtime::coop::budget::hc5dc4218f3c08b2a
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/coop.rs:73:5
[INFO] [stdout]   27:     0x55c92108791a - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::hfd3e8f9c49b1586c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:665:25
[INFO] [stdout]   28:     0x55c92108629c - tokio::runtime::scheduler::current_thread::Context::enter::h1328275b69f115e0
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:410:19
[INFO] [stdout]   29:     0x55c92108710e - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::h82a79e4007417c34
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:664:36
[INFO] [stdout]   30:     0x55c921086e1b - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::hb82dbb4e6d470641
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:743:68
[INFO] [stdout]   31:     0x55c92105f0ab - tokio::runtime::context::scoped::Scoped<T>::set::hddb840aa343387e9
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x55c92106c8c9 - tokio::runtime::context::set_scheduler::{{closure}}::hf8e238ee5283895b
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/context.rs:176:26
[INFO] [stdout]   33:     0x55c92107de06 - std::thread::local::LocalKey<T>::try_with::h77820120da08ee8f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/local.rs:270:16
[INFO] [stdout]   34:     0x55c92107d32a - std::thread::local::LocalKey<T>::with::h0b089ebc8dfd043f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/local.rs:246:9
[INFO] [stdout]   35:     0x55c92106c87d - tokio::runtime::context::set_scheduler::he1b0001ec571084c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/context.rs:176:9
[INFO] [stdout]   36:     0x55c921086bb0 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h04fd31678c5ba675
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:743:27
[INFO] [stdout]   37:     0x55c921086e4d - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::h9a1af8aee3545cdd
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:652:19
[INFO] [stdout]   38:     0x55c92108533d - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::h1a855e90fea329b2
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:175:28
[INFO] [stdout]   39:     0x55c921092dba - tokio::runtime::context::runtime::enter_runtime::h4ca96afdfdb549ed
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x55c921085250 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::hdc5317af7147b9d7
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:167:9
[INFO] [stdout]   41:     0x55c92106cbed - tokio::runtime::runtime::Runtime::block_on::ha5b3e5c0ff22d3be
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/runtime/runtime.rs:348:47
[INFO] [stdout]   42:     0x55c92109a258 - swtorlib::parser::tests::parse_test::h3a2dd046d7152bb1
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/swtorlib/src/parser/mod.rs:64:3
[INFO] [stdout]   43:     0x55c92109a0e7 - swtorlib::parser::tests::parse_test::{{closure}}::h725eee84e82708d1
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/swtorlib/src/parser/mod.rs:62:23
[INFO] [stdout]   44:     0x55c92109b386 - core::ops::function::FnOnce::call_once::hb44d9de582a4178a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x55c9210e061f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x55c9210e061f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   47:     0x55c9210df635 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   48:     0x55c9210df635 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   49:     0x55c9210df635 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   50:     0x55c9210df635 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   51:     0x55c9210df635 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   52:     0x55c9210df635 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   53:     0x55c9210df635 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   54:     0x55c9210a78f6 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   55:     0x55c9210a78f6 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   56:     0x55c9210ac9a7 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   57:     0x55c9210ac9a7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   58:     0x55c9210ac9a7 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   59:     0x55c9210ac9a7 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   60:     0x55c9210ac9a7 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   61:     0x55c9210ac9a7 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   62:     0x55c9210ac9a7 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   63:     0x55c921200a75 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   64:     0x55c921200a75 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   65:     0x55c921200a75 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   66:     0x7f72c1a34ac3 - <unknown>
[INFO] [stdout]   67:     0x7f72c1ac5bf4 - __clone
[INFO] [stdout]   68:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     parser::tests::parse_test
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p swtorlib --lib`
[INFO] running `Command { std: "docker" "inspect" "b81f4ac08840049f85ccc6f24e86a95268e84a3c7f7c4c779fa343a95a92ba37", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b81f4ac08840049f85ccc6f24e86a95268e84a3c7f7c4c779fa343a95a92ba37", kill_on_drop: false }`
[INFO] [stdout] b81f4ac08840049f85ccc6f24e86a95268e84a3c7f7c4c779fa343a95a92ba37
