[INFO] updating cached repository AuroransSolis/tui_tetris [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/AuroransSolis/tui_tetris [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/AuroransSolis/tui_tetris" "work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/AuroransSolis/tui_tetris"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/AuroransSolis/tui_tetris'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/AuroransSolis/tui_tetris" "work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/AuroransSolis/tui_tetris"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/AuroransSolis/tui_tetris'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 448a84b19647a3baff3b87660c22e1808f3626aa [INFO] sha for GitHub repo AuroransSolis/tui_tetris: 448a84b19647a3baff3b87660c22e1808f3626aa [INFO] validating manifest of AuroransSolis/tui_tetris on toolchain master#60960a260f7b5c695fd0717311d72ce62dd4eb43 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of AuroransSolis/tui_tetris on toolchain try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing AuroransSolis/tui_tetris [INFO] finished frobbing AuroransSolis/tui_tetris [INFO] frobbed toml for AuroransSolis/tui_tetris written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/AuroransSolis/tui_tetris/Cargo.toml [INFO] started frobbing AuroransSolis/tui_tetris [INFO] finished frobbing AuroransSolis/tui_tetris [INFO] frobbed toml for AuroransSolis/tui_tetris written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/AuroransSolis/tui_tetris/Cargo.toml [INFO] crate AuroransSolis/tui_tetris already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking AuroransSolis/tui_tetris against try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-4/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/AuroransSolis/tui_tetris:/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=forbid" "-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" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] f38ffe29629ec33ede6d4087cf964f51708a0a03a703a6d899c7d3584afc0f7f [INFO] running `"docker" "start" "-a" "f38ffe29629ec33ede6d4087cf964f51708a0a03a703a6d899c7d3584afc0f7f"` [INFO] [stderr] Compiling syn v0.15.32 [INFO] [stderr] Compiling serde_derive v1.0.90 [INFO] [stderr] Checking serde v1.0.90 [INFO] [stderr] Checking toml v0.5.0 [INFO] [stderr] Checking tui_tetris v0.1.0 (/opt/crater/workdir) [INFO] [stderr] error: expected expression, found `}` [INFO] [stderr] --> src/game_config.rs:304:13 [INFO] [stderr] | [INFO] [stderr] 303 | match [INFO] [stderr] | ----- while parsing this match expression [INFO] [stderr] 304 | } [INFO] [stderr] | ^ expected expression [INFO] [stderr] [INFO] [stderr] error: expected expression, found `}` [INFO] [stderr] --> src/game_config.rs:304:13 [INFO] [stderr] | [INFO] [stderr] 303 | match [INFO] [stderr] | ----- while parsing this match expression [INFO] [stderr] 304 | } [INFO] [stderr] | ^ expected expression [INFO] [stderr] [INFO] [stderr] error: argument never used [INFO] [stderr] --> src/game_config.rs:172:48 [INFO] [stderr] | [INFO] [stderr] 171 | println!("Found empty setting for ghost tetromino. Defaulting to: {}", [INFO] [stderr] | ------------------------------------------------------------ formatting specifier missing [INFO] [stderr] 172 | CONFIG_OPTIONS[j], default); [INFO] [stderr] | ^^^^^^^ argument never used [INFO] [stderr] [INFO] [stderr] error: argument never used [INFO] [stderr] --> src/game_config.rs:172:48 [INFO] [stderr] | [INFO] [stderr] 171 | println!("Found empty setting for ghost tetromino. Defaulting to: {}", [INFO] [stderr] | ------------------------------------------------------------ formatting specifier missing [INFO] [stderr] 172 | CONFIG_OPTIONS[j], default); [INFO] [stderr] | ^^^^^^^ argument never used [INFO] [stderr] [INFO] [stderr] error: cannot find derive macro `Deserialize` in this scope [INFO] [stderr] --> src/game_config.rs:310:10 [INFO] [stderr] | [INFO] [stderr] 310 | #[derive(Deserialize, Serialize)] [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find derive macro `Serialize` in this scope [INFO] [stderr] --> src/game_config.rs:310:23 [INFO] [stderr] | [INFO] [stderr] 310 | #[derive(Deserialize, Serialize)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0408]: variable `j` is not bound in all patterns [INFO] [stderr] --> src/game_config.rs:90:25 [INFO] [stderr] | [INFO] [stderr] 90 | j @ 1 | 2 | 14 => { // board_width, board_height, block_size [INFO] [stderr] | - ^ ^^ pattern doesn't bind `j` [INFO] [stderr] | | | [INFO] [stderr] | | pattern doesn't bind `j` [INFO] [stderr] | variable not in all patterns [INFO] [stderr] [INFO] [stderr] error[E0408]: variable `j` is not bound in all patterns [INFO] [stderr] --> src/game_config.rs:164:25 [INFO] [stderr] | [INFO] [stderr] 164 | j @ 4 | 6 => { // cascade, ghost tetromino [INFO] [stderr] | - ^ pattern doesn't bind `j` [INFO] [stderr] | | [INFO] [stderr] | variable not in all patterns [INFO] [stderr] [INFO] [stderr] error[E0408]: variable `j` is not bound in all patterns [INFO] [stderr] --> src/game_config.rs:208:25 [INFO] [stderr] | [INFO] [stderr] 208 | j @ 7 | 8 | 9 | 10 | 11 | 12 => { [INFO] [stderr] | - ^ ^ ^^ ^^ ^^ pattern doesn't bind `j` [INFO] [stderr] | | | | | | [INFO] [stderr] | | | | | pattern doesn't bind `j` [INFO] [stderr] | | | | pattern doesn't bind `j` [INFO] [stderr] | | | pattern doesn't bind `j` [INFO] [stderr] | | pattern doesn't bind `j` [INFO] [stderr] | variable not in all patterns [INFO] [stderr] [INFO] [stderr] error: cannot find derive macro `Deserialize` in this scope [INFO] [stderr] --> src/game_config.rs:310:10 [INFO] [stderr] | [INFO] [stderr] 310 | #[derive(Deserialize, Serialize)] [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find derive macro `Serialize` in this scope [INFO] [stderr] --> src/game_config.rs:310:23 [INFO] [stderr] | [INFO] [stderr] 310 | #[derive(Deserialize, Serialize)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0408]: variable `j` is not bound in all patterns [INFO] [stderr] --> src/game_config.rs:90:25 [INFO] [stderr] | [INFO] [stderr] 90 | j @ 1 | 2 | 14 => { // board_width, board_height, block_size [INFO] [stderr] | - ^ ^^ pattern doesn't bind `j` [INFO] [stderr] | | | [INFO] [stderr] | | pattern doesn't bind `j` [INFO] [stderr] | variable not in all patterns [INFO] [stderr] [INFO] [stderr] error[E0408]: variable `j` is not bound in all patterns [INFO] [stderr] --> src/game_config.rs:164:25 [INFO] [stderr] | [INFO] [stderr] 164 | j @ 4 | 6 => { // cascade, ghost tetromino [INFO] [stderr] | - ^ pattern doesn't bind `j` [INFO] [stderr] | | [INFO] [stderr] | variable not in all patterns [INFO] [stderr] [INFO] [stderr] error[E0408]: variable `j` is not bound in all patterns [INFO] [stderr] --> src/game_config.rs:208:25 [INFO] [stderr] | [INFO] [stderr] 208 | j @ 7 | 8 | 9 | 10 | 11 | 12 => { [INFO] [stderr] | - ^ ^ ^^ ^^ ^^ pattern doesn't bind `j` [INFO] [stderr] | | | | | | [INFO] [stderr] | | | | | pattern doesn't bind `j` [INFO] [stderr] | | | | pattern doesn't bind `j` [INFO] [stderr] | | | pattern doesn't bind `j` [INFO] [stderr] | | pattern doesn't bind `j` [INFO] [stderr] | variable not in all patterns [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `setting_strs` in this scope [INFO] [stderr] --> src/game_config.rs:604:8 [INFO] [stderr] | [INFO] [stderr] 604 | if setting_strs[last] == "" { [INFO] [stderr] | ^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `last` in this scope [INFO] [stderr] --> src/game_config.rs:604:21 [INFO] [stderr] | [INFO] [stderr] 604 | if setting_strs[last] == "" { [INFO] [stderr] | ^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `setting_strs` in this scope [INFO] [stderr] --> src/game_config.rs:610:29 [INFO] [stderr] | [INFO] [stderr] 610 | } else if let Ok(num) = setting_strs[last].parse::() { [INFO] [stderr] | ^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `last` in this scope [INFO] [stderr] --> src/game_config.rs:610:42 [INFO] [stderr] | [INFO] [stderr] 610 | } else if let Ok(num) = setting_strs[last].parse::() { [INFO] [stderr] | ^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `setting_strs` in this scope [INFO] [stderr] --> src/game_config.rs:616:62 [INFO] [stderr] | [INFO] [stderr] 616 | let err = format!("Found invalid value for fps: {}", setting_strs[last]); [INFO] [stderr] | ^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `last` in this scope [INFO] [stderr] --> src/game_config.rs:616:75 [INFO] [stderr] | [INFO] [stderr] 616 | let err = format!("Found invalid value for fps: {}", setting_strs[last]); [INFO] [stderr] | ^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tetromino.rs:18:21 [INFO] [stderr] | [INFO] [stderr] 18 | color: &'static Color [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::hint::unreachable_unchecked` [INFO] [stderr] --> src/game_config.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::hint::unreachable_unchecked; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `u64` should have an upper camel case name [INFO] [stderr] --> src/game_config.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | u64(u64), [INFO] [stderr] | ^^^ help: convert the identifier to upper camel case: `U64` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `usize` should have an upper camel case name [INFO] [stderr] --> src/game_config.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | usize(usize), [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `Usize` [INFO] [stderr] [INFO] [stderr] warning: variant `Option_refstatic_Color` should have an upper camel case name [INFO] [stderr] --> src/game_config.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | Option_refstatic_Color(Option<&'static Color>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OptionRefstaticColor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:49:44 [INFO] [stderr] | [INFO] [stderr] 49 | Option_refstatic_Color(Option<&'static Color>), [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:50:20 [INFO] [stderr] | [INFO] [stderr] 50 | Color(&'static Color), [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: variant `bool` should have an upper camel case name [INFO] [stderr] --> src/game_config.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | bool(bool), [INFO] [stderr] | ^^^^ help: convert the identifier to upper camel case: `Bool` [INFO] [stderr] [INFO] [stderr] warning: variant `Option_usize` should have an upper camel case name [INFO] [stderr] --> src/game_config.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | Option_usize(Option), [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OptionUsize` [INFO] [stderr] [INFO] [stderr] warning: variant `char` should have an upper camel case name [INFO] [stderr] --> src/game_config.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | char(char), [INFO] [stderr] | ^^^^ help: convert the identifier to upper camel case: `Char` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:367:33 [INFO] [stderr] | [INFO] [stderr] 367 | monochrome: Option<&'static Color>, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:369:28 [INFO] [stderr] | [INFO] [stderr] 369 | border_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:375:32 [INFO] [stderr] | [INFO] [stderr] 375 | background_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:379:23 [INFO] [stderr] | [INFO] [stderr] 379 | i_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:380:23 [INFO] [stderr] | [INFO] [stderr] 380 | j_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:381:23 [INFO] [stderr] | [INFO] [stderr] 381 | l_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:382:23 [INFO] [stderr] | [INFO] [stderr] 382 | s_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:383:23 [INFO] [stderr] | [INFO] [stderr] 383 | z_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:384:23 [INFO] [stderr] | [INFO] [stderr] 384 | t_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:385:23 [INFO] [stderr] | [INFO] [stderr] 385 | o_color: &'static Color [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:621:59 [INFO] [stderr] | [INFO] [stderr] 621 | fn try_str_to_refstatic_color(s: &str) -> Option<&'static Color> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: unused import: `tetromino::*` [INFO] [stderr] --> src/main.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use tetromino::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Stdin` [INFO] [stderr] --> src/main.rs:20:45 [INFO] [stderr] | [INFO] [stderr] 20 | use std::io::{stdout, Write, Stdout, stdin, Stdin, Read}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `setting_strs` in this scope [INFO] [stderr] --> src/game_config.rs:604:8 [INFO] [stderr] | [INFO] [stderr] 604 | if setting_strs[last] == "" { [INFO] [stderr] | ^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `last` in this scope [INFO] [stderr] --> src/game_config.rs:604:21 [INFO] [stderr] | [INFO] [stderr] 604 | if setting_strs[last] == "" { [INFO] [stderr] | ^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `setting_strs` in this scope [INFO] [stderr] --> src/game_config.rs:610:29 [INFO] [stderr] | [INFO] [stderr] 610 | } else if let Ok(num) = setting_strs[last].parse::() { [INFO] [stderr] | ^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `last` in this scope [INFO] [stderr] --> src/game_config.rs:610:42 [INFO] [stderr] | [INFO] [stderr] 610 | } else if let Ok(num) = setting_strs[last].parse::() { [INFO] [stderr] | ^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `setting_strs` in this scope [INFO] [stderr] --> src/game_config.rs:616:62 [INFO] [stderr] | [INFO] [stderr] 616 | let err = format!("Found invalid value for fps: {}", setting_strs[last]); [INFO] [stderr] | ^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `last` in this scope [INFO] [stderr] --> src/game_config.rs:616:75 [INFO] [stderr] | [INFO] [stderr] 616 | let err = format!("Found invalid value for fps: {}", setting_strs[last]); [INFO] [stderr] | ^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tetromino.rs:18:21 [INFO] [stderr] | [INFO] [stderr] 18 | color: &'static Color [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::hint::unreachable_unchecked` [INFO] [stderr] --> src/game_config.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::hint::unreachable_unchecked; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `u64` should have an upper camel case name [INFO] [stderr] --> src/game_config.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | u64(u64), [INFO] [stderr] | ^^^ help: convert the identifier to upper camel case: `U64` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `usize` should have an upper camel case name [INFO] [stderr] --> src/game_config.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | usize(usize), [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `Usize` [INFO] [stderr] [INFO] [stderr] warning: variant `Option_refstatic_Color` should have an upper camel case name [INFO] [stderr] --> src/game_config.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | Option_refstatic_Color(Option<&'static Color>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OptionRefstaticColor` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:49:44 [INFO] [stderr] | [INFO] [stderr] 49 | Option_refstatic_Color(Option<&'static Color>), [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:50:20 [INFO] [stderr] | [INFO] [stderr] 50 | Color(&'static Color), [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: variant `bool` should have an upper camel case name [INFO] [stderr] --> src/game_config.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | bool(bool), [INFO] [stderr] | ^^^^ help: convert the identifier to upper camel case: `Bool` [INFO] [stderr] [INFO] [stderr] warning: variant `Option_usize` should have an upper camel case name [INFO] [stderr] --> src/game_config.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | Option_usize(Option), [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OptionUsize` [INFO] [stderr] [INFO] [stderr] warning: variant `char` should have an upper camel case name [INFO] [stderr] --> src/game_config.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | char(char), [INFO] [stderr] | ^^^^ help: convert the identifier to upper camel case: `Char` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:367:33 [INFO] [stderr] | [INFO] [stderr] 367 | monochrome: Option<&'static Color>, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:369:28 [INFO] [stderr] | [INFO] [stderr] 369 | border_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:375:32 [INFO] [stderr] | [INFO] [stderr] 375 | background_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:379:23 [INFO] [stderr] | [INFO] [stderr] 379 | i_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:380:23 [INFO] [stderr] | [INFO] [stderr] 380 | j_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:381:23 [INFO] [stderr] | [INFO] [stderr] 381 | l_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:382:23 [INFO] [stderr] | [INFO] [stderr] 382 | s_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:383:23 [INFO] [stderr] | [INFO] [stderr] 383 | z_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:384:23 [INFO] [stderr] | [INFO] [stderr] 384 | t_color: &'static Color, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:385:23 [INFO] [stderr] | [INFO] [stderr] 385 | o_color: &'static Color [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/game_config.rs:621:59 [INFO] [stderr] | [INFO] [stderr] 621 | fn try_str_to_refstatic_color(s: &str) -> Option<&'static Color> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Color` [INFO] [stderr] [INFO] [stderr] warning: unused import: `tetromino::*` [INFO] [stderr] --> src/main.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use tetromino::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Stdin` [INFO] [stderr] --> src/main.rs:20:45 [INFO] [stderr] | [INFO] [stderr] 20 | use std::io::{stdout, Write, Stdout, stdin, Stdin, Read}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:113:36 [INFO] [stderr] | [INFO] [stderr] 113 | value: Some(color) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected enum `game_config::SettingValue`, found enum `std::option::Option` [INFO] [stderr] | help: try using a variant of the expected type: `game_config::SettingValue::Option_refstatic_Color(Some(color))` [INFO] [stderr] | [INFO] [stderr] = note: expected type `game_config::SettingValue` [INFO] [stderr] found type `std::option::Option<&dyn termion::color::Color>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:122:46 [INFO] [stderr] | [INFO] [stderr] 122 | Some(AnsiValue::grayscale(gs))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected reference, found struct `termion::color::AnsiValue` [INFO] [stderr] | help: consider borrowing here: `&AnsiValue::grayscale(gs)` [INFO] [stderr] | [INFO] [stderr] = note: expected type `&dyn termion::color::Color` [INFO] [stderr] found type `termion::color::AnsiValue` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:150:37 [INFO] [stderr] | [INFO] [stderr] 150 | AnsiValue::rgb(rgb[2], rgb[1], rgb[0]))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected reference, found struct `termion::color::AnsiValue` [INFO] [stderr] | help: consider borrowing here: `&AnsiValue::rgb(rgb[2], rgb[1], rgb[0])` [INFO] [stderr] | [INFO] [stderr] = note: expected type `&dyn termion::color::Color` [INFO] [stderr] found type `termion::color::AnsiValue` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:156:37 [INFO] [stderr] | [INFO] [stderr] 156 | Rgb(rgb[2], rgb[1], rgb[0]))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected reference, found struct `termion::color::Rgb` [INFO] [stderr] | help: consider borrowing here: `&Rgb(rgb[2], rgb[1], rgb[0])` [INFO] [stderr] | [INFO] [stderr] = note: expected type `&dyn termion::color::Color` [INFO] [stderr] found type `termion::color::Rgb` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_str` found for type `&str` in the current scope [INFO] [stderr] --> src/game_config.rs:177:37 [INFO] [stderr] | [INFO] [stderr] 177 | } else if value.as_str() == "t" || value.as_str() == "true" [INFO] [stderr] | ^^^^^^ help: there is a method with a similar name: `as_ptr` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_str` found for type `&str` in the current scope [INFO] [stderr] --> src/game_config.rs:177:62 [INFO] [stderr] | [INFO] [stderr] 177 | } else if value.as_str() == "t" || value.as_str() == "true" [INFO] [stderr] | ^^^^^^ help: there is a method with a similar name: `as_ptr` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_str` found for type `&str` in the current scope [INFO] [stderr] --> src/game_config.rs:178:34 [INFO] [stderr] | [INFO] [stderr] 178 | || value.as_str() == "1" { [INFO] [stderr] | ^^^^^^ help: there is a method with a similar name: `as_ptr` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_str` found for type `&str` in the current scope [INFO] [stderr] --> src/game_config.rs:183:37 [INFO] [stderr] | [INFO] [stderr] 183 | } else if value.as_str() == "f" || value.as_str() == "false" [INFO] [stderr] | ^^^^^^ help: there is a method with a similar name: `as_ptr` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_str` found for type `&str` in the current scope [INFO] [stderr] --> src/game_config.rs:183:62 [INFO] [stderr] | [INFO] [stderr] 183 | } else if value.as_str() == "f" || value.as_str() == "false" [INFO] [stderr] | ^^^^^^ help: there is a method with a similar name: `as_ptr` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_str` found for type `&str` in the current scope [INFO] [stderr] --> src/game_config.rs:184:34 [INFO] [stderr] | [INFO] [stderr] 184 | || value.as_str() == "0" { [INFO] [stderr] | ^^^^^^ help: there is a method with a similar name: `as_ptr` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:200:38 [INFO] [stderr] | [INFO] [stderr] 200 | Some(lvl) [INFO] [stderr] | ^^^ expected usize, found u64 [INFO] [stderr] help: you can convert an `u64` to `usize` and panic if the converted value wouldn't fit [INFO] [stderr] | [INFO] [stderr] 200 | Some(lvl.try_into().unwrap()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:209:21 [INFO] [stderr] | [INFO] [stderr] 209 | / if setting_strs[last] == "" { [INFO] [stderr] 210 | | println!("Found empty setting for {}. Defaulting to: █", CONFIG_OPTIONS[j]); [INFO] [stderr] 211 | | Ok(Setting { [INFO] [stderr] 212 | | field: CONFIG_OPTIONS[j].to_string(), [INFO] [stderr] 213 | | value: SettingValue::char('█') [INFO] [stderr] 214 | | }) [INFO] [stderr] 215 | | } [INFO] [stderr] | |_____________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0317]: if may be missing an else clause [INFO] [stderr] --> src/game_config.rs:209:21 [INFO] [stderr] | [INFO] [stderr] 209 | / if setting_strs[last] == "" { [INFO] [stderr] 210 | | println!("Found empty setting for {}. Defaulting to: █", CONFIG_OPTIONS[j]); [INFO] [stderr] 211 | | Ok(Setting { [INFO] [stderr] | |_________________________- [INFO] [stderr] 212 | || field: CONFIG_OPTIONS[j].to_string(), [INFO] [stderr] 213 | || value: SettingValue::char('█') [INFO] [stderr] 214 | || }) [INFO] [stderr] | ||__________________________- found here [INFO] [stderr] 215 | | } [INFO] [stderr] | |_____________________^ expected (), found enum `std::result::Result` [INFO] [stderr] | [INFO] [stderr] = note: expected type `()` [INFO] [stderr] found type `std::result::Result` [INFO] [stderr] = note: `if` expressions without `else` evaluate to `()` [INFO] [stderr] = help: consider adding an `else` block that evaluates to the expected type [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:217:22 [INFO] [stderr] | [INFO] [stderr] 217 | 8 => { // tl_corner_character [INFO] [stderr] | ______________________^ [INFO] [stderr] 218 | | [INFO] [stderr] 219 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:220:22 [INFO] [stderr] | [INFO] [stderr] 220 | 9 => { // bl_corner_character [INFO] [stderr] | ______________________^ [INFO] [stderr] 221 | | [INFO] [stderr] 222 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:223:23 [INFO] [stderr] | [INFO] [stderr] 223 | 10 => { // br_corner_character [INFO] [stderr] | _______________________^ [INFO] [stderr] 224 | | [INFO] [stderr] 225 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:226:23 [INFO] [stderr] | [INFO] [stderr] 226 | 11 => { // tr_corner_character [INFO] [stderr] | _______________________^ [INFO] [stderr] 227 | | [INFO] [stderr] 228 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:229:23 [INFO] [stderr] | [INFO] [stderr] 229 | 12 => { // border_color [INFO] [stderr] | _______________________^ [INFO] [stderr] 230 | | [INFO] [stderr] 231 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:232:23 [INFO] [stderr] | [INFO] [stderr] 232 | 13 => { // block_character [INFO] [stderr] | _______________________^ [INFO] [stderr] 233 | | [INFO] [stderr] 234 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:235:23 [INFO] [stderr] | [INFO] [stderr] 235 | 15 => { // mode [INFO] [stderr] | _______________________^ [INFO] [stderr] 236 | | [INFO] [stderr] 237 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:238:23 [INFO] [stderr] | [INFO] [stderr] 238 | 16 => { // move_left [INFO] [stderr] | _______________________^ [INFO] [stderr] 239 | | [INFO] [stderr] 240 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:241:23 [INFO] [stderr] | [INFO] [stderr] 241 | 17 => { // move_right [INFO] [stderr] | _______________________^ [INFO] [stderr] 242 | | [INFO] [stderr] 243 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:244:23 [INFO] [stderr] | [INFO] [stderr] 244 | 18 => { // rotate_clockwise [INFO] [stderr] | _______________________^ [INFO] [stderr] 245 | | [INFO] [stderr] 246 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:247:23 [INFO] [stderr] | [INFO] [stderr] 247 | 19 => { // rotate_anticlockwise [INFO] [stderr] | _______________________^ [INFO] [stderr] 248 | | [INFO] [stderr] 249 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:250:23 [INFO] [stderr] | [INFO] [stderr] 250 | 20 => { // soft_drop [INFO] [stderr] | _______________________^ [INFO] [stderr] 251 | | [INFO] [stderr] 252 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:253:23 [INFO] [stderr] | [INFO] [stderr] 253 | 21 => { // hard_drop [INFO] [stderr] | _______________________^ [INFO] [stderr] 254 | | [INFO] [stderr] 255 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:256:23 [INFO] [stderr] | [INFO] [stderr] 256 | 22 => { // hold [INFO] [stderr] | _______________________^ [INFO] [stderr] 257 | | [INFO] [stderr] 258 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:259:23 [INFO] [stderr] | [INFO] [stderr] 259 | 23 => { // background_color [INFO] [stderr] | _______________________^ [INFO] [stderr] 260 | | [INFO] [stderr] 261 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:262:23 [INFO] [stderr] | [INFO] [stderr] 262 | 24 => { // i piece color [INFO] [stderr] | _______________________^ [INFO] [stderr] 263 | | [INFO] [stderr] 264 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:265:23 [INFO] [stderr] | [INFO] [stderr] 265 | 25 => { // j piece color [INFO] [stderr] | _______________________^ [INFO] [stderr] 266 | | [INFO] [stderr] 267 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:268:23 [INFO] [stderr] | [INFO] [stderr] 268 | 26 => { // l piece color [INFO] [stderr] | _______________________^ [INFO] [stderr] 269 | | [INFO] [stderr] 270 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:271:23 [INFO] [stderr] | [INFO] [stderr] 271 | 27 => { // s piece color [INFO] [stderr] | _______________________^ [INFO] [stderr] 272 | | [INFO] [stderr] 273 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:274:23 [INFO] [stderr] | [INFO] [stderr] 274 | 28 => { // z piece color [INFO] [stderr] | _______________________^ [INFO] [stderr] 275 | | [INFO] [stderr] 276 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:277:23 [INFO] [stderr] | [INFO] [stderr] 277 | 29 => { // t piece color [INFO] [stderr] | _______________________^ [INFO] [stderr] 278 | | [INFO] [stderr] 279 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:280:23 [INFO] [stderr] | [INFO] [stderr] 280 | 30 => { // o piece color [INFO] [stderr] | _______________________^ [INFO] [stderr] 281 | | [INFO] [stderr] 282 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:113:36 [INFO] [stderr] | [INFO] [stderr] 113 | value: Some(color) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected enum `game_config::SettingValue`, found enum `std::option::Option` [INFO] [stderr] | help: try using a variant of the expected type: `game_config::SettingValue::Option_refstatic_Color(Some(color))` [INFO] [stderr] | [INFO] [stderr] = note: expected type `game_config::SettingValue` [INFO] [stderr] found type `std::option::Option<&dyn termion::color::Color>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:122:46 [INFO] [stderr] | [INFO] [stderr] 122 | Some(AnsiValue::grayscale(gs))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected reference, found struct `termion::color::AnsiValue` [INFO] [stderr] | help: consider borrowing here: `&AnsiValue::grayscale(gs)` [INFO] [stderr] | [INFO] [stderr] = note: expected type `&dyn termion::color::Color` [INFO] [stderr] found type `termion::color::AnsiValue` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:150:37 [INFO] [stderr] | [INFO] [stderr] 150 | AnsiValue::rgb(rgb[2], rgb[1], rgb[0]))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected reference, found struct `termion::color::AnsiValue` [INFO] [stderr] | help: consider borrowing here: `&AnsiValue::rgb(rgb[2], rgb[1], rgb[0])` [INFO] [stderr] | [INFO] [stderr] = note: expected type `&dyn termion::color::Color` [INFO] [stderr] found type `termion::color::AnsiValue` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:156:37 [INFO] [stderr] | [INFO] [stderr] 156 | Rgb(rgb[2], rgb[1], rgb[0]))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | expected reference, found struct `termion::color::Rgb` [INFO] [stderr] | help: consider borrowing here: `&Rgb(rgb[2], rgb[1], rgb[0])` [INFO] [stderr] | [INFO] [stderr] = note: expected type `&dyn termion::color::Color` [INFO] [stderr] found type `termion::color::Rgb` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_str` found for type `&str` in the current scope [INFO] [stderr] --> src/game_config.rs:177:37 [INFO] [stderr] | [INFO] [stderr] 177 | } else if value.as_str() == "t" || value.as_str() == "true" [INFO] [stderr] | ^^^^^^ help: there is a method with a similar name: `as_ptr` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_str` found for type `&str` in the current scope [INFO] [stderr] --> src/game_config.rs:177:62 [INFO] [stderr] | [INFO] [stderr] 177 | } else if value.as_str() == "t" || value.as_str() == "true" [INFO] [stderr] | ^^^^^^ help: there is a method with a similar name: `as_ptr` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_str` found for type `&str` in the current scope [INFO] [stderr] --> src/game_config.rs:178:34 [INFO] [stderr] | [INFO] [stderr] 178 | || value.as_str() == "1" { [INFO] [stderr] | ^^^^^^ help: there is a method with a similar name: `as_ptr` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_str` found for type `&str` in the current scope [INFO] [stderr] --> src/game_config.rs:183:37 [INFO] [stderr] | [INFO] [stderr] 183 | } else if value.as_str() == "f" || value.as_str() == "false" [INFO] [stderr] | ^^^^^^ help: there is a method with a similar name: `as_ptr` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_str` found for type `&str` in the current scope [INFO] [stderr] --> src/game_config.rs:183:62 [INFO] [stderr] | [INFO] [stderr] 183 | } else if value.as_str() == "f" || value.as_str() == "false" [INFO] [stderr] | ^^^^^^ help: there is a method with a similar name: `as_ptr` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `as_str` found for type `&str` in the current scope [INFO] [stderr] --> src/game_config.rs:184:34 [INFO] [stderr] | [INFO] [stderr] 184 | || value.as_str() == "0" { [INFO] [stderr] | ^^^^^^ help: there is a method with a similar name: `as_ptr` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:200:38 [INFO] [stderr] | [INFO] [stderr] 200 | Some(lvl) [INFO] [stderr] | ^^^ expected usize, found u64 [INFO] [stderr] help: you can convert an `u64` to `usize` and panic if the converted value wouldn't fit [INFO] [stderr] | [INFO] [stderr] 200 | Some(lvl.try_into().unwrap()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:209:21 [INFO] [stderr] | [INFO] [stderr] 209 | / if setting_strs[last] == "" { [INFO] [stderr] 210 | | println!("Found empty setting for {}. Defaulting to: █", CONFIG_OPTIONS[j]); [INFO] [stderr] 211 | | Ok(Setting { [INFO] [stderr] 212 | | field: CONFIG_OPTIONS[j].to_string(), [INFO] [stderr] 213 | | value: SettingValue::char('█') [INFO] [stderr] 214 | | }) [INFO] [stderr] 215 | | } [INFO] [stderr] | |_____________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0317]: if may be missing an else clause [INFO] [stderr] --> src/game_config.rs:209:21 [INFO] [stderr] | [INFO] [stderr] 209 | / if setting_strs[last] == "" { [INFO] [stderr] 210 | | println!("Found empty setting for {}. Defaulting to: █", CONFIG_OPTIONS[j]); [INFO] [stderr] 211 | | Ok(Setting { [INFO] [stderr] | |_________________________- [INFO] [stderr] 212 | || field: CONFIG_OPTIONS[j].to_string(), [INFO] [stderr] 213 | || value: SettingValue::char('█') [INFO] [stderr] 214 | || }) [INFO] [stderr] | ||__________________________- found here [INFO] [stderr] 215 | | } [INFO] [stderr] | |_____________________^ expected (), found enum `std::result::Result` [INFO] [stderr] | [INFO] [stderr] = note: expected type `()` [INFO] [stderr] found type `std::result::Result` [INFO] [stderr] = note: `if` expressions without `else` evaluate to `()` [INFO] [stderr] = help: consider adding an `else` block that evaluates to the expected type [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:217:22 [INFO] [stderr] | [INFO] [stderr] 217 | 8 => { // tl_corner_character [INFO] [stderr] | ______________________^ [INFO] [stderr] 218 | | [INFO] [stderr] 219 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:220:22 [INFO] [stderr] | [INFO] [stderr] 220 | 9 => { // bl_corner_character [INFO] [stderr] | ______________________^ [INFO] [stderr] 221 | | [INFO] [stderr] 222 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:223:23 [INFO] [stderr] | [INFO] [stderr] 223 | 10 => { // br_corner_character [INFO] [stderr] | _______________________^ [INFO] [stderr] 224 | | [INFO] [stderr] 225 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:226:23 [INFO] [stderr] | [INFO] [stderr] 226 | 11 => { // tr_corner_character [INFO] [stderr] | _______________________^ [INFO] [stderr] 227 | | [INFO] [stderr] 228 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:229:23 [INFO] [stderr] | [INFO] [stderr] 229 | 12 => { // border_color [INFO] [stderr] | _______________________^ [INFO] [stderr] 230 | | [INFO] [stderr] 231 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:232:23 [INFO] [stderr] | [INFO] [stderr] 232 | 13 => { // block_character [INFO] [stderr] | _______________________^ [INFO] [stderr] 233 | | [INFO] [stderr] 234 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:235:23 [INFO] [stderr] | [INFO] [stderr] 235 | 15 => { // mode [INFO] [stderr] | _______________________^ [INFO] [stderr] 236 | | [INFO] [stderr] 237 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:238:23 [INFO] [stderr] | [INFO] [stderr] 238 | 16 => { // move_left [INFO] [stderr] | _______________________^ [INFO] [stderr] 239 | | [INFO] [stderr] 240 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:241:23 [INFO] [stderr] | [INFO] [stderr] 241 | 17 => { // move_right [INFO] [stderr] | _______________________^ [INFO] [stderr] 242 | | [INFO] [stderr] 243 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:244:23 [INFO] [stderr] | [INFO] [stderr] 244 | 18 => { // rotate_clockwise [INFO] [stderr] | _______________________^ [INFO] [stderr] 245 | | [INFO] [stderr] 246 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:247:23 [INFO] [stderr] | [INFO] [stderr] 247 | 19 => { // rotate_anticlockwise [INFO] [stderr] | _______________________^ [INFO] [stderr] 248 | | [INFO] [stderr] 249 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:250:23 [INFO] [stderr] | [INFO] [stderr] 250 | 20 => { // soft_drop [INFO] [stderr] | _______________________^ [INFO] [stderr] 251 | | [INFO] [stderr] 252 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:253:23 [INFO] [stderr] | [INFO] [stderr] 253 | 21 => { // hard_drop [INFO] [stderr] | _______________________^ [INFO] [stderr] 254 | | [INFO] [stderr] 255 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:256:23 [INFO] [stderr] | [INFO] [stderr] 256 | 22 => { // hold [INFO] [stderr] | _______________________^ [INFO] [stderr] 257 | | [INFO] [stderr] 258 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:259:23 [INFO] [stderr] | [INFO] [stderr] 259 | 23 => { // background_color [INFO] [stderr] | _______________________^ [INFO] [stderr] 260 | | [INFO] [stderr] 261 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:262:23 [INFO] [stderr] | [INFO] [stderr] 262 | 24 => { // i piece color [INFO] [stderr] | _______________________^ [INFO] [stderr] 263 | | [INFO] [stderr] 264 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:265:23 [INFO] [stderr] | [INFO] [stderr] 265 | 25 => { // j piece color [INFO] [stderr] | _______________________^ [INFO] [stderr] 266 | | [INFO] [stderr] 267 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:268:23 [INFO] [stderr] | [INFO] [stderr] 268 | 26 => { // l piece color [INFO] [stderr] | _______________________^ [INFO] [stderr] 269 | | [INFO] [stderr] 270 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:271:23 [INFO] [stderr] | [INFO] [stderr] 271 | 27 => { // s piece color [INFO] [stderr] | _______________________^ [INFO] [stderr] 272 | | [INFO] [stderr] 273 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:274:23 [INFO] [stderr] | [INFO] [stderr] 274 | 28 => { // z piece color [INFO] [stderr] | _______________________^ [INFO] [stderr] 275 | | [INFO] [stderr] 276 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:277:23 [INFO] [stderr] | [INFO] [stderr] 277 | 29 => { // t piece color [INFO] [stderr] | _______________________^ [INFO] [stderr] 278 | | [INFO] [stderr] 279 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/game_config.rs:280:23 [INFO] [stderr] | [INFO] [stderr] 280 | 30 => { // o piece color [INFO] [stderr] | _______________________^ [INFO] [stderr] 281 | | [INFO] [stderr] 282 | | }, [INFO] [stderr] | |_________________^ expected enum `std::result::Result`, found () [INFO] [stderr] | [INFO] [stderr] = note: expected type `std::result::Result` [INFO] [stderr] found type `()` [INFO] [stderr] [INFO] [stderr] error: aborting due to 48 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0308, E0317, E0408, E0425, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0308`. [INFO] [stderr] error: aborting due to 48 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0308, E0317, E0408, E0425, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0308`. [INFO] [stderr] error: Could not compile `tui_tetris`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: Could not compile `tui_tetris`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "f38ffe29629ec33ede6d4087cf964f51708a0a03a703a6d899c7d3584afc0f7f"` [INFO] running `"docker" "rm" "-f" "f38ffe29629ec33ede6d4087cf964f51708a0a03a703a6d899c7d3584afc0f7f"` [INFO] [stdout] f38ffe29629ec33ede6d4087cf964f51708a0a03a703a6d899c7d3584afc0f7f