[INFO] cloning repository https://github.com/crome110/rs-mahjong
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/crome110/rs-mahjong" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcrome110%2Frs-mahjong", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcrome110%2Frs-mahjong'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 360fcd80785a081752452a74b455e94490eee813
[INFO] testing crome110/rs-mahjong against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcrome110%2Frs-mahjong" "/workspace/builds/worker-7/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/crome110/rs-mahjong on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/crome110/rs-mahjong
[INFO] finished tweaking git repo https://github.com/crome110/rs-mahjong
[INFO] tweaked toml for git repo https://github.com/crome110/rs-mahjong written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate git repo https://github.com/crome110/rs-mahjong already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bda70540521af1b5889be21b85d42800a4c5fa0c50c8e003ec347207c969d441
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "bda70540521af1b5889be21b85d42800a4c5fa0c50c8e003ec347207c969d441", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bda70540521af1b5889be21b85d42800a4c5fa0c50c8e003ec347207c969d441", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bda70540521af1b5889be21b85d42800a4c5fa0c50c8e003ec347207c969d441", kill_on_drop: false }`
[INFO] [stdout] bda70540521af1b5889be21b85d42800a4c5fa0c50c8e003ec347207c969d441
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a6dd19209792b2e4c7c427c4c239d73dfcb17f9764a2b536414d25eebf54f710
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a6dd19209792b2e4c7c427c4c239d73dfcb17f9764a2b536414d25eebf54f710", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.58
[INFO] [stderr]    Compiling syn v0.15.38
[INFO] [stderr]    Compiling backtrace-sys v0.1.29
[INFO] [stderr]    Compiling backtrace v0.3.32
[INFO] [stderr]    Compiling synstructure v0.10.2
[INFO] [stderr]    Compiling failure_derive v0.1.5
[INFO] [stderr]    Compiling failure v0.1.5
[INFO] [stderr]    Compiling mahjong v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/yaku.rs:83:23
[INFO] [stdout]    |
[INFO] [stdout] 83 |         pub rule: Box<Fn(&Wait) -> Option<Han>>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait) -> Option<Han>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/yaku.rs:87:28
[INFO] [stdout]    |
[INFO] [stdout] 87 |         pub fu: Option<Box<Fn(&bool) -> Fu>>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&bool) -> Fu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/yaku.rs:91:70
[INFO] [stdout]    |
[INFO] [stdout] 91 |         pub fn new(name: &str, sub: Option<Box<HandYaku>>, rule: Box<Fn(&Wait) -> Option<Han>>, fu: Option<Box<Fn(&bool) -> Fu>>) -> Self {
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait) -> Option<Han>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/yaku.rs:91:112
[INFO] [stdout]    |
[INFO] [stdout] 91 |         pub fn new(name: &str, sub: Option<Box<HandYaku>>, rule: Box<Fn(&Wait) -> Option<Han>>, fu: Option<Box<Fn(&bool) -> Fu>>) -> Self {
[INFO] [stdout]    |                                                                                                                ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&bool) -> Fu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/yaku.rs:105:23
[INFO] [stdout]     |
[INFO] [stdout] 105 |         pub rule: Box<Fn(&Wait, &Vec<Tile>) -> u32>,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait, &Vec<Tile>) -> u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/yaku.rs:111:42
[INFO] [stdout]     |
[INFO] [stdout] 111 |         pub fn new(name: &str, rule: Box<Fn(&Wait, &Vec<Tile>) -> u32>, sub: Option<Box<Yakuman>>) -> Self {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait, &Vec<Tile>) -> u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `pong`
[INFO] [stdout]    --> src/parse.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn pong(&self) -> &Box<Option<Node>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `situation`
[INFO] [stdout]   --> src/evaluate.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     situation: Vec<SituationYaku>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `dora`
[INFO] [stdout]   --> src/evaluate.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dora: Vec<Tile>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `ura_dora`
[INFO] [stdout]   --> src/evaluate.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ura_dora: Vec<Tile>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `evaluate`
[INFO] [stdout]    --> src/evaluate.rs:532:12
[INFO] [stdout]     |
[INFO] [stdout] 532 |     pub fn evaluate(&self, parsed_hand: &ParsedHand, draw: bool, situation: &Vec<SituationYaku>) -> Option<Evaluated> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `evaluate_str`
[INFO] [stdout]    --> src/evaluate.rs:618:12
[INFO] [stdout]     |
[INFO] [stdout] 618 |     pub fn evaluate_str(&self, string: &str, draw: bool, situation: &Vec<SituationYaku>) -> Result<Option<Evaluated>, failure::Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 14.99s
[INFO] running `Command { std: "docker" "inspect" "a6dd19209792b2e4c7c427c4c239d73dfcb17f9764a2b536414d25eebf54f710", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6dd19209792b2e4c7c427c4c239d73dfcb17f9764a2b536414d25eebf54f710", kill_on_drop: false }`
[INFO] [stdout] a6dd19209792b2e4c7c427c4c239d73dfcb17f9764a2b536414d25eebf54f710
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eb0ba6724234bf52aeb9f4d656c5cbadc0072f6c39842717342ac32b0c5b8b8e
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "eb0ba6724234bf52aeb9f4d656c5cbadc0072f6c39842717342ac32b0c5b8b8e", kill_on_drop: false }`
[INFO] [stderr]    Compiling mahjong v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/yaku.rs:83:23
[INFO] [stdout]    |
[INFO] [stdout] 83 |         pub rule: Box<Fn(&Wait) -> Option<Han>>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait) -> Option<Han>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/yaku.rs:87:28
[INFO] [stdout]    |
[INFO] [stdout] 87 |         pub fu: Option<Box<Fn(&bool) -> Fu>>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&bool) -> Fu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/yaku.rs:91:70
[INFO] [stdout]    |
[INFO] [stdout] 91 |         pub fn new(name: &str, sub: Option<Box<HandYaku>>, rule: Box<Fn(&Wait) -> Option<Han>>, fu: Option<Box<Fn(&bool) -> Fu>>) -> Self {
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait) -> Option<Han>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/yaku.rs:91:112
[INFO] [stdout]    |
[INFO] [stdout] 91 |         pub fn new(name: &str, sub: Option<Box<HandYaku>>, rule: Box<Fn(&Wait) -> Option<Han>>, fu: Option<Box<Fn(&bool) -> Fu>>) -> Self {
[INFO] [stdout]    |                                                                                                                ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&bool) -> Fu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/yaku.rs:105:23
[INFO] [stdout]     |
[INFO] [stdout] 105 |         pub rule: Box<Fn(&Wait, &Vec<Tile>) -> u32>,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait, &Vec<Tile>) -> u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/yaku.rs:111:42
[INFO] [stdout]     |
[INFO] [stdout] 111 |         pub fn new(name: &str, rule: Box<Fn(&Wait, &Vec<Tile>) -> u32>, sub: Option<Box<Yakuman>>) -> Self {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait, &Vec<Tile>) -> u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `pong`
[INFO] [stdout]    --> src/parse.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn pong(&self) -> &Box<Option<Node>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `situation`
[INFO] [stdout]   --> src/evaluate.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     situation: Vec<SituationYaku>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `dora`
[INFO] [stdout]   --> src/evaluate.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dora: Vec<Tile>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `ura_dora`
[INFO] [stdout]   --> src/evaluate.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ura_dora: Vec<Tile>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `evaluate`
[INFO] [stdout]    --> src/evaluate.rs:532:12
[INFO] [stdout]     |
[INFO] [stdout] 532 |     pub fn evaluate(&self, parsed_hand: &ParsedHand, draw: bool, situation: &Vec<SituationYaku>) -> Option<Evaluated> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `evaluate_str`
[INFO] [stdout]    --> src/evaluate.rs:618:12
[INFO] [stdout]     |
[INFO] [stdout] 618 |     pub fn evaluate_str(&self, string: &str, draw: bool, situation: &Vec<SituationYaku>) -> Result<Option<Evaluated>, failure::Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/yaku.rs:83:23
[INFO] [stdout]    |
[INFO] [stdout] 83 |         pub rule: Box<Fn(&Wait) -> Option<Han>>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait) -> Option<Han>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/yaku.rs:87:28
[INFO] [stdout]    |
[INFO] [stdout] 87 |         pub fu: Option<Box<Fn(&bool) -> Fu>>,
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&bool) -> Fu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/yaku.rs:91:70
[INFO] [stdout]    |
[INFO] [stdout] 91 |         pub fn new(name: &str, sub: Option<Box<HandYaku>>, rule: Box<Fn(&Wait) -> Option<Han>>, fu: Option<Box<Fn(&bool) -> Fu>>) -> Self {
[INFO] [stdout]    |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait) -> Option<Han>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/yaku.rs:91:112
[INFO] [stdout]    |
[INFO] [stdout] 91 |         pub fn new(name: &str, sub: Option<Box<HandYaku>>, rule: Box<Fn(&Wait) -> Option<Han>>, fu: Option<Box<Fn(&bool) -> Fu>>) -> Self {
[INFO] [stdout]    |                                                                                                                ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&bool) -> Fu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/yaku.rs:105:23
[INFO] [stdout]     |
[INFO] [stdout] 105 |         pub rule: Box<Fn(&Wait, &Vec<Tile>) -> u32>,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait, &Vec<Tile>) -> u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/yaku.rs:111:42
[INFO] [stdout]     |
[INFO] [stdout] 111 |         pub fn new(name: &str, rule: Box<Fn(&Wait, &Vec<Tile>) -> u32>, sub: Option<Box<Yakuman>>) -> Self {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait, &Vec<Tile>) -> u32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `pong`
[INFO] [stdout]    --> src/parse.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 |     fn pong(&self) -> &Box<Option<Node>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `situation`
[INFO] [stdout]   --> src/evaluate.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     situation: Vec<SituationYaku>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `dora`
[INFO] [stdout]   --> src/evaluate.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     dora: Vec<Tile>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `ura_dora`
[INFO] [stdout]   --> src/evaluate.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ura_dora: Vec<Tile>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `evaluate`
[INFO] [stdout]    --> src/evaluate.rs:532:12
[INFO] [stdout]     |
[INFO] [stdout] 532 |     pub fn evaluate(&self, parsed_hand: &ParsedHand, draw: bool, situation: &Vec<SituationYaku>) -> Option<Evaluated> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `evaluate_str`
[INFO] [stdout]    --> src/evaluate.rs:618:12
[INFO] [stdout]     |
[INFO] [stdout] 618 |     pub fn evaluate_str(&self, string: &str, draw: bool, situation: &Vec<SituationYaku>) -> Result<Option<Evaluated>, failure::Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.43s
[INFO] running `Command { std: "docker" "inspect" "eb0ba6724234bf52aeb9f4d656c5cbadc0072f6c39842717342ac32b0c5b8b8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eb0ba6724234bf52aeb9f4d656c5cbadc0072f6c39842717342ac32b0c5b8b8e", kill_on_drop: false }`
[INFO] [stdout] eb0ba6724234bf52aeb9f4d656c5cbadc0072f6c39842717342ac32b0c5b8b8e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] afa5e0ca2d9b2fce5337182042aea1c32a1c64f06934fc6d7c51f73f88979a62
[INFO] running `Command { std: "docker" "start" "-a" "afa5e0ca2d9b2fce5337182042aea1c32a1c64f06934fc6d7c51f73f88979a62", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/yaku.rs:83:23
[INFO] [stderr]    |
[INFO] [stderr] 83 |         pub rule: Box<Fn(&Wait) -> Option<Han>>,
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait) -> Option<Han>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/yaku.rs:87:28
[INFO] [stderr]    |
[INFO] [stderr] 87 |         pub fu: Option<Box<Fn(&bool) -> Fu>>,
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&bool) -> Fu`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/yaku.rs:91:70
[INFO] [stderr]    |
[INFO] [stderr] 91 |         pub fn new(name: &str, sub: Option<Box<HandYaku>>, rule: Box<Fn(&Wait) -> Option<Han>>, fu: Option<Box<Fn(&bool) -> Fu>>) -> Self {
[INFO] [stderr]    |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait) -> Option<Han>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/yaku.rs:91:112
[INFO] [stderr]    |
[INFO] [stderr] 91 |         pub fn new(name: &str, sub: Option<Box<HandYaku>>, rule: Box<Fn(&Wait) -> Option<Han>>, fu: Option<Box<Fn(&bool) -> Fu>>) -> Self {
[INFO] [stderr]    |                                                                                                                ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&bool) -> Fu`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/yaku.rs:105:23
[INFO] [stderr]     |
[INFO] [stderr] 105 |         pub rule: Box<Fn(&Wait, &Vec<Tile>) -> u32>,
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait, &Vec<Tile>) -> u32`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/yaku.rs:111:42
[INFO] [stderr]     |
[INFO] [stderr] 111 |         pub fn new(name: &str, rule: Box<Fn(&Wait, &Vec<Tile>) -> u32>, sub: Option<Box<Yakuman>>) -> Self {
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait, &Vec<Tile>) -> u32`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `pong`
[INFO] [stderr]    --> src/parse.rs:158:8
[INFO] [stderr]     |
[INFO] [stderr] 158 |     fn pong(&self) -> &Box<Option<Node>> {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `situation`
[INFO] [stderr]   --> src/evaluate.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     situation: Vec<SituationYaku>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `dora`
[INFO] [stderr]   --> src/evaluate.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     dora: Vec<Tile>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `ura_dora`
[INFO] [stderr]   --> src/evaluate.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 |     ura_dora: Vec<Tile>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `evaluate`
[INFO] [stderr]    --> src/evaluate.rs:532:12
[INFO] [stderr]     |
[INFO] [stderr] 532 |     pub fn evaluate(&self, parsed_hand: &ParsedHand, draw: bool, situation: &Vec<SituationYaku>) -> Option<Evaluated> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `evaluate_str`
[INFO] [stderr]    --> src/evaluate.rs:618:12
[INFO] [stderr]     |
[INFO] [stderr] 618 |     pub fn evaluate_str(&self, string: &str, draw: bool, situation: &Vec<SituationYaku>) -> Result<Option<Evaluated>, failure::Error> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 12 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/yaku.rs:83:23
[INFO] [stderr]    |
[INFO] [stderr] 83 |         pub rule: Box<Fn(&Wait) -> Option<Han>>,
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait) -> Option<Han>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/yaku.rs:87:28
[INFO] [stderr]    |
[INFO] [stderr] 87 |         pub fu: Option<Box<Fn(&bool) -> Fu>>,
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&bool) -> Fu`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/yaku.rs:91:70
[INFO] [stderr]    |
[INFO] [stderr] 91 |         pub fn new(name: &str, sub: Option<Box<HandYaku>>, rule: Box<Fn(&Wait) -> Option<Han>>, fu: Option<Box<Fn(&bool) -> Fu>>) -> Self {
[INFO] [stderr]    |                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait) -> Option<Han>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/yaku.rs:91:112
[INFO] [stderr]    |
[INFO] [stderr] 91 |         pub fn new(name: &str, sub: Option<Box<HandYaku>>, rule: Box<Fn(&Wait) -> Option<Han>>, fu: Option<Box<Fn(&bool) -> Fu>>) -> Self {
[INFO] [stderr]    |                                                                                                                ^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&bool) -> Fu`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/yaku.rs:105:23
[INFO] [stderr]     |
[INFO] [stderr] 105 |         pub rule: Box<Fn(&Wait, &Vec<Tile>) -> u32>,
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait, &Vec<Tile>) -> u32`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/yaku.rs:111:42
[INFO] [stderr]     |
[INFO] [stderr] 111 |         pub fn new(name: &str, rule: Box<Fn(&Wait, &Vec<Tile>) -> u32>, sub: Option<Box<Yakuman>>) -> Self {
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Wait, &Vec<Tile>) -> u32`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `pong`
[INFO] [stderr]    --> src/parse.rs:158:8
[INFO] [stderr]     |
[INFO] [stderr] 158 |     fn pong(&self) -> &Box<Option<Node>> {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `situation`
[INFO] [stderr]   --> src/evaluate.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     situation: Vec<SituationYaku>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `dora`
[INFO] [stderr]   --> src/evaluate.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     dora: Vec<Tile>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `ura_dora`
[INFO] [stderr]   --> src/evaluate.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 |     ura_dora: Vec<Tile>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `evaluate`
[INFO] [stderr]    --> src/evaluate.rs:532:12
[INFO] [stderr]     |
[INFO] [stderr] 532 |     pub fn evaluate(&self, parsed_hand: &ParsedHand, draw: bool, situation: &Vec<SituationYaku>) -> Option<Evaluated> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `evaluate_str`
[INFO] [stderr]    --> src/evaluate.rs:618:12
[INFO] [stderr]     |
[INFO] [stderr] 618 |     pub fn evaluate_str(&self, string: &str, draw: bool, situation: &Vec<SituationYaku>) -> Result<Option<Evaluated>, failure::Error> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 12 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/mahjong-47b9ee8f7311cf7d
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test tests::from_str2 ... ok
[INFO] [stdout] test tests::from_str3 ... ok
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/mahjong-2151455454fd5915
[INFO] [stdout] test tests::from_str ... ok
[INFO] [stdout] test tests::sort_tiles ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[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
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests mahjong
[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
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "afa5e0ca2d9b2fce5337182042aea1c32a1c64f06934fc6d7c51f73f88979a62", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "afa5e0ca2d9b2fce5337182042aea1c32a1c64f06934fc6d7c51f73f88979a62", kill_on_drop: false }`
[INFO] [stdout] afa5e0ca2d9b2fce5337182042aea1c32a1c64f06934fc6d7c51f73f88979a62
