[INFO] cloning repository https://github.com/1sra3l/rpg-stat
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/1sra3l/rpg-stat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1sra3l%2Frpg-stat", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1sra3l%2Frpg-stat'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 921b18bc05f317498680938443cf474eec15da31
[INFO] testing 1sra3l/rpg-stat against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1sra3l%2Frpg-stat" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/1sra3l/rpg-stat
[INFO] finished tweaking git repo https://github.com/1sra3l/rpg-stat
[INFO] tweaked toml for git repo https://github.com/1sra3l/rpg-stat written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/1sra3l/rpg-stat on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/1sra3l/rpg-stat 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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b99933ab0adb0e75ca5936339607adec9b95adf84cee689d162f13eb849b4497
[INFO] running `Command { std: "docker" "start" "-a" "b99933ab0adb0e75ca5936339607adec9b95adf84cee689d162f13eb849b4497", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b99933ab0adb0e75ca5936339607adec9b95adf84cee689d162f13eb849b4497", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b99933ab0adb0e75ca5936339607adec9b95adf84cee689d162f13eb849b4497", kill_on_drop: false }`
[INFO] [stdout] b99933ab0adb0e75ca5936339607adec9b95adf84cee689d162f13eb849b4497
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2a8f0adb0d8c59b2c1fa4d2472141c45a7190b29d1b81fbb3c83965dcfad1c39
[INFO] running `Command { std: "docker" "start" "-a" "2a8f0adb0d8c59b2c1fa4d2472141c45a7190b29d1b81fbb3c83965dcfad1c39", 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 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 quote v1.0.10
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[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: trait `Functions` is never used
[INFO] [stdout]    --> src/stats.rs:262:11
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub trait Functions <T:Copy
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Builder` is never used
[INFO] [stdout]    --> src/stats.rs:287:11
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub trait Builder <T:Copy
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BasicPremade` is never used
[INFO] [stdout]    --> src/stats.rs:315:11
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub trait BasicPremade<T:Copy
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `NormalPremade` is never used
[INFO] [stdout]    --> src/stats.rs:562:11
[INFO] [stdout]     |
[INFO] [stdout] 562 | pub trait NormalPremade<T:Copy
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AdvancedPremade` is never used
[INFO] [stdout]    --> src/stats.rs:884:11
[INFO] [stdout]     |
[INFO] [stdout] 884 | pub trait AdvancedPremade<T:Copy
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/stats.rs:1527:8
[INFO] [stdout]      |
[INFO] [stdout] 1521 | pub trait Premade {
[INFO] [stdout]      |           ------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 1527 |     fn set_hp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1530 |     fn set_mp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1533 |     fn set_xp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1542 |     fn set_xp_next(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1545 |     fn set_gp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1567 |     fn id(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1571 |     fn hp(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1575 |     fn mp(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1583 |     fn hp_max(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1587 |     fn mp_max(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1591 |     fn xp_next(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1595 |     fn level(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1599 |     fn speed(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1603 |     fn gp(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1607 |     fn atk(&self) -> f64 {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1611 |     fn def(&self) -> f64 {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1615 |     fn m_atk(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1619 |     fn m_def(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1638 |     fn add_xp(&mut self, amount:f64) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1658 |     fn damage(&mut self, amount:f64) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1668 |     fn heal(&mut self, amount:f64) {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1685 |     fn attack(&self, other:Stats) -> f64 {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1689 |     fn accuracy(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1694 |     fn defense(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1697 |     fn buy(&mut self, price:f64) -> bool {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1705 |     fn earn(&mut self, price:f64) {
[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: methods `tp_cost` and `tp_total` are never used
[INFO] [stdout]    --> src/special.rs:506:8
[INFO] [stdout]     |
[INFO] [stdout] 488 | pub trait SpecialMove <T:Copy 
[INFO] [stdout]     |           ----------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 506 |     fn tp_cost(&self, input:T) -> T {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 509 |     fn tp_total(&self, input:T) -> T{
[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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 06s
[INFO] running `Command { std: "docker" "inspect" "2a8f0adb0d8c59b2c1fa4d2472141c45a7190b29d1b81fbb3c83965dcfad1c39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a8f0adb0d8c59b2c1fa4d2472141c45a7190b29d1b81fbb3c83965dcfad1c39", kill_on_drop: false }`
[INFO] [stdout] 2a8f0adb0d8c59b2c1fa4d2472141c45a7190b29d1b81fbb3c83965dcfad1c39
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 41e873c076157e17c244725c8c677e76c9c1dacab9ffae2377f4acb4e1e89fdf
[INFO] running `Command { std: "docker" "start" "-a" "41e873c076157e17c244725c8c677e76c9c1dacab9ffae2377f4acb4e1e89fdf", kill_on_drop: false }`
[INFO] [stderr]    Compiling rpg-stat v2021.12.16 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait `Functions` is never used
[INFO] [stdout]    --> src/stats.rs:262:11
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub trait Functions <T:Copy
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `build_normal` and `build_advanced` are never used
[INFO] [stdout]    --> src/stats.rs:306:8
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub trait Builder <T:Copy
[INFO] [stdout]     |           ------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 306 |     fn build_normal(&self, id:T, level:T) -> Normal<T>;
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 307 |     // Build an `Advanced` stat
[INFO] [stdout] 308 |     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:339:8
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub trait BasicPremade<T:Copy
[INFO] [stdout]     |           ------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn set_mp(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 342 |     fn set_xp(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     fn set_hp_max(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     fn set_mp_max(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |     fn set_xp_next(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     fn set_gp(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     fn id(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     fn mp(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     fn xp(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     fn mp_max(&self) -> T {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn xp_next(&self) -> T {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     fn level(&self) -> T {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     fn speed(&self) -> T {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 394 |     fn gp(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/stats.rs:586:8
[INFO] [stdout]     |
[INFO] [stdout] 562 | pub trait NormalPremade<T:Copy
[INFO] [stdout]     |           ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 586 |     fn set_mp(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 589 |     fn set_xp(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 592 |     fn set_hp_max(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 595 |     fn set_mp_max(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 598 |     fn set_xp_next(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 601 |     fn set_gp(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 607 |     fn set_def(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 610 |     fn set_m_atk(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 613 |     fn set_m_def(&mut self, amount:T);
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     fn id(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 625 |     fn mp(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 629 |     fn xp(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 633 |     fn hp_max(&self) -> T {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 637 |     fn mp_max(&self) -> T {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 641 |     fn xp_next(&self) -> T {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 645 |     fn level(&self) -> T {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 649 |     fn speed(&self) -> T {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 653 |     fn gp(&self) -> T {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 661 |     fn def(&self) -> T {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 665 |     fn m_atk(&self) -> T {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 669 |     fn m_def(&self) -> T {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 673 |     fn damage(&mut self, amount:T) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 683 |     fn heal(&mut self, amount:T) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 694 |     fn attack_stable(&self, other:Normal<T>) -> T { 
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 703 |     fn attack(&self, other:Normal<T>) -> T {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 717 |     fn defense(&self) -> T {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AdvancedPremade` is never used
[INFO] [stdout]    --> src/stats.rs:884:11
[INFO] [stdout]     |
[INFO] [stdout] 884 | pub trait AdvancedPremade<T:Copy
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/stats.rs:1527:8
[INFO] [stdout]      |
[INFO] [stdout] 1521 | pub trait Premade {
[INFO] [stdout]      |           ------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 1527 |     fn set_hp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1530 |     fn set_mp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1533 |     fn set_xp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1542 |     fn set_xp_next(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1545 |     fn set_gp(&mut self, amount:f64);
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1567 |     fn id(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1571 |     fn hp(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1575 |     fn mp(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1583 |     fn hp_max(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1587 |     fn mp_max(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1591 |     fn xp_next(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1595 |     fn level(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1599 |     fn speed(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1603 |     fn gp(&self) -> f64 {
[INFO] [stdout]      |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 1607 |     fn atk(&self) -> f64 {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1611 |     fn def(&self) -> f64 {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1615 |     fn m_atk(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1619 |     fn m_def(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1638 |     fn add_xp(&mut self, amount:f64) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1658 |     fn damage(&mut self, amount:f64) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1668 |     fn heal(&mut self, amount:f64) {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1685 |     fn attack(&self, other:Stats) -> f64 {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1689 |     fn accuracy(&self) -> bool {
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1694 |     fn defense(&self) -> f64 {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1697 |     fn buy(&mut self, price:f64) -> bool {
[INFO] [stdout]      |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1705 |     fn earn(&mut self, price:f64) {
[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: methods `tp_cost` and `tp_total` are never used
[INFO] [stdout]    --> src/special.rs:506:8
[INFO] [stdout]     |
[INFO] [stdout] 488 | pub trait SpecialMove <T:Copy 
[INFO] [stdout]     |           ----------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 506 |     fn tp_cost(&self, input:T) -> T {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 509 |     fn tp_total(&self, input:T) -> T{
[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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.68s
[INFO] running `Command { std: "docker" "inspect" "41e873c076157e17c244725c8c677e76c9c1dacab9ffae2377f4acb4e1e89fdf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "41e873c076157e17c244725c8c677e76c9c1dacab9ffae2377f4acb4e1e89fdf", kill_on_drop: false }`
[INFO] [stdout] 41e873c076157e17c244725c8c677e76c9c1dacab9ffae2377f4acb4e1e89fdf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 60de1e95ecd928ef48c6ed034ebc08510d9ccefcf3ce7cf8698007966a277079
[INFO] running `Command { std: "docker" "start" "-a" "60de1e95ecd928ef48c6ed034ebc08510d9ccefcf3ce7cf8698007966a277079", kill_on_drop: false }`
[INFO] [stderr] warning: trait `Functions` is never used
[INFO] [stderr]    --> src/stats.rs:262:11
[INFO] [stderr]     |
[INFO] [stderr] 262 | pub trait Functions <T:Copy
[INFO] [stderr]     |           ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `build_normal` and `build_advanced` are never used
[INFO] [stderr]    --> src/stats.rs:306:8
[INFO] [stderr]     |
[INFO] [stderr] 287 | pub trait Builder <T:Copy
[INFO] [stderr]     |           ------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 306 |     fn build_normal(&self, id:T, level:T) -> Normal<T>;
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 307 |     // Build an `Advanced` stat
[INFO] [stderr] 308 |     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:339:8
[INFO] [stderr]     |
[INFO] [stderr] 315 | pub trait BasicPremade<T:Copy
[INFO] [stderr]     |           ------------ methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 339 |     fn set_mp(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 342 |     fn set_xp(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 345 |     fn set_hp_max(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 348 |     fn set_mp_max(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 351 |     fn set_xp_next(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 354 |     fn set_gp(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 358 |     fn id(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 366 |     fn mp(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 370 |     fn xp(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 378 |     fn mp_max(&self) -> T {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 382 |     fn xp_next(&self) -> T {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 386 |     fn level(&self) -> T {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 390 |     fn speed(&self) -> T {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 394 |     fn gp(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/stats.rs:586:8
[INFO] [stderr]     |
[INFO] [stderr] 562 | pub trait NormalPremade<T:Copy
[INFO] [stderr]     |           ------------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 586 |     fn set_mp(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 589 |     fn set_xp(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 592 |     fn set_hp_max(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 595 |     fn set_mp_max(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 598 |     fn set_xp_next(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 601 |     fn set_gp(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 607 |     fn set_def(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 610 |     fn set_m_atk(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 613 |     fn set_m_def(&mut self, amount:T);
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 617 |     fn id(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 625 |     fn mp(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 629 |     fn xp(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 633 |     fn hp_max(&self) -> T {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 637 |     fn mp_max(&self) -> T {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 641 |     fn xp_next(&self) -> T {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 645 |     fn level(&self) -> T {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 649 |     fn speed(&self) -> T {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 653 |     fn gp(&self) -> T {
[INFO] [stderr]     |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 661 |     fn def(&self) -> T {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 665 |     fn m_atk(&self) -> T {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 669 |     fn m_def(&self) -> T {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 673 |     fn damage(&mut self, amount:T) {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 683 |     fn heal(&mut self, amount:T) {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 694 |     fn attack_stable(&self, other:Normal<T>) -> T { 
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 703 |     fn attack(&self, other:Normal<T>) -> T {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 717 |     fn defense(&self) -> T {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `AdvancedPremade` is never used
[INFO] [stderr]    --> src/stats.rs:884:11
[INFO] [stderr]     |
[INFO] [stderr] 884 | pub trait AdvancedPremade<T:Copy
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]     --> src/stats.rs:1527:8
[INFO] [stderr]      |
[INFO] [stderr] 1521 | pub trait Premade {
[INFO] [stderr]      |           ------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 1527 |     fn set_hp(&mut self, amount:f64);
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1530 |     fn set_mp(&mut self, amount:f64);
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1533 |     fn set_xp(&mut self, amount:f64);
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1542 |     fn set_xp_next(&mut self, amount:f64);
[INFO] [stderr]      |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1545 |     fn set_gp(&mut self, amount:f64);
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1567 |     fn id(&self) -> f64 {
[INFO] [stderr]      |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 1571 |     fn hp(&self) -> f64 {
[INFO] [stderr]      |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 1575 |     fn mp(&self) -> f64 {
[INFO] [stderr]      |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 1583 |     fn hp_max(&self) -> f64 {
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1587 |     fn mp_max(&self) -> f64 {
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1591 |     fn xp_next(&self) -> f64 {
[INFO] [stderr]      |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1595 |     fn level(&self) -> f64 {
[INFO] [stderr]      |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1599 |     fn speed(&self) -> f64 {
[INFO] [stderr]      |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1603 |     fn gp(&self) -> f64 {
[INFO] [stderr]      |        ^^
[INFO] [stderr] ...
[INFO] [stderr] 1607 |     fn atk(&self) -> f64 {
[INFO] [stderr]      |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 1611 |     fn def(&self) -> f64 {
[INFO] [stderr]      |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 1615 |     fn m_atk(&self) -> f64 {
[INFO] [stderr]      |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1619 |     fn m_def(&self) -> f64 {
[INFO] [stderr]      |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1638 |     fn add_xp(&mut self, amount:f64) {
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1658 |     fn damage(&mut self, amount:f64) {
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1668 |     fn heal(&mut self, amount:f64) {
[INFO] [stderr]      |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1685 |     fn attack(&self, other:Stats) -> f64 {
[INFO] [stderr]      |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1689 |     fn accuracy(&self) -> bool {
[INFO] [stderr]      |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1694 |     fn defense(&self) -> f64 {
[INFO] [stderr]      |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1697 |     fn buy(&mut self, price:f64) -> bool {
[INFO] [stderr]      |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 1705 |     fn earn(&mut self, price:f64) {
[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: methods `tp_cost` and `tp_total` are never used
[INFO] [stderr]    --> src/special.rs:506:8
[INFO] [stderr]     |
[INFO] [stderr] 488 | pub trait SpecialMove <T:Copy 
[INFO] [stderr]     |           ----------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 506 |     fn tp_cost(&self, input:T) -> T {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 509 |     fn tp_total(&self, input:T) -> T{
[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: `rpg-stat` (bin "rpg-stat" test) generated 9 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rpg_stat-da2bd2f184e4bc66)
[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/deps/rpg_stat-f726fa975cffc804)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test tests::tests::effectiveness_test_0 ... ok
[INFO] [stdout] test tests::tests::attribute_test ... ok
[INFO] [stdout] test tests::tests::equation_test ... ok
[INFO] [stdout] test tests::tests::effectiveness_test_1 ... ok
[INFO] [stdout] test tests::tests::fight_test_0 ... ok
[INFO] [stdout] test tests::tests::fight_test_1 ... ok
[INFO] [stdout] test tests::tests::test_basic ... ok
[INFO] [stdout] test tests::tests::test_basic_class_builder ... ok
[INFO] [stdout] test tests::tests::test_class ... ok
[INFO] [stdout] test tests::tests::text_forms ... ok
[INFO] [stdout] test tests::tests::trait_test_0 ... ok
[INFO] [stdout] test tests::tests::serde_test_0 ... ok
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rpg_stat
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test src/attributes.rs - attributes (line 7) ... ok
[INFO] [stdout] test src/class.rs - class (line 55) ... ok
[INFO] [stdout] test src/lib.rs - (line 175) ... ok
[INFO] [stdout] test src/compass.rs - compass (line 10) ... ok
[INFO] [stdout] test src/attributes.rs - attributes (line 29) ... ok
[INFO] [stdout] test src/lib.rs - (line 124) ... ok
[INFO] [stdout] test src/class.rs - class (line 37) ... ok
[INFO] [stdout] test src/compass.rs - compass (line 30) ... ok
[INFO] [stdout] test src/class.rs - class (line 23) ... ok
[INFO] [stdout] test src/class.rs - class (line 10) ... ok
[INFO] [stdout] test src/creature.rs - creature (line 4) ... ok
[INFO] [stdout] test src/attributes.rs - attributes (line 21) ... ok
[INFO] [stdout] test src/lib.rs - (line 248) ... ok
[INFO] [stdout] test src/lib.rs - (line 233) ... ok
[INFO] [stdout] test src/equation.rs - equation (line 3) ... ok
[INFO] [stdout] test src/stats.rs - stats (line 11) ... ok
[INFO] [stdout] test src/lib.rs - (line 287) ... ok
[INFO] [stdout] test src/stats.rs - stats (line 51) ... ok
[INFO] [stdout] test src/lib.rs - (line 277) ... ok
[INFO] [stdout] test src/lib.rs - (line 261) ... ok
[INFO] [stdout] test src/chemistry.rs - chemistry (line 5) ... ok
[INFO] [stdout] test src/lib.rs - (line 216) ... ok
[INFO] [stdout] test src/attributes.rs - attributes (line 46) ... ok
[INFO] [stdout] test src/compass.rs - compass (line 21) ... ok
[INFO] [stdout] test src/types.rs - types (line 15) ... ok
[INFO] [stdout] test src/lib.rs - (line 56) ... ok
[INFO] [stdout] test src/lib.rs - (line 68) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.68s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "60de1e95ecd928ef48c6ed034ebc08510d9ccefcf3ce7cf8698007966a277079", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "60de1e95ecd928ef48c6ed034ebc08510d9ccefcf3ce7cf8698007966a277079", kill_on_drop: false }`
[INFO] [stdout] 60de1e95ecd928ef48c6ed034ebc08510d9ccefcf3ce7cf8698007966a277079
