[INFO] cloning repository https://github.com/L19579/L19_Terminal_TicTacToe
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/L19579/L19_Terminal_TicTacToe" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FL19579%2FL19_Terminal_TicTacToe", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FL19579%2FL19_Terminal_TicTacToe'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3782d45ba62597ae041fe3f10c7aa80e85310424
[INFO] testing L19579/L19_Terminal_TicTacToe against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FL19579%2FL19_Terminal_TicTacToe" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/L19579/L19_Terminal_TicTacToe on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/L19579/L19_Terminal_TicTacToe
[INFO] finished tweaking git repo https://github.com/L19579/L19_Terminal_TicTacToe
[INFO] tweaked toml for git repo https://github.com/L19579/L19_Terminal_TicTacToe written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/L19579/L19_Terminal_TicTacToe 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" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cd91d05e4ea6756ae8701015ae3615ab443f257393d1006121b893d81ecaaafa
[INFO] running `Command { std: "docker" "start" "-a" "cd91d05e4ea6756ae8701015ae3615ab443f257393d1006121b893d81ecaaafa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cd91d05e4ea6756ae8701015ae3615ab443f257393d1006121b893d81ecaaafa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cd91d05e4ea6756ae8701015ae3615ab443f257393d1006121b893d81ecaaafa", kill_on_drop: false }`
[INFO] [stdout] cd91d05e4ea6756ae8701015ae3615ab443f257393d1006121b893d81ecaaafa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8b339706bb5dae20a1f5d534b158cc7f47844b6091d512ce30190d0de39e0847
[INFO] running `Command { std: "docker" "start" "-a" "8b339706bb5dae20a1f5d534b158cc7f47844b6091d512ce30190d0de39e0847", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.121
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling getrandom v0.2.6
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling l19_terminal_tictactoe v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.59s
[INFO] running `Command { std: "docker" "inspect" "8b339706bb5dae20a1f5d534b158cc7f47844b6091d512ce30190d0de39e0847", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b339706bb5dae20a1f5d534b158cc7f47844b6091d512ce30190d0de39e0847", kill_on_drop: false }`
[INFO] [stdout] 8b339706bb5dae20a1f5d534b158cc7f47844b6091d512ce30190d0de39e0847
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] be0652174b97a4c1ab4fd06169e3ced063fe266aef87b30399aa918f2fa3357d
[INFO] running `Command { std: "docker" "start" "-a" "be0652174b97a4c1ab4fd06169e3ced063fe266aef87b30399aa918f2fa3357d", kill_on_drop: false }`
[INFO] [stderr]    Compiling l19_terminal_tictactoe v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] running `Command { std: "docker" "inspect" "be0652174b97a4c1ab4fd06169e3ced063fe266aef87b30399aa918f2fa3357d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "be0652174b97a4c1ab4fd06169e3ced063fe266aef87b30399aa918f2fa3357d", kill_on_drop: false }`
[INFO] [stdout] be0652174b97a4c1ab4fd06169e3ced063fe266aef87b30399aa918f2fa3357d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] dfbd56a86b90182f0e4fa6cedf2e7b04aaa8d3443f9b999932f8bac97c2bfb70
[INFO] running `Command { std: "docker" "start" "-a" "dfbd56a86b90182f0e4fa6cedf2e7b04aaa8d3443f9b999932f8bac97c2bfb70", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/l19_terminal_tictactoe-fa7398c70137867b)
[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/l19_terminal_tictactoe-a31926f826402898)
[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 tests/unit_tests.rs (/opt/rustwide/target/debug/deps/unit_tests-611f7768093f1c54)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test check_legal_placement ... ok
[INFO] [stdout] test check_some_non_win ... ok
[INFO] [stdout] test check_all_wins ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests l19_terminal_tictactoe
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test src/lib.rs - GameMaster<'a>::print_table (line 486) ... FAILED
[INFO] [stdout] test src/lib.rs - WinOptions::options (line 179) ... FAILED
[INFO] [stdout] test src/lib.rs - Piece::opposite (line 52) ... FAILED
[INFO] [stdout] test src/lib.rs - GameMaster<'a>::next_mover_w_prompt (line 341) ... FAILED
[INFO] [stdout] test src/lib.rs - Piece::select_with_int (line 74) ... FAILED
[INFO] [stdout] test src/lib.rs - Piece::as_str (line 32) ... FAILED
[INFO] [stdout] test src/lib.rs - GameMaster<'a>::add_move (line 414) ... FAILED
[INFO] [stdout] test src/lib.rs - TableState::duplicate_with_new (line 233) ... FAILED
[INFO] [stdout] test src/lib.rs - TableState::is_win (line 270) ... FAILED
[INFO] [stdout] test src/lib.rs - Piece::fmt (line 119) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - GameMaster<'a>::print_table (line 486) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `key_bindings`
[INFO] [stdout]  --> src/lib.rs:490:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | let bindings = key_bindings::default_bindings();
[INFO] [stdout]   |                ^^^^^^^^^^^^ use of undeclared crate or module `key_bindings`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::key_bindings;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GameMaster`
[INFO] [stdout]  --> src/lib.rs:491:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | let gm = GameMaster::new(&bindings);
[INFO] [stdout]   |          ^^^^^^^^^^ use of undeclared type `GameMaster`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::GameMaster;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Piece`
[INFO] [stdout]  --> src/lib.rs:492:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | gm.add_move(Piece::Npc, 1);
[INFO] [stdout]   |             ^^^^^ use of undeclared type `Piece`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::Piece;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Piece`
[INFO] [stdout]   --> src/lib.rs:493:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | gm.add_move(Piece::User, 4);
[INFO] [stdout]    |             ^^^^^ use of undeclared type `Piece`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 2  + use l19_terminal_tictactoe::Piece;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - WinOptions::options (line 179) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `WinOptions`
[INFO] [stdout]  --> src/lib.rs:183:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | let w_pos = WinOptions::new();
[INFO] [stdout]   |             ^^^^^^^^^^ use of undeclared type `WinOptions`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Piece::opposite (line 52) stdout ----
[INFO] [stdout] error[E0412]: cannot find type `Piece` in this scope
[INFO] [stdout]  --> src/lib.rs:56:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | let peice : Piece = Piece::User;
[INFO] [stdout]   |             ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::Piece;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Piece`
[INFO] [stdout]  --> src/lib.rs:56:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | let peice : Piece = Piece::User;
[INFO] [stdout]   |                     ^^^^^ use of undeclared type `Piece`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::Piece;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - GameMaster<'a>::next_mover_w_prompt (line 341) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `key_bindings`
[INFO] [stdout]  --> src/lib.rs:345:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | let bindings = key_bindings::default_bindings();
[INFO] [stdout]   |                ^^^^^^^^^^^^ use of undeclared crate or module `key_bindings`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::key_bindings;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GameMaster`
[INFO] [stdout]  --> src/lib.rs:346:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | let gm = GameMaster::new(&bindings);
[INFO] [stdout]   |          ^^^^^^^^^^ use of undeclared type `GameMaster`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::GameMaster;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Piece`
[INFO] [stdout]  --> src/lib.rs:347:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | gm.add_move(Piece::Npc, 2);
[INFO] [stdout]   |             ^^^^^ use of undeclared type `Piece`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::Piece;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Piece`
[INFO] [stdout]   --> src/lib.rs:348:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | gm.next_mover_w_prompt(Piece::Npc);
[INFO] [stdout]    |                        ^^^^^ use of undeclared type `Piece`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 2  + use l19_terminal_tictactoe::Piece;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Piece::select_with_int (line 74) stdout ----
[INFO] [stdout] error[E0412]: cannot find type `Piece` in this scope
[INFO] [stdout]  --> src/lib.rs:78:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | let a_piece: Piece = select_with_int(1);
[INFO] [stdout]   |              ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::Piece;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `select_with_int` in this scope
[INFO] [stdout]  --> src/lib.rs:78:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | let a_piece: Piece = select_with_int(1);
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Piece::as_str (line 32) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Piece`
[INFO] [stdout]  --> src/lib.rs:33:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | let player_one = Piece::Npc;
[INFO] [stdout]   |                  ^^^^^ use of undeclared type `Piece`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::Piece;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - GameMaster<'a>::add_move (line 414) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `key_bindings`
[INFO] [stdout]  --> src/lib.rs:418:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | let bindings = key_bindings::default_bindings();
[INFO] [stdout]   |                ^^^^^^^^^^^^ use of undeclared crate or module `key_bindings`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::key_bindings;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `GameMaster`
[INFO] [stdout]  --> src/lib.rs:419:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | let gm = GameMaster::new(&bindings);
[INFO] [stdout]   |          ^^^^^^^^^^ use of undeclared type `GameMaster`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::GameMaster;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Piece`
[INFO] [stdout]  --> src/lib.rs:420:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | gm.add_move(Piece::Npc, 5);
[INFO] [stdout]   |             ^^^^^ use of undeclared type `Piece`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::Piece;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - TableState::duplicate_with_new (line 233) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Piece`
[INFO] [stdout]  --> src/lib.rs:238:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | let new_move = PlaySelector::new(Piece::User, 1);
[INFO] [stdout]   |                                  ^^^^^ use of undeclared type `Piece`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::Piece;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TableState`
[INFO] [stdout]  --> src/lib.rs:237:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | let game_progression = Vec::from(TableState::new());
[INFO] [stdout]   |                                  ^^^^^^^^^^ use of undeclared type `TableState`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PlaySelector`
[INFO] [stdout]  --> src/lib.rs:238:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | let new_move = PlaySelector::new(Piece::User, 1);
[INFO] [stdout]   |                ^^^^^^^^^^^^ use of undeclared type `PlaySelector`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - TableState::is_win (line 270) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Piece`
[INFO] [stdout]  --> src/lib.rs:275:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | let new_move = PlaySelector::new(Piece::User, 3);
[INFO] [stdout]   |                                  ^^^^^ use of undeclared type `Piece`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::Piece;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TableState`
[INFO] [stdout]  --> src/lib.rs:274:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | let game_progression = Vec::from(TableState::new());
[INFO] [stdout]   |                                  ^^^^^^^^^^ use of undeclared type `TableState`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PlaySelector`
[INFO] [stdout]  --> src/lib.rs:275:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | let new_move = PlaySelector::new(Piece::User, 3);
[INFO] [stdout]   |                ^^^^^^^^^^^^ use of undeclared type `PlaySelector`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TableState`
[INFO] [stdout]  --> src/lib.rs:276:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | game_progression.push(TableState::duplicate_with_new(new_move));
[INFO] [stdout]   |                       ^^^^^^^^^^ use of undeclared type `TableState`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Piece::fmt (line 119) stdout ----
[INFO] [stdout] error[E0412]: cannot find type `Piece` in this scope
[INFO] [stdout]  --> src/lib.rs:123:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | let user_piece: Piece = Piece::User;
[INFO] [stdout]   |                 ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::Piece;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Piece`
[INFO] [stdout]  --> src/lib.rs:123:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | let user_piece: Piece = Piece::User;
[INFO] [stdout]   |                         ^^^^^ use of undeclared type `Piece`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 2 + use l19_terminal_tictactoe::Piece;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - GameMaster<'a>::add_move (line 414)
[INFO] [stdout]     src/lib.rs - GameMaster<'a>::next_mover_w_prompt (line 341)
[INFO] [stdout]     src/lib.rs - GameMaster<'a>::print_table (line 486)
[INFO] [stdout]     src/lib.rs - Piece::as_str (line 32)
[INFO] [stdout]     src/lib.rs - Piece::fmt (line 119)
[INFO] [stdout]     src/lib.rs - Piece::opposite (line 52)
[INFO] [stdout]     src/lib.rs - Piece::select_with_int (line 74)
[INFO] [stdout]     src/lib.rs - TableState::duplicate_with_new (line 233)
[INFO] [stdout]     src/lib.rs - TableState::is_win (line 270)
[INFO] [stdout]     src/lib.rs - WinOptions::options (line 179)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 10 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "dfbd56a86b90182f0e4fa6cedf2e7b04aaa8d3443f9b999932f8bac97c2bfb70", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dfbd56a86b90182f0e4fa6cedf2e7b04aaa8d3443f9b999932f8bac97c2bfb70", kill_on_drop: false }`
[INFO] [stdout] dfbd56a86b90182f0e4fa6cedf2e7b04aaa8d3443f9b999932f8bac97c2bfb70
