[INFO] fetching crate rpg-stat 2021.12.16...
[INFO] testing rpg-stat-2021.12.16 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate rpg-stat 2021.12.16 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate rpg-stat 2021.12.16
[INFO] finished tweaking crates.io crate rpg-stat 2021.12.16
[INFO] tweaked toml for crates.io crate rpg-stat 2021.12.16 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rpg-stat 2021.12.16 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rpg-stat 2021.12.16 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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 73d75c684b3514a8bad3e0f78e1feff7370d443bda9c6b160987f68dc91befa3
[INFO] running `Command { std: "docker" "start" "73d75c684b3514a8bad3e0f78e1feff7370d443bda9c6b160987f68dc91befa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "73d75c684b3514a8bad3e0f78e1feff7370d443bda9c6b160987f68dc91befa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "73d75c684b3514a8bad3e0f78e1feff7370d443bda9c6b160987f68dc91befa3" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "73d75c684b3514a8bad3e0f78e1feff7370d443bda9c6b160987f68dc91befa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "73d75c684b3514a8bad3e0f78e1feff7370d443bda9c6b160987f68dc91befa3" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling libc v0.2.109
[INFO] [stderr]    Compiling proc-macro2 v1.0.33
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.82
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling unicode-width v0.1.9
[INFO] [stderr]    Compiling ppv-lite86 v0.2.15
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling yaml-rust v0.3.5
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling num v0.2.1
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling rpg-stat v2021.12.16 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::stats::Stats`
[INFO] [stdout]   --> src/chemistry.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::stats::Stats;
[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: `crate::stats::Builder`
[INFO] [stdout]   --> src/chemistry.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::stats::Builder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/armor.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let mut gp:T = num::cast(0).unwrap();
[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/armor.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut gp:T = num::cast(0).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]    --> src/armor.rs:242:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let mut mp:T = num::cast(0).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]    --> src/armor.rs:630:13
[INFO] [stdout]     |
[INFO] [stdout] 630 |         let mut gp:T = num::cast(0).unwrap();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `hp` is never read
[INFO] [stdout]    --> src/armor.rs:626:24
[INFO] [stdout]     |
[INFO] [stdout] 626 |         let mut hp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 636 |                 hp = num::cast(200).unwrap();
[INFO] [stdout]     |                 ---------------------------- `hp` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mp` is never read
[INFO] [stdout]    --> src/armor.rs:627:24
[INFO] [stdout]     |
[INFO] [stdout] 627 |         let mut mp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 637 |                 mp = num::cast(200).unwrap();
[INFO] [stdout]     |                 ---------------------------- `mp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `xp` is never read
[INFO] [stdout]    --> src/armor.rs:628:24
[INFO] [stdout]     |
[INFO] [stdout] 628 |         let mut xp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 635 |                 xp = num::cast(50).unwrap();
[INFO] [stdout]     |                 --------------------------- `xp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `speed` is never read
[INFO] [stdout]    --> src/armor.rs:631:27
[INFO] [stdout]     |
[INFO] [stdout] 631 |         let mut speed:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 638 |                 speed = num::cast(10).unwrap();
[INFO] [stdout]     |                 ------------------------------ `speed` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/armor.rs:662:13
[INFO] [stdout]     |
[INFO] [stdout] 662 |         let mut gp:T = num::cast(0).unwrap();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `hp` is never read
[INFO] [stdout]    --> src/armor.rs:658:24
[INFO] [stdout]     |
[INFO] [stdout] 658 |         let mut hp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 672 |                 hp = num::cast(115).unwrap();
[INFO] [stdout]     |                 ---------------------------- `hp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `xp` is never read
[INFO] [stdout]    --> src/armor.rs:660:24
[INFO] [stdout]     |
[INFO] [stdout] 660 |         let mut xp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 671 |                 xp = num::cast(51).unwrap();
[INFO] [stdout]     |                 --------------------------- `xp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `speed` is never read
[INFO] [stdout]    --> src/armor.rs:663:27
[INFO] [stdout]     |
[INFO] [stdout] 663 |         let mut speed:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 673 |                 speed = num::cast(10).unwrap();
[INFO] [stdout]     |                 ------------------------------ `speed` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `atk` is never read
[INFO] [stdout]    --> src/armor.rs:664:25
[INFO] [stdout]     |
[INFO] [stdout] 664 |         let mut atk:T = num::cast(0).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 674 |                 atk = num::cast(150).unwrap();
[INFO] [stdout]     |                 ----------------------------- `atk` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `def` is never read
[INFO] [stdout]    --> src/armor.rs:665:25
[INFO] [stdout]     |
[INFO] [stdout] 665 |         let mut def:T = num::cast(0).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 675 |                 def = num::cast(350).unwrap();
[INFO] [stdout]     |                 ----------------------------- `def` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m_atk` is never read
[INFO] [stdout]    --> src/armor.rs:666:27
[INFO] [stdout]     |
[INFO] [stdout] 666 |         let mut m_atk:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 676 |                 m_atk = num::cast(100).unwrap();
[INFO] [stdout]     |                 ------------------------------- `m_atk` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m_def` is never read
[INFO] [stdout]    --> src/armor.rs:667:27
[INFO] [stdout]     |
[INFO] [stdout] 667 |         let mut m_def:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 677 |                 m_def = num::cast(450).unwrap();
[INFO] [stdout]     |                 ------------------------------- `m_def` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/armor.rs:701:13
[INFO] [stdout]     |
[INFO] [stdout] 701 |         let mut mp:T = num::cast(0).unwrap();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `hp` is never read
[INFO] [stdout]    --> src/armor.rs:700:24
[INFO] [stdout]     |
[INFO] [stdout] 700 |         let mut hp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 722 |                 hp = num::cast(115).unwrap();
[INFO] [stdout]     |                 ---------------------------- `hp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `xp` is never read
[INFO] [stdout]    --> src/armor.rs:702:24
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut xp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 721 |                 xp = num::cast(51).unwrap();
[INFO] [stdout]     |                 --------------------------- `xp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `speed` is never read
[INFO] [stdout]    --> src/armor.rs:705:27
[INFO] [stdout]     |
[INFO] [stdout] 705 |         let mut speed:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 723 |                 speed = num::cast(10).unwrap();
[INFO] [stdout]     |                 ------------------------------ `speed` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `atk` is never read
[INFO] [stdout]    --> src/armor.rs:706:25
[INFO] [stdout]     |
[INFO] [stdout] 706 |         let mut atk:T = num::cast(0).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 724 |                 atk = num::cast(150).unwrap();
[INFO] [stdout]     |                 ----------------------------- `atk` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `def` is never read
[INFO] [stdout]    --> src/armor.rs:707:25
[INFO] [stdout]     |
[INFO] [stdout] 707 |         let mut def:T = num::cast(0).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 725 |                 def = num::cast(350).unwrap();
[INFO] [stdout]     |                 ----------------------------- `def` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m_atk` is never read
[INFO] [stdout]    --> src/armor.rs:708:27
[INFO] [stdout]     |
[INFO] [stdout] 708 |         let mut m_atk:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 726 |                 m_atk = num::cast(100).unwrap();
[INFO] [stdout]     |                 ------------------------------- `m_atk` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m_def` is never read
[INFO] [stdout]    --> src/armor.rs:709:27
[INFO] [stdout]     |
[INFO] [stdout] 709 |         let mut m_def:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 727 |                 m_def = num::cast(450).unwrap();
[INFO] [stdout]     |                 ------------------------------- `m_def` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `agility` is never read
[INFO] [stdout]    --> src/armor.rs:710:29
[INFO] [stdout]     |
[INFO] [stdout] 710 |         let mut agility:T = num::cast(0).unwrap();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 728 |                 agility = num::cast(10).unwrap();
[INFO] [stdout]     |                 -------------------------------- `agility` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `strength` is never read
[INFO] [stdout]    --> src/armor.rs:711:30
[INFO] [stdout]     |
[INFO] [stdout] 711 |         let mut strength:T = num::cast(0).unwrap();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 729 |                 strength = num::cast(100).unwrap();
[INFO] [stdout]     |                 ---------------------------------- `strength` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dexterity` is never read
[INFO] [stdout]    --> src/armor.rs:712:31
[INFO] [stdout]     |
[INFO] [stdout] 712 |         let mut dexterity:T = num::cast(0).unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 732 |                 dexterity = num::cast(10).unwrap();
[INFO] [stdout]     |                 ---------------------------------- `dexterity` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `constitution` is never read
[INFO] [stdout]    --> src/armor.rs:713:34
[INFO] [stdout]     |
[INFO] [stdout] 713 |         let mut constitution:T = num::cast(0).unwrap();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 730 |                 constitution = num::cast(70).unwrap();
[INFO] [stdout]     |                 ------------------------------------- `constitution` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `charisma` is never read
[INFO] [stdout]    --> src/armor.rs:715:30
[INFO] [stdout]     |
[INFO] [stdout] 715 |         let mut charisma:T = num::cast(0).unwrap();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 731 |                 charisma = num::cast(52).unwrap();
[INFO] [stdout]     |                 --------------------------------- `charisma` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Functions` is never used
[INFO] [stdout]    --> src/stats.rs:258:11
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub trait Functions <T:Copy
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Builder` is never used
[INFO] [stdout]    --> src/stats.rs:283:11
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub trait Builder <T:Copy
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BasicPremade` is never used
[INFO] [stdout]    --> src/stats.rs:311:11
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub trait BasicPremade<T:Copy
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `NormalPremade` is never used
[INFO] [stdout]    --> src/stats.rs:557:11
[INFO] [stdout]     |
[INFO] [stdout] 557 | pub trait NormalPremade<T:Copy
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AdvancedPremade` is never used
[INFO] [stdout]    --> src/stats.rs:869:11
[INFO] [stdout]     |
[INFO] [stdout] 869 | pub trait AdvancedPremade<T:Copy
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/stats.rs:1399:8
[INFO] [stdout]      |
[INFO] [stdout] 1393 | pub trait Premade {
[INFO] [stdout]      |           ------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 1399 |     fn set_hp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1402 |     fn set_mp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1405 |     fn set_xp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1414 |     fn set_xp_next(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1417 |     fn set_gp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1439 |     fn id(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1443 |     fn hp(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1447 |     fn mp(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1475 |     fn gp(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1510 |     fn add_xp(&mut self, amount:f64) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1530 |     fn damage(&mut self, amount:f64) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1540 |     fn heal(&mut self, amount:f64) {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1551 |     fn attack_stable(&self, other:Stats) -> f64 { 
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1560 |     fn attack(&self, other:Stats) -> f64 {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1567 |     fn buy(&mut self, price:f64) -> bool {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1575 |     fn earn(&mut self, price:f64) {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Advanced` is never used
[INFO] [stdout]    --> src/class.rs:851:10
[INFO] [stdout]     |
[INFO] [stdout] 851 | pub enum Advanced {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Shape` is never used
[INFO] [stdout]  --> src/body.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Shape {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Body` is never constructed
[INFO] [stdout]   --> src/body.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Body {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/body.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Body {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 38 |     pub fn new()-> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Basic` is never used
[INFO] [stdout]    --> src/types.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum Basic {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `random_type` and `random` are never used
[INFO] [stdout]   --> src/random.rs:4:8
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub trait Random {
[INFO] [stdout]    |           ------ methods in this trait
[INFO] [stdout]  3 |     type Type;
[INFO] [stdout]  4 |     fn random_type(&self) -> Self::Type;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     fn random(&self, min:f64, max:f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_0max` is never used
[INFO] [stdout]   --> src/random.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn random_0max(value:u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_character_name` is never used
[INFO] [stdout]   --> src/random.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn random_character_name() ->String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_creature_name` is never used
[INFO] [stdout]   --> src/random.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn random_creature_name() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Basic` is never used
[INFO] [stdout]    --> src/special.rs:199:10
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub enum Basic {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Advanced` is never used
[INFO] [stdout]    --> src/special.rs:454:10
[INFO] [stdout]     |
[INFO] [stdout] 454 | pub enum Advanced {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tp_cost` and `tp_total` are never used
[INFO] [stdout]    --> src/special.rs:508:8
[INFO] [stdout]     |
[INFO] [stdout] 490 | pub trait SpecialMove <T:Copy 
[INFO] [stdout]     |           ----------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 508 |     fn tp_cost(&self, input:T) -> T {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |     fn tp_total(&self, input:T) -> T{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Basic` is never used
[INFO] [stdout]   --> src/effect.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum Basic {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Advanced` is never used
[INFO] [stdout]    --> src/effect.rs:175:10
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub enum Advanced {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cost` and `resell` are never used
[INFO] [stdout]   --> src/item.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub trait Item {
[INFO] [stdout]    |           ---- methods in this trait
[INFO] [stdout] 42 |     fn value(&self) -> f64;
[INFO] [stdout] 43 |     fn cost(&self) -> f64;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 44 |     fn resell(&self) -> f64;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Basic` is never used
[INFO] [stdout]   --> src/item.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum Basic {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Advanced` is never used
[INFO] [stdout]    --> src/item.rs:369:10
[INFO] [stdout]     |
[INFO] [stdout] 369 | pub enum Advanced {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.55s
[INFO] running `Command { std: "docker" "inspect" "73d75c684b3514a8bad3e0f78e1feff7370d443bda9c6b160987f68dc91befa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "73d75c684b3514a8bad3e0f78e1feff7370d443bda9c6b160987f68dc91befa3" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `crate::stats::Stats`
[INFO] [stdout]   --> src/chemistry.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::stats::Stats;
[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: `crate::stats::Builder`
[INFO] [stdout]   --> src/chemistry.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::stats::Builder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/armor.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let mut gp:T = num::cast(0).unwrap();
[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/armor.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut gp:T = num::cast(0).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]    --> src/armor.rs:242:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let mut mp:T = num::cast(0).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]    --> src/armor.rs:630:13
[INFO] [stdout]     |
[INFO] [stdout] 630 |         let mut gp:T = num::cast(0).unwrap();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `hp` is never read
[INFO] [stdout]    --> src/armor.rs:626:24
[INFO] [stdout]     |
[INFO] [stdout] 626 |         let mut hp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 636 |                 hp = num::cast(200).unwrap();
[INFO] [stdout]     |                 ---------------------------- `hp` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mp` is never read
[INFO] [stdout]    --> src/armor.rs:627:24
[INFO] [stdout]     |
[INFO] [stdout] 627 |         let mut mp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 637 |                 mp = num::cast(200).unwrap();
[INFO] [stdout]     |                 ---------------------------- `mp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `xp` is never read
[INFO] [stdout]    --> src/armor.rs:628:24
[INFO] [stdout]     |
[INFO] [stdout] 628 |         let mut xp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 635 |                 xp = num::cast(50).unwrap();
[INFO] [stdout]     |                 --------------------------- `xp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `speed` is never read
[INFO] [stdout]    --> src/armor.rs:631:27
[INFO] [stdout]     |
[INFO] [stdout] 631 |         let mut speed:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 638 |                 speed = num::cast(10).unwrap();
[INFO] [stdout]     |                 ------------------------------ `speed` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/armor.rs:662:13
[INFO] [stdout]     |
[INFO] [stdout] 662 |         let mut gp:T = num::cast(0).unwrap();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `hp` is never read
[INFO] [stdout]    --> src/armor.rs:658:24
[INFO] [stdout]     |
[INFO] [stdout] 658 |         let mut hp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 672 |                 hp = num::cast(115).unwrap();
[INFO] [stdout]     |                 ---------------------------- `hp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `xp` is never read
[INFO] [stdout]    --> src/armor.rs:660:24
[INFO] [stdout]     |
[INFO] [stdout] 660 |         let mut xp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 671 |                 xp = num::cast(51).unwrap();
[INFO] [stdout]     |                 --------------------------- `xp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `speed` is never read
[INFO] [stdout]    --> src/armor.rs:663:27
[INFO] [stdout]     |
[INFO] [stdout] 663 |         let mut speed:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 673 |                 speed = num::cast(10).unwrap();
[INFO] [stdout]     |                 ------------------------------ `speed` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `atk` is never read
[INFO] [stdout]    --> src/armor.rs:664:25
[INFO] [stdout]     |
[INFO] [stdout] 664 |         let mut atk:T = num::cast(0).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 674 |                 atk = num::cast(150).unwrap();
[INFO] [stdout]     |                 ----------------------------- `atk` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `def` is never read
[INFO] [stdout]    --> src/armor.rs:665:25
[INFO] [stdout]     |
[INFO] [stdout] 665 |         let mut def:T = num::cast(0).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 675 |                 def = num::cast(350).unwrap();
[INFO] [stdout]     |                 ----------------------------- `def` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m_atk` is never read
[INFO] [stdout]    --> src/armor.rs:666:27
[INFO] [stdout]     |
[INFO] [stdout] 666 |         let mut m_atk:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 676 |                 m_atk = num::cast(100).unwrap();
[INFO] [stdout]     |                 ------------------------------- `m_atk` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m_def` is never read
[INFO] [stdout]    --> src/armor.rs:667:27
[INFO] [stdout]     |
[INFO] [stdout] 667 |         let mut m_def:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 677 |                 m_def = num::cast(450).unwrap();
[INFO] [stdout]     |                 ------------------------------- `m_def` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/armor.rs:701:13
[INFO] [stdout]     |
[INFO] [stdout] 701 |         let mut mp:T = num::cast(0).unwrap();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `hp` is never read
[INFO] [stdout]    --> src/armor.rs:700:24
[INFO] [stdout]     |
[INFO] [stdout] 700 |         let mut hp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 722 |                 hp = num::cast(115).unwrap();
[INFO] [stdout]     |                 ---------------------------- `hp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `xp` is never read
[INFO] [stdout]    --> src/armor.rs:702:24
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut xp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 721 |                 xp = num::cast(51).unwrap();
[INFO] [stdout]     |                 --------------------------- `xp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `speed` is never read
[INFO] [stdout]    --> src/armor.rs:705:27
[INFO] [stdout]     |
[INFO] [stdout] 705 |         let mut speed:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 723 |                 speed = num::cast(10).unwrap();
[INFO] [stdout]     |                 ------------------------------ `speed` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `atk` is never read
[INFO] [stdout]    --> src/armor.rs:706:25
[INFO] [stdout]     |
[INFO] [stdout] 706 |         let mut atk:T = num::cast(0).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 724 |                 atk = num::cast(150).unwrap();
[INFO] [stdout]     |                 ----------------------------- `atk` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `def` is never read
[INFO] [stdout]    --> src/armor.rs:707:25
[INFO] [stdout]     |
[INFO] [stdout] 707 |         let mut def:T = num::cast(0).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 725 |                 def = num::cast(350).unwrap();
[INFO] [stdout]     |                 ----------------------------- `def` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m_atk` is never read
[INFO] [stdout]    --> src/armor.rs:708:27
[INFO] [stdout]     |
[INFO] [stdout] 708 |         let mut m_atk:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 726 |                 m_atk = num::cast(100).unwrap();
[INFO] [stdout]     |                 ------------------------------- `m_atk` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m_def` is never read
[INFO] [stdout]    --> src/armor.rs:709:27
[INFO] [stdout]     |
[INFO] [stdout] 709 |         let mut m_def:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 727 |                 m_def = num::cast(450).unwrap();
[INFO] [stdout]     |                 ------------------------------- `m_def` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `agility` is never read
[INFO] [stdout]    --> src/armor.rs:710:29
[INFO] [stdout]     |
[INFO] [stdout] 710 |         let mut agility:T = num::cast(0).unwrap();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 728 |                 agility = num::cast(10).unwrap();
[INFO] [stdout]     |                 -------------------------------- `agility` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `strength` is never read
[INFO] [stdout]    --> src/armor.rs:711:30
[INFO] [stdout]     |
[INFO] [stdout] 711 |         let mut strength:T = num::cast(0).unwrap();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 729 |                 strength = num::cast(100).unwrap();
[INFO] [stdout]     |                 ---------------------------------- `strength` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dexterity` is never read
[INFO] [stdout]    --> src/armor.rs:712:31
[INFO] [stdout]     |
[INFO] [stdout] 712 |         let mut dexterity:T = num::cast(0).unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 732 |                 dexterity = num::cast(10).unwrap();
[INFO] [stdout]     |                 ---------------------------------- `dexterity` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `constitution` is never read
[INFO] [stdout]    --> src/armor.rs:713:34
[INFO] [stdout]     |
[INFO] [stdout] 713 |         let mut constitution:T = num::cast(0).unwrap();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 730 |                 constitution = num::cast(70).unwrap();
[INFO] [stdout]     |                 ------------------------------------- `constitution` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `charisma` is never read
[INFO] [stdout]    --> src/armor.rs:715:30
[INFO] [stdout]     |
[INFO] [stdout] 715 |         let mut charisma:T = num::cast(0).unwrap();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 731 |                 charisma = num::cast(52).unwrap();
[INFO] [stdout]     |                 --------------------------------- `charisma` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rpg-stat v2021.12.16 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::stats::Stats`
[INFO] [stdout]   --> src/chemistry.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::stats::Stats;
[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: `crate::stats::Builder`
[INFO] [stdout]   --> src/chemistry.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::stats::Builder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Functions` is never used
[INFO] [stdout]    --> src/stats.rs:258:11
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub trait Functions <T:Copy
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `build_normal` and `build_advanced` are never used
[INFO] [stdout]    --> src/stats.rs:302:8
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub trait Builder <T:Copy
[INFO] [stdout]     |           ------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 302 |     fn build_normal(&self, id:T, level:T) -> Normal<T>;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 303 |     // Build an `Advanced` stat
[INFO] [stdout] 304 |     fn build_advanced(&self, id:T, level:T) -> Advanced<T>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/stats.rs:335:8
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub trait BasicPremade<T:Copy
[INFO] [stdout]     |           ------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 335 |     fn set_mp(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     fn set_xp(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn set_hp_max(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     fn set_mp_max(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     fn set_xp_next(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     fn set_gp(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     fn id(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     fn mp(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     fn xp(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     fn mp_max(&self) -> T {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     fn xp_next(&self) -> T {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn level(&self) -> T {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     fn speed(&self) -> T {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     fn gp(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/stats.rs:581:8
[INFO] [stdout]     |
[INFO] [stdout] 557 | pub trait NormalPremade<T:Copy
[INFO] [stdout]     |           ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 581 |     fn set_mp(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 584 |     fn set_xp(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 587 |     fn set_hp_max(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     fn set_mp_max(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 593 |     fn set_xp_next(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 596 |     fn set_gp(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     fn set_def(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 605 |     fn set_m_atk(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 608 |     fn set_m_def(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 612 |     fn id(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 620 |     fn mp(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 624 |     fn xp(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 628 |     fn hp_max(&self) -> T {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 632 |     fn mp_max(&self) -> T {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 636 |     fn xp_next(&self) -> T {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 640 |     fn level(&self) -> T {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 644 |     fn speed(&self) -> T {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 648 |     fn gp(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 656 |     fn def(&self) -> T {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 660 |     fn m_atk(&self) -> T {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 664 |     fn m_def(&self) -> T {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 669 |     fn damage(&mut self, amount:T) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 679 |     fn heal(&mut self, amount:T) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 690 |     fn attack_stable(&self, other:Normal<T>) -> T { 
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 699 |     fn attack(&self, other:Normal<T>) -> T {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AdvancedPremade` is never used
[INFO] [stdout]    --> src/stats.rs:869:11
[INFO] [stdout]     |
[INFO] [stdout] 869 | pub trait AdvancedPremade<T:Copy
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/stats.rs:1399:8
[INFO] [stdout]      |
[INFO] [stdout] 1393 | pub trait Premade {
[INFO] [stdout]      |           ------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 1399 |     fn set_hp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1402 |     fn set_mp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1405 |     fn set_xp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1414 |     fn set_xp_next(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1417 |     fn set_gp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1439 |     fn id(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1443 |     fn hp(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1447 |     fn mp(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1475 |     fn gp(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1510 |     fn add_xp(&mut self, amount:f64) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1530 |     fn damage(&mut self, amount:f64) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1540 |     fn heal(&mut self, amount:f64) {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1551 |     fn attack_stable(&self, other:Stats) -> f64 { 
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1560 |     fn attack(&self, other:Stats) -> f64 {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1567 |     fn buy(&mut self, price:f64) -> bool {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1575 |     fn earn(&mut self, price:f64) {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Advanced` is never used
[INFO] [stdout]    --> src/class.rs:851:10
[INFO] [stdout]     |
[INFO] [stdout] 851 | pub enum Advanced {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Shape` is never used
[INFO] [stdout]  --> src/body.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Shape {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Body` is never constructed
[INFO] [stdout]   --> src/body.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Body {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/body.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Body {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 38 |     pub fn new()-> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EquationalEnemy` is never constructed
[INFO] [stdout]   --> src/tests.rs:66:16
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub struct EquationalEnemy {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Basic` is never used
[INFO] [stdout]    --> src/types.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum Basic {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `random_type` and `random` are never used
[INFO] [stdout]   --> src/random.rs:4:8
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub trait Random {
[INFO] [stdout]    |           ------ methods in this trait
[INFO] [stdout]  3 |     type Type;
[INFO] [stdout]  4 |     fn random_type(&self) -> Self::Type;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     fn random(&self, min:f64, max:f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_0max` is never used
[INFO] [stdout]   --> src/random.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn random_0max(value:u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_character_name` is never used
[INFO] [stdout]   --> src/random.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn random_character_name() ->String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_creature_name` is never used
[INFO] [stdout]   --> src/random.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn random_creature_name() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Basic` is never used
[INFO] [stdout]    --> src/special.rs:199:10
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub enum Basic {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Advanced` is never used
[INFO] [stdout]    --> src/special.rs:454:10
[INFO] [stdout]     |
[INFO] [stdout] 454 | pub enum Advanced {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tp_cost` and `tp_total` are never used
[INFO] [stdout]    --> src/special.rs:508:8
[INFO] [stdout]     |
[INFO] [stdout] 490 | pub trait SpecialMove <T:Copy 
[INFO] [stdout]     |           ----------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 508 |     fn tp_cost(&self, input:T) -> T {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |     fn tp_total(&self, input:T) -> T{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Basic` is never used
[INFO] [stdout]   --> src/effect.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum Basic {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Advanced` is never used
[INFO] [stdout]    --> src/effect.rs:175:10
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub enum Advanced {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cost` and `resell` are never used
[INFO] [stdout]   --> src/item.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub trait Item {
[INFO] [stdout]    |           ---- methods in this trait
[INFO] [stdout] 42 |     fn value(&self) -> f64;
[INFO] [stdout] 43 |     fn cost(&self) -> f64;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 44 |     fn resell(&self) -> f64;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Basic` is never used
[INFO] [stdout]   --> src/item.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum Basic {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Advanced` is never used
[INFO] [stdout]    --> src/item.rs:369:10
[INFO] [stdout]     |
[INFO] [stdout] 369 | pub enum Advanced {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/armor.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let mut gp:T = num::cast(0).unwrap();
[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/armor.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut gp:T = num::cast(0).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]    --> src/armor.rs:242:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let mut mp:T = num::cast(0).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]    --> src/armor.rs:630:13
[INFO] [stdout]     |
[INFO] [stdout] 630 |         let mut gp:T = num::cast(0).unwrap();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `hp` is never read
[INFO] [stdout]    --> src/armor.rs:626:24
[INFO] [stdout]     |
[INFO] [stdout] 626 |         let mut hp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 636 |                 hp = num::cast(200).unwrap();
[INFO] [stdout]     |                 ---------------------------- `hp` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mp` is never read
[INFO] [stdout]    --> src/armor.rs:627:24
[INFO] [stdout]     |
[INFO] [stdout] 627 |         let mut mp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 637 |                 mp = num::cast(200).unwrap();
[INFO] [stdout]     |                 ---------------------------- `mp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `xp` is never read
[INFO] [stdout]    --> src/armor.rs:628:24
[INFO] [stdout]     |
[INFO] [stdout] 628 |         let mut xp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 635 |                 xp = num::cast(50).unwrap();
[INFO] [stdout]     |                 --------------------------- `xp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `speed` is never read
[INFO] [stdout]    --> src/armor.rs:631:27
[INFO] [stdout]     |
[INFO] [stdout] 631 |         let mut speed:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 638 |                 speed = num::cast(10).unwrap();
[INFO] [stdout]     |                 ------------------------------ `speed` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/armor.rs:662:13
[INFO] [stdout]     |
[INFO] [stdout] 662 |         let mut gp:T = num::cast(0).unwrap();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `hp` is never read
[INFO] [stdout]    --> src/armor.rs:658:24
[INFO] [stdout]     |
[INFO] [stdout] 658 |         let mut hp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 672 |                 hp = num::cast(115).unwrap();
[INFO] [stdout]     |                 ---------------------------- `hp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `xp` is never read
[INFO] [stdout]    --> src/armor.rs:660:24
[INFO] [stdout]     |
[INFO] [stdout] 660 |         let mut xp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 671 |                 xp = num::cast(51).unwrap();
[INFO] [stdout]     |                 --------------------------- `xp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `speed` is never read
[INFO] [stdout]    --> src/armor.rs:663:27
[INFO] [stdout]     |
[INFO] [stdout] 663 |         let mut speed:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 673 |                 speed = num::cast(10).unwrap();
[INFO] [stdout]     |                 ------------------------------ `speed` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `atk` is never read
[INFO] [stdout]    --> src/armor.rs:664:25
[INFO] [stdout]     |
[INFO] [stdout] 664 |         let mut atk:T = num::cast(0).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 674 |                 atk = num::cast(150).unwrap();
[INFO] [stdout]     |                 ----------------------------- `atk` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `def` is never read
[INFO] [stdout]    --> src/armor.rs:665:25
[INFO] [stdout]     |
[INFO] [stdout] 665 |         let mut def:T = num::cast(0).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 675 |                 def = num::cast(350).unwrap();
[INFO] [stdout]     |                 ----------------------------- `def` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m_atk` is never read
[INFO] [stdout]    --> src/armor.rs:666:27
[INFO] [stdout]     |
[INFO] [stdout] 666 |         let mut m_atk:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 676 |                 m_atk = num::cast(100).unwrap();
[INFO] [stdout]     |                 ------------------------------- `m_atk` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m_def` is never read
[INFO] [stdout]    --> src/armor.rs:667:27
[INFO] [stdout]     |
[INFO] [stdout] 667 |         let mut m_def:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 677 |                 m_def = num::cast(450).unwrap();
[INFO] [stdout]     |                 ------------------------------- `m_def` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/armor.rs:701:13
[INFO] [stdout]     |
[INFO] [stdout] 701 |         let mut mp:T = num::cast(0).unwrap();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `hp` is never read
[INFO] [stdout]    --> src/armor.rs:700:24
[INFO] [stdout]     |
[INFO] [stdout] 700 |         let mut hp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 722 |                 hp = num::cast(115).unwrap();
[INFO] [stdout]     |                 ---------------------------- `hp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `xp` is never read
[INFO] [stdout]    --> src/armor.rs:702:24
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut xp:T = num::cast(0).unwrap();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 721 |                 xp = num::cast(51).unwrap();
[INFO] [stdout]     |                 --------------------------- `xp` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `speed` is never read
[INFO] [stdout]    --> src/armor.rs:705:27
[INFO] [stdout]     |
[INFO] [stdout] 705 |         let mut speed:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 723 |                 speed = num::cast(10).unwrap();
[INFO] [stdout]     |                 ------------------------------ `speed` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `atk` is never read
[INFO] [stdout]    --> src/armor.rs:706:25
[INFO] [stdout]     |
[INFO] [stdout] 706 |         let mut atk:T = num::cast(0).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 724 |                 atk = num::cast(150).unwrap();
[INFO] [stdout]     |                 ----------------------------- `atk` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `def` is never read
[INFO] [stdout]    --> src/armor.rs:707:25
[INFO] [stdout]     |
[INFO] [stdout] 707 |         let mut def:T = num::cast(0).unwrap();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 725 |                 def = num::cast(350).unwrap();
[INFO] [stdout]     |                 ----------------------------- `def` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m_atk` is never read
[INFO] [stdout]    --> src/armor.rs:708:27
[INFO] [stdout]     |
[INFO] [stdout] 708 |         let mut m_atk:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 726 |                 m_atk = num::cast(100).unwrap();
[INFO] [stdout]     |                 ------------------------------- `m_atk` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `m_def` is never read
[INFO] [stdout]    --> src/armor.rs:709:27
[INFO] [stdout]     |
[INFO] [stdout] 709 |         let mut m_def:T = num::cast(0).unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 727 |                 m_def = num::cast(450).unwrap();
[INFO] [stdout]     |                 ------------------------------- `m_def` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `agility` is never read
[INFO] [stdout]    --> src/armor.rs:710:29
[INFO] [stdout]     |
[INFO] [stdout] 710 |         let mut agility:T = num::cast(0).unwrap();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 728 |                 agility = num::cast(10).unwrap();
[INFO] [stdout]     |                 -------------------------------- `agility` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `strength` is never read
[INFO] [stdout]    --> src/armor.rs:711:30
[INFO] [stdout]     |
[INFO] [stdout] 711 |         let mut strength:T = num::cast(0).unwrap();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 729 |                 strength = num::cast(100).unwrap();
[INFO] [stdout]     |                 ---------------------------------- `strength` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dexterity` is never read
[INFO] [stdout]    --> src/armor.rs:712:31
[INFO] [stdout]     |
[INFO] [stdout] 712 |         let mut dexterity:T = num::cast(0).unwrap();
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 732 |                 dexterity = num::cast(10).unwrap();
[INFO] [stdout]     |                 ---------------------------------- `dexterity` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `constitution` is never read
[INFO] [stdout]    --> src/armor.rs:713:34
[INFO] [stdout]     |
[INFO] [stdout] 713 |         let mut constitution:T = num::cast(0).unwrap();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 730 |                 constitution = num::cast(70).unwrap();
[INFO] [stdout]     |                 ------------------------------------- `constitution` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `charisma` is never read
[INFO] [stdout]    --> src/armor.rs:715:30
[INFO] [stdout]     |
[INFO] [stdout] 715 |         let mut charisma:T = num::cast(0).unwrap();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 731 |                 charisma = num::cast(52).unwrap();
[INFO] [stdout]     |                 --------------------------------- `charisma` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.05s
[INFO] running `Command { std: "docker" "inspect" "73d75c684b3514a8bad3e0f78e1feff7370d443bda9c6b160987f68dc91befa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "73d75c684b3514a8bad3e0f78e1feff7370d443bda9c6b160987f68dc91befa3" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `crate::stats::Stats`
[INFO] [stderr]   --> src/chemistry.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::stats::Stats;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::stats::Builder`
[INFO] [stderr]   --> src/chemistry.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use crate::stats::Builder;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/armor.rs:116:13
[INFO] [stderr]     |
[INFO] [stderr] 116 |         let mut gp:T = num::cast(0).unwrap();
[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/armor.rs:172:13
[INFO] [stderr]     |
[INFO] [stderr] 172 |         let mut gp:T = num::cast(0).unwrap();
[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/armor.rs:242:13
[INFO] [stderr]     |
[INFO] [stderr] 242 |         let mut mp:T = num::cast(0).unwrap();
[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/armor.rs:630:13
[INFO] [stderr]     |
[INFO] [stderr] 630 |         let mut gp:T = num::cast(0).unwrap();
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `hp` is never read
[INFO] [stderr]    --> src/armor.rs:626:24
[INFO] [stderr]     |
[INFO] [stderr] 626 |         let mut hp:T = num::cast(0).unwrap();
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 636 |                 hp = num::cast(200).unwrap();
[INFO] [stderr]     |                 ---------------------------- `hp` is overwritten here before the previous value is read
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `mp` is never read
[INFO] [stderr]    --> src/armor.rs:627:24
[INFO] [stderr]     |
[INFO] [stderr] 627 |         let mut mp:T = num::cast(0).unwrap();
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 637 |                 mp = num::cast(200).unwrap();
[INFO] [stderr]     |                 ---------------------------- `mp` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `xp` is never read
[INFO] [stderr]    --> src/armor.rs:628:24
[INFO] [stderr]     |
[INFO] [stderr] 628 |         let mut xp:T = num::cast(0).unwrap();
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 635 |                 xp = num::cast(50).unwrap();
[INFO] [stderr]     |                 --------------------------- `xp` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `speed` is never read
[INFO] [stderr]    --> src/armor.rs:631:27
[INFO] [stderr]     |
[INFO] [stderr] 631 |         let mut speed:T = num::cast(0).unwrap();
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 638 |                 speed = num::cast(10).unwrap();
[INFO] [stderr]     |                 ------------------------------ `speed` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/armor.rs:662:13
[INFO] [stderr]     |
[INFO] [stderr] 662 |         let mut gp:T = num::cast(0).unwrap();
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `hp` is never read
[INFO] [stderr]    --> src/armor.rs:658:24
[INFO] [stderr]     |
[INFO] [stderr] 658 |         let mut hp:T = num::cast(0).unwrap();
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 672 |                 hp = num::cast(115).unwrap();
[INFO] [stderr]     |                 ---------------------------- `hp` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `xp` is never read
[INFO] [stderr]    --> src/armor.rs:660:24
[INFO] [stderr]     |
[INFO] [stderr] 660 |         let mut xp:T = num::cast(0).unwrap();
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 671 |                 xp = num::cast(51).unwrap();
[INFO] [stderr]     |                 --------------------------- `xp` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `speed` is never read
[INFO] [stderr]    --> src/armor.rs:663:27
[INFO] [stderr]     |
[INFO] [stderr] 663 |         let mut speed:T = num::cast(0).unwrap();
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 673 |                 speed = num::cast(10).unwrap();
[INFO] [stderr]     |                 ------------------------------ `speed` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `atk` is never read
[INFO] [stderr]    --> src/armor.rs:664:25
[INFO] [stderr]     |
[INFO] [stderr] 664 |         let mut atk:T = num::cast(0).unwrap();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 674 |                 atk = num::cast(150).unwrap();
[INFO] [stderr]     |                 ----------------------------- `atk` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `def` is never read
[INFO] [stderr]    --> src/armor.rs:665:25
[INFO] [stderr]     |
[INFO] [stderr] 665 |         let mut def:T = num::cast(0).unwrap();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 675 |                 def = num::cast(350).unwrap();
[INFO] [stderr]     |                 ----------------------------- `def` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `m_atk` is never read
[INFO] [stderr]    --> src/armor.rs:666:27
[INFO] [stderr]     |
[INFO] [stderr] 666 |         let mut m_atk:T = num::cast(0).unwrap();
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 676 |                 m_atk = num::cast(100).unwrap();
[INFO] [stderr]     |                 ------------------------------- `m_atk` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `m_def` is never read
[INFO] [stderr]    --> src/armor.rs:667:27
[INFO] [stderr]     |
[INFO] [stderr] 667 |         let mut m_def:T = num::cast(0).unwrap();
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 677 |                 m_def = num::cast(450).unwrap();
[INFO] [stderr]     |                 ------------------------------- `m_def` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/armor.rs:701:13
[INFO] [stderr]     |
[INFO] [stderr] 701 |         let mut mp:T = num::cast(0).unwrap();
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `hp` is never read
[INFO] [stderr]    --> src/armor.rs:700:24
[INFO] [stderr]     |
[INFO] [stderr] 700 |         let mut hp:T = num::cast(0).unwrap();
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 722 |                 hp = num::cast(115).unwrap();
[INFO] [stderr]     |                 ---------------------------- `hp` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `xp` is never read
[INFO] [stderr]    --> src/armor.rs:702:24
[INFO] [stderr]     |
[INFO] [stderr] 702 |         let mut xp:T = num::cast(0).unwrap();
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 721 |                 xp = num::cast(51).unwrap();
[INFO] [stderr]     |                 --------------------------- `xp` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `speed` is never read
[INFO] [stderr]    --> src/armor.rs:705:27
[INFO] [stderr]     |
[INFO] [stderr] 705 |         let mut speed:T = num::cast(0).unwrap();
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 723 |                 speed = num::cast(10).unwrap();
[INFO] [stderr]     |                 ------------------------------ `speed` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `atk` is never read
[INFO] [stderr]    --> src/armor.rs:706:25
[INFO] [stderr]     |
[INFO] [stderr] 706 |         let mut atk:T = num::cast(0).unwrap();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 724 |                 atk = num::cast(150).unwrap();
[INFO] [stderr]     |                 ----------------------------- `atk` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `def` is never read
[INFO] [stderr]    --> src/armor.rs:707:25
[INFO] [stderr]     |
[INFO] [stderr] 707 |         let mut def:T = num::cast(0).unwrap();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 725 |                 def = num::cast(350).unwrap();
[INFO] [stderr]     |                 ----------------------------- `def` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `m_atk` is never read
[INFO] [stderr]    --> src/armor.rs:708:27
[INFO] [stderr]     |
[INFO] [stderr] 708 |         let mut m_atk:T = num::cast(0).unwrap();
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 726 |                 m_atk = num::cast(100).unwrap();
[INFO] [stderr]     |                 ------------------------------- `m_atk` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `m_def` is never read
[INFO] [stderr]    --> src/armor.rs:709:27
[INFO] [stderr]     |
[INFO] [stderr] 709 |         let mut m_def:T = num::cast(0).unwrap();
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 727 |                 m_def = num::cast(450).unwrap();
[INFO] [stderr]     |                 ------------------------------- `m_def` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `agility` is never read
[INFO] [stderr]    --> src/armor.rs:710:29
[INFO] [stderr]     |
[INFO] [stderr] 710 |         let mut agility:T = num::cast(0).unwrap();
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 728 |                 agility = num::cast(10).unwrap();
[INFO] [stderr]     |                 -------------------------------- `agility` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `strength` is never read
[INFO] [stderr]    --> src/armor.rs:711:30
[INFO] [stderr]     |
[INFO] [stderr] 711 |         let mut strength:T = num::cast(0).unwrap();
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 729 |                 strength = num::cast(100).unwrap();
[INFO] [stderr]     |                 ---------------------------------- `strength` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `dexterity` is never read
[INFO] [stderr]    --> src/armor.rs:712:31
[INFO] [stderr]     |
[INFO] [stderr] 712 |         let mut dexterity:T = num::cast(0).unwrap();
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 732 |                 dexterity = num::cast(10).unwrap();
[INFO] [stderr]     |                 ---------------------------------- `dexterity` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `constitution` is never read
[INFO] [stderr]    --> src/armor.rs:713:34
[INFO] [stderr]     |
[INFO] [stderr] 713 |         let mut constitution:T = num::cast(0).unwrap();
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 730 |                 constitution = num::cast(70).unwrap();
[INFO] [stderr]     |                 ------------------------------------- `constitution` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `charisma` is never read
[INFO] [stderr]    --> src/armor.rs:715:30
[INFO] [stderr]     |
[INFO] [stderr] 715 |         let mut charisma:T = num::cast(0).unwrap();
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 731 |                 charisma = num::cast(52).unwrap();
[INFO] [stderr]     |                 --------------------------------- `charisma` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: `rpg-stat` (lib) generated 31 warnings (run `cargo fix --lib -p rpg-stat` to apply 8 suggestions)
[INFO] [stderr] warning: `rpg-stat` (lib test) generated 31 warnings (31 duplicates)
[INFO] [stderr] warning: trait `Functions` is never used
[INFO] [stderr]    --> src/stats.rs:258:11
[INFO] [stderr]     |
[INFO] [stderr] 258 | pub trait Functions <T:Copy
[INFO] [stderr]     |           ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `build_normal` and `build_advanced` are never used
[INFO] [stderr]    --> src/stats.rs:302:8
[INFO] [stderr]     |
[INFO] [stderr] 283 | pub trait Builder <T:Copy
[INFO] [stderr]     |           ------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 302 |     fn build_normal(&self, id:T, level:T) -> Normal<T>;
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 303 |     // Build an `Advanced` stat
[INFO] [stderr] 304 |     fn build_advanced(&self, id:T, level:T) -> Advanced<T>;
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/stats.rs:335:8
[INFO] [stderr]     |
[INFO] [stderr] 311 | pub trait BasicPremade<T:Copy
[INFO] [stderr]     |           ------------ methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 335 |     fn set_mp(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 338 |     fn set_xp(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 341 |     fn set_hp_max(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 344 |     fn set_mp_max(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 347 |     fn set_xp_next(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 350 |     fn set_gp(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 354 |     fn id(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 362 |     fn mp(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 366 |     fn xp(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 374 |     fn mp_max(&self) -> T {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 378 |     fn xp_next(&self) -> T {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 382 |     fn level(&self) -> T {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 386 |     fn speed(&self) -> T {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 390 |     fn gp(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/stats.rs:581:8
[INFO] [stderr]     |
[INFO] [stderr] 557 | pub trait NormalPremade<T:Copy
[INFO] [stderr]     |           ------------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 581 |     fn set_mp(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 584 |     fn set_xp(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 587 |     fn set_hp_max(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 590 |     fn set_mp_max(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 593 |     fn set_xp_next(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 596 |     fn set_gp(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 602 |     fn set_def(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 605 |     fn set_m_atk(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 608 |     fn set_m_def(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 612 |     fn id(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 620 |     fn mp(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 624 |     fn xp(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 628 |     fn hp_max(&self) -> T {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 632 |     fn mp_max(&self) -> T {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 636 |     fn xp_next(&self) -> T {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 640 |     fn level(&self) -> T {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 644 |     fn speed(&self) -> T {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 648 |     fn gp(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 656 |     fn def(&self) -> T {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 660 |     fn m_atk(&self) -> T {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 664 |     fn m_def(&self) -> T {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 669 |     fn damage(&mut self, amount:T) {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 679 |     fn heal(&mut self, amount:T) {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 690 |     fn attack_stable(&self, other:Normal<T>) -> T { 
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 699 |     fn attack(&self, other:Normal<T>) -> T {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `AdvancedPremade` is never used
[INFO] [stderr]    --> src/stats.rs:869:11
[INFO] [stderr]     |
[INFO] [stderr] 869 | pub trait AdvancedPremade<T:Copy
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]     --> src/stats.rs:1399:8
[INFO] [stderr]      |
[INFO] [stderr] 1393 | pub trait Premade {
[INFO] [stderr]      |           ------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 1399 |     fn set_hp(&mut self, amount:f64);
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1402 |     fn set_mp(&mut self, amount:f64);
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1405 |     fn set_xp(&mut self, amount:f64);
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1414 |     fn set_xp_next(&mut self, amount:f64);
[INFO] [stderr]      |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1417 |     fn set_gp(&mut self, amount:f64);
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1439 |     fn id(&self) -> f64 {
[INFO] [stderr]      |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 1443 |     fn hp(&self) -> f64 {
[INFO] [stderr]      |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 1447 |     fn mp(&self) -> f64 {
[INFO] [stderr]      |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 1475 |     fn gp(&self) -> f64 {
[INFO] [stderr]      |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 1510 |     fn add_xp(&mut self, amount:f64) {
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1530 |     fn damage(&mut self, amount:f64) {
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1540 |     fn heal(&mut self, amount:f64) {
[INFO] [stderr]      |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1551 |     fn attack_stable(&self, other:Stats) -> f64 { 
[INFO] [stderr]      |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1560 |     fn attack(&self, other:Stats) -> f64 {
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1567 |     fn buy(&mut self, price:f64) -> bool {
[INFO] [stderr]      |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 1575 |     fn earn(&mut self, price:f64) {
[INFO] [stderr]      |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Advanced` is never used
[INFO] [stderr]    --> src/class.rs:851:10
[INFO] [stderr]     |
[INFO] [stderr] 851 | pub enum Advanced {
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Shape` is never used
[INFO] [stderr]  --> src/body.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub enum Shape {
[INFO] [stderr]   |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Body` is never constructed
[INFO] [stderr]   --> src/body.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct Body {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/body.rs:38:12
[INFO] [stderr]    |
[INFO] [stderr] 37 | impl Body {
[INFO] [stderr]    | --------- associated function in this implementation
[INFO] [stderr] 38 |     pub fn new()-> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `EquationalEnemy` is never constructed
[INFO] [stderr]   --> src/tests.rs:66:16
[INFO] [stderr]    |
[INFO] [stderr] 66 |     pub struct EquationalEnemy {
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Basic` is never used
[INFO] [stderr]    --> src/types.rs:134:10
[INFO] [stderr]     |
[INFO] [stderr] 134 | pub enum Basic {
[INFO] [stderr]     |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `random_type` and `random` are never used
[INFO] [stderr]   --> src/random.rs:4:8
[INFO] [stderr]    |
[INFO] [stderr]  2 | pub trait Random {
[INFO] [stderr]    |           ------ methods in this trait
[INFO] [stderr]  3 |     type Type;
[INFO] [stderr]  4 |     fn random_type(&self) -> Self::Type;
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 10 |     fn random(&self, min:f64, max:f64) -> f64 {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `random_0max` is never used
[INFO] [stderr]   --> src/random.rs:51:8
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub fn random_0max(value:u32) -> u32 {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `random_character_name` is never used
[INFO] [stderr]   --> src/random.rs:56:8
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub fn random_character_name() ->String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `random_creature_name` is never used
[INFO] [stderr]   --> src/random.rs:85:8
[INFO] [stderr]    |
[INFO] [stderr] 85 | pub fn random_creature_name() -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Basic` is never used
[INFO] [stderr]    --> src/special.rs:199:10
[INFO] [stderr]     |
[INFO] [stderr] 199 | pub enum Basic {
[INFO] [stderr]     |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Advanced` is never used
[INFO] [stderr]    --> src/special.rs:454:10
[INFO] [stderr]     |
[INFO] [stderr] 454 | pub enum Advanced {
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `tp_cost` and `tp_total` are never used
[INFO] [stderr]    --> src/special.rs:508:8
[INFO] [stderr]     |
[INFO] [stderr] 490 | pub trait SpecialMove <T:Copy 
[INFO] [stderr]     |           ----------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 508 |     fn tp_cost(&self, input:T) -> T {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 511 |     fn tp_total(&self, input:T) -> T{
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Basic` is never used
[INFO] [stderr]   --> src/effect.rs:26:10
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub enum Basic {
[INFO] [stderr]    |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Advanced` is never used
[INFO] [stderr]    --> src/effect.rs:175:10
[INFO] [stderr]     |
[INFO] [stderr] 175 | pub enum Advanced {
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `cost` and `resell` are never used
[INFO] [stderr]   --> src/item.rs:43:8
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub trait Item {
[INFO] [stderr]    |           ---- methods in this trait
[INFO] [stderr] 42 |     fn value(&self) -> f64;
[INFO] [stderr] 43 |     fn cost(&self) -> f64;
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 44 |     fn resell(&self) -> f64;
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Basic` is never used
[INFO] [stderr]   --> src/item.rs:49:10
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub enum Basic {
[INFO] [stderr]    |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Advanced` is never used
[INFO] [stderr]    --> src/item.rs:369:10
[INFO] [stderr]     |
[INFO] [stderr] 369 | pub enum Advanced {
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rpg-stat` (bin "rpg-stat" test) generated 24 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/rpg-stat/71d6fbfb88b083a1/out/rpg_stat-71d6fbfb88b083a1)
[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]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/rpg-stat/c3058eaa02407020/out/rpg_stat-c3058eaa02407020)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test tests::tests::effectiveness_test_0 ... ok
[INFO] [stdout] test tests::tests::test_class ... ok
[INFO] [stdout] test tests::tests::trait_test_0 ... ok
[INFO] [stdout] test tests::tests::equation_test ... ok
[INFO] [stdout] test tests::tests::text_forms ... ok
[INFO] [stdout] test tests::tests::fight_test_1 ... ok
[INFO] [stdout] test tests::tests::attribute_test ... ok
[INFO] [stdout] test tests::tests::test_basic_class_builder ... ok
[INFO] [stdout] test tests::tests::effectiveness_test_1 ... ok
[INFO] [stdout] test tests::tests::test_basic ... ok
[INFO] [stdout] test tests::tests::serde_test_0 ... ok
[INFO] [stdout] test tests::tests::fight_test_0 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rpg_stat
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test src/attributes.rs - attributes (line 29) ... ok
[INFO] [stdout] test src/creature.rs - creature (line 4) ... ok
[INFO] [stdout] test src/class.rs - class (line 55) ... ok
[INFO] [stdout] test src/class.rs - class (line 23) ... ok
[INFO] [stdout] test src/lib.rs - (line 124) ... ok
[INFO] [stdout] test src/compass.rs - compass (line 30) ... ok
[INFO] [stdout] test src/class.rs - class (line 37) ... ok
[INFO] [stdout] test src/compass.rs - compass (line 10) ... ok
[INFO] [stdout] test src/class.rs - class (line 10) ... ok
[INFO] [stdout] test src/chemistry.rs - chemistry (line 5) ... ok
[INFO] [stdout] test src/lib.rs - (line 233) ... ok
[INFO] [stdout] test src/armor.rs - armor (line 5) ... ok
[INFO] [stdout] test src/attributes.rs - attributes (line 21) ... ok
[INFO] [stdout] test src/attributes.rs - attributes (line 46) ... ok
[INFO] [stdout] test src/equation.rs - equation (line 3) ... ok
[INFO] [stdout] test src/lib.rs - (line 175) ... ok
[INFO] [stdout] test src/compass.rs - compass (line 21) ... ok
[INFO] [stdout] test src/lib.rs - (line 216) ... ok
[INFO] [stdout] test src/lib.rs - (line 287) ... ok
[INFO] [stdout] test src/types.rs - types (line 15) ... ok
[INFO] [stdout] test src/lib.rs - (line 277) ... ok
[INFO] [stdout] test src/lib.rs - (line 261) ... ok
[INFO] [stdout] test src/attributes.rs - attributes (line 7) ... ok
[INFO] [stdout] test src/stats.rs - stats (line 11) ... ok
[INFO] [stdout] test src/lib.rs - (line 248) ... ok
[INFO] [stdout] test src/lib.rs - (line 56) ... ok
[INFO] [stdout] test src/stats.rs - stats (line 51) ... ok
[INFO] [stdout] test src/lib.rs - (line 68) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.56s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "73d75c684b3514a8bad3e0f78e1feff7370d443bda9c6b160987f68dc91befa3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73d75c684b3514a8bad3e0f78e1feff7370d443bda9c6b160987f68dc91befa3", kill_on_drop: false }`
[INFO] [stdout] 73d75c684b3514a8bad3e0f78e1feff7370d443bda9c6b160987f68dc91befa3
