[INFO] updating cached repository masonium/card-engine [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/masonium/card-engine [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/masonium/card-engine" "work/ex/beta-1.38-1/sources/1.37.0/gh/masonium/card-engine"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/1.37.0/gh/masonium/card-engine'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/masonium/card-engine" "work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/masonium/card-engine"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/masonium/card-engine'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 82041c99c5a84b4425e2c3ffb656a591da7e0775 [INFO] sha for GitHub repo masonium/card-engine: 82041c99c5a84b4425e2c3ffb656a591da7e0775 [INFO] validating manifest of masonium/card-engine on toolchain 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of masonium/card-engine on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing masonium/card-engine [INFO] finished frobbing masonium/card-engine [INFO] frobbed toml for masonium/card-engine written to work/ex/beta-1.38-1/sources/1.37.0/gh/masonium/card-engine/Cargo.toml [INFO] started frobbing masonium/card-engine [INFO] finished frobbing masonium/card-engine [INFO] frobbed toml for masonium/card-engine written to work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/masonium/card-engine/Cargo.toml [INFO] crate masonium/card-engine already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing masonium/card-engine against 1.37.0 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-5/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/masonium/card-engine:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "build" "--frozen"` [INFO] [stdout] 371cbe61b1285704d1c9690bac73edb8c049be99835b5d78087696f383b8b411 [INFO] running `"docker" "start" "-a" "371cbe61b1285704d1c9690bac73edb8c049be99835b5d78087696f383b8b411"` [INFO] [stderr] Compiling matrixmultiply v0.1.13 [INFO] [stderr] Compiling num-complex v0.1.37 [INFO] [stderr] Compiling termion v1.3.0 [INFO] [stderr] Compiling ndarray v0.9.1 [INFO] [stderr] Compiling ndarray-rand v0.5.0 [INFO] [stderr] Compiling card-engine v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/germanwhist/phase.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | /// this is the first card played [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 44 | gs.player_view_mut(action.player).remove_card(&action.card)?; [INFO] [stderr] | ------------------------------------------------------------ rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/germanwhist/phase.rs:90:17 [INFO] [stderr] | [INFO] [stderr] 90 | /// Give players their new cards [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 91 | / { [INFO] [stderr] 92 | | let r = gs.revealed.take().expect("must be a revealed card"); [INFO] [stderr] 93 | | gs.player_view_mut(winner).add_card(r.clone()); [INFO] [stderr] 94 | | [INFO] [stderr] ... | [INFO] [stderr] 100 | | events[loser].push(rec_ev); [INFO] [stderr] 101 | | } [INFO] [stderr] | |_________________- rustdoc does not generate documentation for expressions [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/learning/training.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | /// epsilon-greedy state-choosing [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 49 | let mut rng = thread_rng(); [INFO] [stderr] | --------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/germanwhist/engine.rs:71:16 [INFO] [stderr] | [INFO] [stderr] 71 | phase: Box, [INFO] [stderr] | ^^^^^^^^^ help: use `dyn`: `dyn GamePhase` [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/germanwhist/engine.rs:78:24 [INFO] [stderr] | [INFO] [stderr] 78 | let phase: Box = Box::new(GameOverPhase{}); [INFO] [stderr] | ^^^^^^^^^ help: use `dyn`: `dyn GamePhase` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/germanwhist/engine.rs:126:33 [INFO] [stderr] | [INFO] [stderr] 126 | pub fn get_phase(&self) -> &GamePhase { [INFO] [stderr] | ^^^^^^^^^ help: use `dyn`: `dyn GamePhase` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/germanwhist/phase.rs:17:57 [INFO] [stderr] | [INFO] [stderr] 17 | fn transition(&mut self, gs: &mut GameState) -> Box; [INFO] [stderr] | ^^^^^^^^^ help: use `dyn`: `dyn GamePhase` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/germanwhist/phase.rs:164:56 [INFO] [stderr] | [INFO] [stderr] 164 | fn transition(&mut self, _: &mut GameState) -> Box { [INFO] [stderr] | ^^^^^^^^^ help: use `dyn`: `dyn GamePhase` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/germanwhist/phase.rs:190:56 [INFO] [stderr] | [INFO] [stderr] 190 | fn transition(&mut self, _: &mut GameState) -> Box { [INFO] [stderr] | ^^^^^^^^^ help: use `dyn`: `dyn GamePhase` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/germanwhist/player.rs:189:23 [INFO] [stderr] | [INFO] [stderr] 189 | fn card_to_vector(mut x: &mut ArrayViewMut, card: &Option, suit_order: &[Suit]) { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `dump` [INFO] [stderr] --> src/learning/neural_net.rs:283:5 [INFO] [stderr] | [INFO] [stderr] 283 | fn dump(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/bin/basic_player.rs:200:5 [INFO] [stderr] | [INFO] [stderr] 200 | /// start the game [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 201 | let mut actions = eng.possible_actions(); [INFO] [stderr] | ----------------------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bin/basic_player.rs:100:23 [INFO] [stderr] | [INFO] [stderr] 100 | let players: [Box; 2] = [Box::new(BasicPlayer::new(r)), Box::new(RandomPlayer::new())]; [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Player` [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/bin/basic_player.rs:147:23 [INFO] [stderr] | [INFO] [stderr] 147 | let players: [Box; 2] = [Box::new(BasicPlayer::new(None)), Box::new(RandomPlayer::new())]; [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Player` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/bin/basic_player.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | sl.train_on_episode(false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: static variable `b` should have an upper case name [INFO] [stderr] --> src/bin/single_layer_learn.rs:29:20 [INFO] [stderr] | [INFO] [stderr] 29 | static ref b: Array = arr1(&[-0.071, 0.4]); [INFO] [stderr] | ^ help: convert the identifier to upper case: `B` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 21.89s [INFO] running `"docker" "inspect" "371cbe61b1285704d1c9690bac73edb8c049be99835b5d78087696f383b8b411"` [INFO] running `"docker" "rm" "-f" "371cbe61b1285704d1c9690bac73edb8c049be99835b5d78087696f383b8b411"` [INFO] [stdout] 371cbe61b1285704d1c9690bac73edb8c049be99835b5d78087696f383b8b411 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-5/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/masonium/card-engine:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "test" "--frozen" "--no-run"` [INFO] [stdout] fe0f0ae7fc5928f5ff95703052aa1390a0e0f4cdaca96676916d114da4eab244 [INFO] running `"docker" "start" "-a" "fe0f0ae7fc5928f5ff95703052aa1390a0e0f4cdaca96676916d114da4eab244"` [INFO] [stderr] Compiling card-engine v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/bin/basic_player.rs:200:5 [INFO] [stderr] | [INFO] [stderr] 200 | /// start the game [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 201 | let mut actions = eng.possible_actions(); [INFO] [stderr] | ----------------------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/germanwhist/phase.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | /// this is the first card played [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 44 | gs.player_view_mut(action.player).remove_card(&action.card)?; [INFO] [stderr] | ------------------------------------------------------------ rustdoc does not generate documentation for expressions [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/germanwhist/phase.rs:90:17 [INFO] [stderr] | [INFO] [stderr] 90 | /// Give players their new cards [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 91 | / { [INFO] [stderr] 92 | | let r = gs.revealed.take().expect("must be a revealed card"); [INFO] [stderr] 93 | | gs.player_view_mut(winner).add_card(r.clone()); [INFO] [stderr] 94 | | [INFO] [stderr] ... | [INFO] [stderr] 100 | | events[loser].push(rec_ev); [INFO] [stderr] 101 | | } [INFO] [stderr] | |_________________- rustdoc does not generate documentation for expressions [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/learning/training.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | /// epsilon-greedy state-choosing [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 49 | let mut rng = thread_rng(); [INFO] [stderr] | --------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/germanwhist/engine.rs:71:16 [INFO] [stderr] | [INFO] [stderr] 71 | phase: Box, [INFO] [stderr] | ^^^^^^^^^ help: use `dyn`: `dyn GamePhase` [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/germanwhist/engine.rs:78:24 [INFO] [stderr] | [INFO] [stderr] 78 | let phase: Box = Box::new(GameOverPhase{}); [INFO] [stderr] | ^^^^^^^^^ help: use `dyn`: `dyn GamePhase` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/germanwhist/engine.rs:126:33 [INFO] [stderr] | [INFO] [stderr] 126 | pub fn get_phase(&self) -> &GamePhase { [INFO] [stderr] | ^^^^^^^^^ help: use `dyn`: `dyn GamePhase` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/germanwhist/phase.rs:17:57 [INFO] [stderr] | [INFO] [stderr] 17 | fn transition(&mut self, gs: &mut GameState) -> Box; [INFO] [stderr] | ^^^^^^^^^ help: use `dyn`: `dyn GamePhase` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/germanwhist/phase.rs:164:56 [INFO] [stderr] | [INFO] [stderr] 164 | fn transition(&mut self, _: &mut GameState) -> Box { [INFO] [stderr] | ^^^^^^^^^ help: use `dyn`: `dyn GamePhase` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/germanwhist/phase.rs:190:56 [INFO] [stderr] | [INFO] [stderr] 190 | fn transition(&mut self, _: &mut GameState) -> Box { [INFO] [stderr] | ^^^^^^^^^ help: use `dyn`: `dyn GamePhase` [INFO] [stderr] [INFO] [stderr] warning: static variable `b` should have an upper case name [INFO] [stderr] --> src/bin/single_layer_learn.rs:29:20 [INFO] [stderr] | [INFO] [stderr] 29 | static ref b: Array = arr1(&[-0.071, 0.4]); [INFO] [stderr] | ^ help: convert the identifier to upper case: `B` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/bin/basic_player.rs:100:23 [INFO] [stderr] | [INFO] [stderr] 100 | let players: [Box; 2] = [Box::new(BasicPlayer::new(r)), Box::new(RandomPlayer::new())]; [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Player` [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/bin/basic_player.rs:147:23 [INFO] [stderr] | [INFO] [stderr] 147 | let players: [Box; 2] = [Box::new(BasicPlayer::new(None)), Box::new(RandomPlayer::new())]; [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Player` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/bin/basic_player.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | sl.train_on_episode(false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/germanwhist/player.rs:189:23 [INFO] [stderr] | [INFO] [stderr] 189 | fn card_to_vector(mut x: &mut ArrayViewMut, card: &Option, suit_order: &[Suit]) { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `dump` [INFO] [stderr] --> src/learning/neural_net.rs:283:5 [INFO] [stderr] | [INFO] [stderr] 283 | fn dump(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.64s [INFO] running `"docker" "inspect" "fe0f0ae7fc5928f5ff95703052aa1390a0e0f4cdaca96676916d114da4eab244"` [INFO] running `"docker" "rm" "-f" "fe0f0ae7fc5928f5ff95703052aa1390a0e0f4cdaca96676916d114da4eab244"` [INFO] [stdout] fe0f0ae7fc5928f5ff95703052aa1390a0e0f4cdaca96676916d114da4eab244 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-5/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/masonium/card-engine:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "test" "--frozen"` [INFO] [stdout] 6589c9344c5b5d6e8692da470acf7ebb0e89559aa2a538c6573b3b4310a9c827 [INFO] running `"docker" "start" "-a" "6589c9344c5b5d6e8692da470acf7ebb0e89559aa2a538c6573b3b4310a9c827"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running /opt/crater/target/debug/deps/card_engine-c2cee76ce692e603 [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test learning::neural_net::tests::test_sigmoid ... ok [INFO] [stdout] test learning::neural_net::tests::test_relu ... ok [INFO] [stdout] test learning::neural_net::tests::test_linear ... ok [INFO] [stdout] test learning::neural_net::tests::test_sym_sigmoid ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/crater/target/debug/deps/basic_player-17da77021062e039 [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] Running /opt/crater/target/debug/deps/single_layer_learn-f49b4d91b977da6d [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 card-engine [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 `"docker" "inspect" "6589c9344c5b5d6e8692da470acf7ebb0e89559aa2a538c6573b3b4310a9c827"` [INFO] running `"docker" "rm" "-f" "6589c9344c5b5d6e8692da470acf7ebb0e89559aa2a538c6573b3b4310a9c827"` [INFO] [stdout] 6589c9344c5b5d6e8692da470acf7ebb0e89559aa2a538c6573b3b4310a9c827