[INFO] updating cached repository https://github.com/Innoviox/gaddag-rust [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] [stderr] From https://github.com/Innoviox/gaddag-rust [INFO] [stderr] * [new branch] imgbot -> imgbot [INFO] [stderr] 5f3113b..b003fe3 master -> master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b003fe378a5400411d60ddfb43d62133eb3a9b18 [INFO] checking Innoviox/gaddag-rust against try#bcff76bad586cfb6874f179a4b66448e6b8a832c for pr-66919 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FInnoviox%2Fgaddag-rust" "/workspace/builds/worker-1/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Innoviox/gaddag-rust on toolchain bcff76bad586cfb6874f179a4b66448e6b8a832c [INFO] running `"/workspace/cargo-home/bin/cargo" "+bcff76bad586cfb6874f179a4b66448e6b8a832c" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/Innoviox/gaddag-rust [INFO] finished tweaking git repo https://github.com/Innoviox/gaddag-rust [INFO] tweaked toml for git repo https://github.com/Innoviox/gaddag-rust written to /workspace/builds/worker-1/source/Cargo.toml [INFO] crate git repo https://github.com/Innoviox/gaddag-rust already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+bcff76bad586cfb6874f179a4b66448e6b8a832c" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bcff76bad586cfb6874f179a4b66448e6b8a832c" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] a64a58f5f6261ec56a59ea3b276e5111ec9fd877517ff9d9747d5ce896f101bc [INFO] running `"docker" "start" "-a" "a64a58f5f6261ec56a59ea3b276e5111ec9fd877517ff9d9747d5ce896f101bc"` [INFO] [stderr] Checking number_prefix v0.3.0 [INFO] [stderr] Checking array-init v0.1.1 [INFO] [stderr] Checking proc-macro2 v0.4.30 [INFO] [stderr] Checking glib-sys v0.9.0 [INFO] [stderr] Checking console v0.9.1 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Checking rayon-core v1.6.1 [INFO] [stderr] Checking indicatif v0.13.0 [INFO] [stderr] Checking gobject-sys v0.9.0 [INFO] [stderr] Checking cairo-sys-rs v0.9.0 [INFO] [stderr] Checking rayon v1.2.1 [INFO] [stderr] Checking quote v0.6.13 [INFO] [stderr] Checking gio-sys v0.9.0 [INFO] [stderr] Checking glib v0.8.2 [INFO] [stderr] Checking pango-sys v0.9.0 [INFO] [stderr] Checking atk-sys v0.9.0 [INFO] [stderr] Checking gdk-pixbuf-sys v0.9.0 [INFO] [stderr] Checking gdk-sys v0.9.0 [INFO] [stderr] Checking gtk-sys v0.9.0 [INFO] [stderr] Checking gio v0.7.0 [INFO] [stderr] Checking pango v0.7.0 [INFO] [stderr] Checking cairo-rs v0.7.1 [INFO] [stderr] Checking atk v0.7.0 [INFO] [stderr] Compiling relm-derive v0.18.0 [INFO] [stderr] Checking gdk-pixbuf v0.7.0 [INFO] [stderr] Checking gdk v0.11.0 [INFO] [stderr] Checking gtk v0.7.0 [INFO] [stderr] Checking relm v0.18.0 [INFO] [stderr] Checking gaddag-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `crate::player::Player` [INFO] [stderr] --> src/main.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::player::Player; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Board`, `STATE` [INFO] [stderr] --> src/main.rs:8:20 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::board::{Board, STATE}; [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::SystemTime` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::time::SystemTime; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/board.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/dictionary.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp` [INFO] [stderr] --> src/player.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::cmp; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `widget` [INFO] [stderr] --> src/main.rs:20:24 [INFO] [stderr] | [INFO] [stderr] 20 | use relm_derive::{Msg, widget}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Horizontal`, `Vertical` [INFO] [stderr] --> src/main.rs:24:24 [INFO] [stderr] | [INFO] [stderr] 24 | use gtk::Orientation::{Vertical, Horizontal}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Border`, `Button` [INFO] [stderr] --> src/main.rs:26:12 [INFO] [stderr] | [INFO] [stderr] 26 | Label, Border, Grid, Button [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `gdk_sys::GdkRGBA` [INFO] [stderr] --> src/main.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | use gdk_sys::GdkRGBA; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::player::Player` [INFO] [stderr] --> src/main.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::player::Player; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Board`, `STATE` [INFO] [stderr] --> src/main.rs:8:20 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::board::{Board, STATE}; [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::SystemTime` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::time::SystemTime; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/board.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/dictionary.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp` [INFO] [stderr] --> src/player.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::cmp; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `widget` [INFO] [stderr] --> src/main.rs:20:24 [INFO] [stderr] | [INFO] [stderr] 20 | use relm_derive::{Msg, widget}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Horizontal`, `Vertical` [INFO] [stderr] --> src/main.rs:24:24 [INFO] [stderr] | [INFO] [stderr] 24 | use gtk::Orientation::{Vertical, Horizontal}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Border`, `Button` [INFO] [stderr] --> src/main.rs:26:12 [INFO] [stderr] | [INFO] [stderr] 26 | Label, Border, Grid, Button [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `gdk_sys::GdkRGBA` [INFO] [stderr] --> src/main.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | use gdk_sys::GdkRGBA; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/board.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::io::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/dictionary.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::io::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Tick` is named the same as one of the variants of the type `Msg` [INFO] [stderr] --> src/main.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | Tick => { [INFO] [stderr] | ^^^^ help: to match on the variant, qualify the path: `Msg::Tick` [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `SetMove` is named the same as one of the variants of the type `Msg` [INFO] [stderr] --> src/main.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | SetMove => { [INFO] [stderr] | ^^^^^^^ help: to match on the variant, qualify the path: `Msg::SetMove` [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Quit` is named the same as one of the variants of the type `Msg` [INFO] [stderr] --> src/main.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | Quit => gtk::main_quit(), [INFO] [stderr] | ^^^^ help: to match on the variant, qualify the path: `Msg::Quit` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/main.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 93 | Tick => { [INFO] [stderr] | ---- matches any value [INFO] [stderr] ... [INFO] [stderr] 129 | SetMove => { [INFO] [stderr] | ^^^^^^^ unreachable pattern [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/board.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::io::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/main.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 93 | Tick => { [INFO] [stderr] | ---- matches any value [INFO] [stderr] ... [INFO] [stderr] 132 | Quit => gtk::main_quit(), [INFO] [stderr] | ^^^^ unreachable pattern [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/dictionary.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::io::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Tick` is named the same as one of the variants of the type `Msg` [INFO] [stderr] --> src/main.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | Tick => { [INFO] [stderr] | ^^^^ help: to match on the variant, qualify the path: `Msg::Tick` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | for i in m.word.chars() { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Tick` [INFO] [stderr] --> src/main.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | Tick => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_Tick` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `SetMove` [INFO] [stderr] --> src/main.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | SetMove => { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_SetMove` [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `SetMove` is named the same as one of the variants of the type `Msg` [INFO] [stderr] --> src/main.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | SetMove => { [INFO] [stderr] | ^^^^^^^ help: to match on the variant, qualify the path: `Msg::SetMove` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Quit` [INFO] [stderr] --> src/main.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | Quit => gtk::main_quit(), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_Quit` [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Quit` is named the same as one of the variants of the type `Msg` [INFO] [stderr] --> src/main.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | Quit => gtk::main_quit(), [INFO] [stderr] | ^^^^ help: to match on the variant, qualify the path: `Msg::Quit` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/main.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 93 | Tick => { [INFO] [stderr] | ---- matches any value [INFO] [stderr] ... [INFO] [stderr] 129 | SetMove => { [INFO] [stderr] | ^^^^^^^ unreachable pattern [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `di` is assigned to, but never used [INFO] [stderr] --> src/board.rs:326:17 [INFO] [stderr] | [INFO] [stderr] 326 | let mut di = 0; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_di` instead [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/main.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 93 | Tick => { [INFO] [stderr] | ---- matches any value [INFO] [stderr] ... [INFO] [stderr] 132 | Quit => gtk::main_quit(), [INFO] [stderr] | ^^^^ unreachable pattern [INFO] [stderr] [INFO] [stderr] warning: value assigned to `last_anchor_col` is never read [INFO] [stderr] --> src/board.rs:330:17 [INFO] [stderr] | [INFO] [stderr] 330 | let mut last_anchor_col = 0; // last column of the anchor to calculate the distance between current and last anchor square [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `di` is never read [INFO] [stderr] --> src/board.rs:354:9 [INFO] [stderr] | [INFO] [stderr] 354 | di = 1; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `nnode` [INFO] [stderr] --> src/board.rs:472:28 [INFO] [stderr] | [INFO] [stderr] 472 | for (next, nnode) in self.trie.nexts(node) { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_nnode` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/dictionary.rs:43:17 [INFO] [stderr] | [INFO] [stderr] 43 | let mut i = 0; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `last_node` is never read [INFO] [stderr] --> src/dictionary.rs:96:17 [INFO] [stderr] | [INFO] [stderr] 96 | let mut last_node = current; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | for i in m.word.chars() { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Tick` [INFO] [stderr] --> src/main.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | Tick => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_Tick` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `SetMove` [INFO] [stderr] --> src/main.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | SetMove => { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_SetMove` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Quit` [INFO] [stderr] --> src/main.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | Quit => gtk::main_quit(), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_Quit` [INFO] [stderr] [INFO] [stderr] warning: variable `di` is assigned to, but never used [INFO] [stderr] --> src/board.rs:326:17 [INFO] [stderr] | [INFO] [stderr] 326 | let mut di = 0; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_di` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `last_anchor_col` is never read [INFO] [stderr] --> src/board.rs:330:17 [INFO] [stderr] | [INFO] [stderr] 330 | let mut last_anchor_col = 0; // last column of the anchor to calculate the distance between current and last anchor square [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:212:13 [INFO] [stderr] | [INFO] [stderr] 212 | let mut win = Win { [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: value assigned to `di` is never read [INFO] [stderr] --> src/board.rs:354:9 [INFO] [stderr] | [INFO] [stderr] 354 | di = 1; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `nnode` [INFO] [stderr] --> src/board.rs:472:28 [INFO] [stderr] | [INFO] [stderr] 472 | for (next, nnode) in self.trie.nexts(node) { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_nnode` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/dictionary.rs:43:17 [INFO] [stderr] | [INFO] [stderr] 43 | let mut i = 0; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `last_node` is never read [INFO] [stderr] --> src/dictionary.rs:96:17 [INFO] [stderr] | [INFO] [stderr] 96 | let mut last_node = current; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:212:13 [INFO] [stderr] | [INFO] [stderr] 212 | let mut win = Win { [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: variable does not need to be mutable [INFO] [stderr] --> src/dictionary.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | let mut i = 0; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/dictionary.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | let mut extend = |t: &mut Trie, ln, c| { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/dictionary.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | let mut i = 0; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/dictionary.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | let mut extend = |t: &mut Trie, ln, c| { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | let mut player_1 = Player { rack: board.bag.draw_tiles(7), name: "p1".to_string(), score: 0 }; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | let mut player_2 = Player { rack: board.bag.draw_tiles(7), name: "p2".to_string(), score: 0 }; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `with` [INFO] [stderr] --> src/bag.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn with(order: &Vec) -> Bag { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_str` [INFO] [stderr] --> src/utils.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn to_str(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cmp` [INFO] [stderr] --> src/utils.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | pub fn cmp(x: &&Move, y: &&Move) -> Ordering { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `reset` [INFO] [stderr] --> src/board.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `place_move_cloned` [INFO] [stderr] --> src/board.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn place_move_cloned(&mut self, m: &Move) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `anchors` [INFO] [stderr] --> src/board.rs:231:5 [INFO] [stderr] | [INFO] [stderr] 231 | pub fn anchors(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `nseed` [INFO] [stderr] --> src/dictionary.rs:198:5 [INFO] [stderr] | [INFO] [stderr] 198 | pub fn nseed(&self, initial: &Vec) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `nrseed` [INFO] [stderr] --> src/dictionary.rs:212:5 [INFO] [stderr] | [INFO] [stderr] 212 | pub fn nrseed(&self, initial: &Vec) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `WHITE` [INFO] [stderr] --> src/main.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | const WHITE: RGBA = RGBA { red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | let mut player_1 = Player { rack: board.bag.draw_tiles(7), name: "p1".to_string(), score: 0 }; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | let mut player_2 = Player { rack: board.bag.draw_tiles(7), name: "p2".to_string(), score: 0 }; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `with` [INFO] [stderr] --> src/bag.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn with(order: &Vec) -> Bag { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_str` [INFO] [stderr] --> src/utils.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn to_str(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cmp` [INFO] [stderr] --> src/utils.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | pub fn cmp(x: &&Move, y: &&Move) -> Ordering { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `Tick` should have a snake case name [INFO] [stderr] --> src/main.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | Tick => { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `tick` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `reset` [INFO] [stderr] --> src/board.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `place_move_cloned` [INFO] [stderr] --> src/board.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn place_move_cloned(&mut self, m: &Move) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `anchors` [INFO] [stderr] --> src/board.rs:231:5 [INFO] [stderr] | [INFO] [stderr] 231 | pub fn anchors(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `nseed` [INFO] [stderr] --> src/dictionary.rs:198:5 [INFO] [stderr] | [INFO] [stderr] 198 | pub fn nseed(&self, initial: &Vec) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `nrseed` [INFO] [stderr] --> src/dictionary.rs:212:5 [INFO] [stderr] | [INFO] [stderr] 212 | pub fn nrseed(&self, initial: &Vec) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `WHITE` [INFO] [stderr] --> src/main.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | const WHITE: RGBA = RGBA { red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `SetMove` should have a snake case name [INFO] [stderr] --> src/main.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | SetMove => { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `set_move` [INFO] [stderr] [INFO] [stderr] warning: variable `Quit` should have a snake case name [INFO] [stderr] --> src/main.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | Quit => gtk::main_quit(), [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `quit` [INFO] [stderr] [INFO] [stderr] warning: variable `Tick` should have a snake case name [INFO] [stderr] --> src/main.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | Tick => { [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `tick` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `SetMove` should have a snake case name [INFO] [stderr] --> src/main.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | SetMove => { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `set_move` [INFO] [stderr] [INFO] [stderr] warning: variable `Quit` should have a snake case name [INFO] [stderr] --> src/main.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | Quit => gtk::main_quit(), [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `quit` [INFO] [stderr] [INFO] [stderr] warning: static variable `alph` should have an upper case name [INFO] [stderr] --> src/utils.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 15 | pub static alph: &str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ?"; [INFO] [stderr] | ^^^^ help: convert the identifier to upper case: `ALPH` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] warning: static variable `alph` should have an upper case name [INFO] [stderr] --> src/utils.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 15 | pub static alph: &str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ?"; [INFO] [stderr] | ^^^^ help: convert the identifier to upper case: `ALPH` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 30s [INFO] running `"docker" "inspect" "a64a58f5f6261ec56a59ea3b276e5111ec9fd877517ff9d9747d5ce896f101bc"` [INFO] running `"docker" "rm" "-f" "a64a58f5f6261ec56a59ea3b276e5111ec9fd877517ff9d9747d5ce896f101bc"` [INFO] [stdout] a64a58f5f6261ec56a59ea3b276e5111ec9fd877517ff9d9747d5ce896f101bc