[INFO] updating cached repository loloof64/ChessPositionsTrainerPC [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/loloof64/ChessPositionsTrainerPC [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/loloof64/ChessPositionsTrainerPC" "work/ex/clippy-test-run/sources/stable/gh/loloof64/ChessPositionsTrainerPC"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/loloof64/ChessPositionsTrainerPC'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/loloof64/ChessPositionsTrainerPC" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/loloof64/ChessPositionsTrainerPC"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/loloof64/ChessPositionsTrainerPC'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 4b37ebd4f01ea5526c053bfa9a007c191b1b0775 [INFO] sha for GitHub repo loloof64/ChessPositionsTrainerPC: 4b37ebd4f01ea5526c053bfa9a007c191b1b0775 [INFO] validating manifest of loloof64/ChessPositionsTrainerPC on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of loloof64/ChessPositionsTrainerPC on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing loloof64/ChessPositionsTrainerPC [INFO] finished frobbing loloof64/ChessPositionsTrainerPC [INFO] frobbed toml for loloof64/ChessPositionsTrainerPC written to work/ex/clippy-test-run/sources/stable/gh/loloof64/ChessPositionsTrainerPC/Cargo.toml [INFO] started frobbing loloof64/ChessPositionsTrainerPC [INFO] finished frobbing loloof64/ChessPositionsTrainerPC [INFO] frobbed toml for loloof64/ChessPositionsTrainerPC written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/loloof64/ChessPositionsTrainerPC/Cargo.toml [INFO] crate loloof64/ChessPositionsTrainerPC has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting loloof64/ChessPositionsTrainerPC against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/loloof64/ChessPositionsTrainerPC:/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" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 347d9e9a3b74337af2efd5713c9bdf4f3351fed0af2fd1fbbb49b264e6f0433a [INFO] running `"docker" "start" "-a" "347d9e9a3b74337af2efd5713c9bdf4f3351fed0af2fd1fbbb49b264e6f0433a"` [INFO] [stderr] Compiling gio v0.5.1 [INFO] [stderr] Compiling cairo-rs v0.5.0 [INFO] [stderr] Checking fragile v0.3.0 [INFO] [stderr] Compiling gdk-pixbuf v0.5.0 [INFO] [stderr] Compiling gdk v0.9.0 [INFO] [stderr] Compiling gtk v0.5.0 [INFO] [stderr] Compiling glib-sys v0.7.0 [INFO] [stderr] Compiling gobject-sys v0.7.0 [INFO] [stderr] Compiling gio-sys v0.7.0 [INFO] [stderr] Compiling pango-sys v0.7.0 [INFO] [stderr] Compiling cairo-sys-rs v0.7.0 [INFO] [stderr] Compiling gdk-pixbuf-sys v0.7.0 [INFO] [stderr] Compiling atk-sys v0.7.0 [INFO] [stderr] Compiling gdk-sys v0.7.0 [INFO] [stderr] Compiling gtk-sys v0.7.0 [INFO] [stderr] Compiling shakmaty v0.12.0 [INFO] [stderr] Checking btoi v0.4.0 [INFO] [stderr] Checking uci v0.1.2 [INFO] [stderr] Checking glib v0.6.0 [INFO] [stderr] Checking pango v0.5.0 [INFO] [stderr] Checking chess_position_trainer v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/chess_position_trainer/graphic/load_images.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | image [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/chess_position_trainer/graphic/load_images.rs:11:17 [INFO] [stderr] | [INFO] [stderr] 11 | let image = match image_pixbuf { [INFO] [stderr] | _________________^ [INFO] [stderr] 12 | | Ok(image) => Some(image), [INFO] [stderr] 13 | | Err(e) => { [INFO] [stderr] 14 | | println!("Failed to get image ! ({})", e); [INFO] [stderr] 15 | | None [INFO] [stderr] 16 | | } [INFO] [stderr] 17 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/chess_position_trainer/graphic/load_images.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | image [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/chess_position_trainer/graphic/load_images.rs:11:17 [INFO] [stderr] | [INFO] [stderr] 11 | let image = match image_pixbuf { [INFO] [stderr] | _________________^ [INFO] [stderr] 12 | | Ok(image) => Some(image), [INFO] [stderr] 13 | | Err(e) => { [INFO] [stderr] 14 | | println!("Failed to get image ! ({})", e); [INFO] [stderr] 15 | | None [INFO] [stderr] 16 | | } [INFO] [stderr] 17 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:168:26 [INFO] [stderr] | [INFO] [stderr] 168 | let cells_size = self.cells_size as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:193:26 [INFO] [stderr] | [INFO] [stderr] 193 | let cells_size = self.cells_size as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | / match *self.moved_piece.borrow_mut() { [INFO] [stderr] 225 | | Some(ref mut moved_piece) => { [INFO] [stderr] 226 | | moved_piece.translate_to(coords.0, coords.1); [INFO] [stderr] 227 | | self.drawing_area.queue_draw(); [INFO] [stderr] 228 | | } [INFO] [stderr] 229 | | None => {} [INFO] [stderr] 230 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 224 | if let Some(ref mut moved_piece) = *self.moved_piece.borrow_mut() { [INFO] [stderr] 225 | moved_piece.translate_to(coords.0, coords.1); [INFO] [stderr] 226 | self.drawing_area.queue_draw(); [INFO] [stderr] 227 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `/` [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:378:41 [INFO] [stderr] | [INFO] [stderr] 378 | let white_cell_color = [255.0/255.0, 255.0/255.0, 179.0/255.0]; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `/` [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:378:54 [INFO] [stderr] | [INFO] [stderr] 378 | let white_cell_color = [255.0/255.0, 255.0/255.0, 179.0/255.0]; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:384:30 [INFO] [stderr] | [INFO] [stderr] 384 | let rect_x = (self.cells_size as f64) * (0.5 + (file as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:384:64 [INFO] [stderr] | [INFO] [stderr] 384 | let rect_x = (self.cells_size as f64) * (0.5 + (file as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(file)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:385:30 [INFO] [stderr] | [INFO] [stderr] 385 | let rect_y = (self.cells_size as f64) * (0.5 + (rank as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:385:64 [INFO] [stderr] | [INFO] [stderr] 385 | let rect_y = (self.cells_size as f64) * (0.5 + (rank as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(rank)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:386:33 [INFO] [stderr] | [INFO] [stderr] 386 | let rect_size = self.cells_size as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:426:42 [INFO] [stderr] | [INFO] [stderr] 426 | let location_x = (self.cells_size as f64) * (file as f64 + 0.5 + 0.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:426:70 [INFO] [stderr] | [INFO] [stderr] 426 | let location_x = (self.cells_size as f64) * (file as f64 + 0.5 + 0.1); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(file)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:427:42 [INFO] [stderr] | [INFO] [stderr] 427 | let location_y = (self.cells_size as f64) * ((7.0-rank as f64) + 0.5 + 0.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:427:75 [INFO] [stderr] | [INFO] [stderr] 427 | let location_y = (self.cells_size as f64) * ((7.0-rank as f64) + 0.5 + 0.1); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(rank)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:442:58 [INFO] [stderr] | [INFO] [stderr] 442 | let piece_pointer_x = moved_piece.coords_x - (self.cells_size as f64) * 0.4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:443:58 [INFO] [stderr] | [INFO] [stderr] 443 | let piece_pointer_y = moved_piece.coords_y - (self.cells_size as f64) * 0.4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:466:26 [INFO] [stderr] | [INFO] [stderr] 466 | cr.set_font_size((self.cells_size as f64) * 0.38); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:472:28 [INFO] [stderr] | [INFO] [stderr] 472 | let letter_x = (self.cells_size as f64) * (0.9 + (real_file_index as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:473:32 [INFO] [stderr] | [INFO] [stderr] 473 | let letter_y_top = (self.cells_size as f64) * 0.4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:474:35 [INFO] [stderr] | [INFO] [stderr] 474 | let letter_y_bottom = (self.cells_size as f64) * 8.9; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:487:28 [INFO] [stderr] | [INFO] [stderr] 487 | let letter_y = (self.cells_size as f64) * (1.2 + (real_rank_index as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:488:33 [INFO] [stderr] | [INFO] [stderr] 488 | let letter_x_left = (self.cells_size as f64) * 0.1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:489:34 [INFO] [stderr] | [INFO] [stderr] 489 | let letter_x_right = (self.cells_size as f64) * 8.6; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:502:22 [INFO] [stderr] | [INFO] [stderr] 502 | let center = (self.cells_size as f64) * 8.75; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:503:22 [INFO] [stderr] | [INFO] [stderr] 503 | let radius = (self.cells_size as f64) * 0.25; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chess_position_trainer/logic/chessgame.rs:76:12 [INFO] [stderr] | [INFO] [stderr] 76 | if expected_moves.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!expected_moves.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `chess_position_trainer`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:168:26 [INFO] [stderr] | [INFO] [stderr] 168 | let cells_size = self.cells_size as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:193:26 [INFO] [stderr] | [INFO] [stderr] 193 | let cells_size = self.cells_size as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | / match *self.moved_piece.borrow_mut() { [INFO] [stderr] 225 | | Some(ref mut moved_piece) => { [INFO] [stderr] 226 | | moved_piece.translate_to(coords.0, coords.1); [INFO] [stderr] 227 | | self.drawing_area.queue_draw(); [INFO] [stderr] 228 | | } [INFO] [stderr] 229 | | None => {} [INFO] [stderr] 230 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 224 | if let Some(ref mut moved_piece) = *self.moved_piece.borrow_mut() { [INFO] [stderr] 225 | moved_piece.translate_to(coords.0, coords.1); [INFO] [stderr] 226 | self.drawing_area.queue_draw(); [INFO] [stderr] 227 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `/` [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:378:41 [INFO] [stderr] | [INFO] [stderr] 378 | let white_cell_color = [255.0/255.0, 255.0/255.0, 179.0/255.0]; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `/` [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:378:54 [INFO] [stderr] | [INFO] [stderr] 378 | let white_cell_color = [255.0/255.0, 255.0/255.0, 179.0/255.0]; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:384:30 [INFO] [stderr] | [INFO] [stderr] 384 | let rect_x = (self.cells_size as f64) * (0.5 + (file as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:384:64 [INFO] [stderr] | [INFO] [stderr] 384 | let rect_x = (self.cells_size as f64) * (0.5 + (file as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(file)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:385:30 [INFO] [stderr] | [INFO] [stderr] 385 | let rect_y = (self.cells_size as f64) * (0.5 + (rank as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:385:64 [INFO] [stderr] | [INFO] [stderr] 385 | let rect_y = (self.cells_size as f64) * (0.5 + (rank as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(rank)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:386:33 [INFO] [stderr] | [INFO] [stderr] 386 | let rect_size = self.cells_size as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:426:42 [INFO] [stderr] | [INFO] [stderr] 426 | let location_x = (self.cells_size as f64) * (file as f64 + 0.5 + 0.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:426:70 [INFO] [stderr] | [INFO] [stderr] 426 | let location_x = (self.cells_size as f64) * (file as f64 + 0.5 + 0.1); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(file)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:427:42 [INFO] [stderr] | [INFO] [stderr] 427 | let location_y = (self.cells_size as f64) * ((7.0-rank as f64) + 0.5 + 0.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:427:75 [INFO] [stderr] | [INFO] [stderr] 427 | let location_y = (self.cells_size as f64) * ((7.0-rank as f64) + 0.5 + 0.1); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(rank)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:442:58 [INFO] [stderr] | [INFO] [stderr] 442 | let piece_pointer_x = moved_piece.coords_x - (self.cells_size as f64) * 0.4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:443:58 [INFO] [stderr] | [INFO] [stderr] 443 | let piece_pointer_y = moved_piece.coords_y - (self.cells_size as f64) * 0.4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:466:26 [INFO] [stderr] | [INFO] [stderr] 466 | cr.set_font_size((self.cells_size as f64) * 0.38); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:472:28 [INFO] [stderr] | [INFO] [stderr] 472 | let letter_x = (self.cells_size as f64) * (0.9 + (real_file_index as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:473:32 [INFO] [stderr] | [INFO] [stderr] 473 | let letter_y_top = (self.cells_size as f64) * 0.4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:474:35 [INFO] [stderr] | [INFO] [stderr] 474 | let letter_y_bottom = (self.cells_size as f64) * 8.9; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:487:28 [INFO] [stderr] | [INFO] [stderr] 487 | let letter_y = (self.cells_size as f64) * (1.2 + (real_rank_index as f64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:488:33 [INFO] [stderr] | [INFO] [stderr] 488 | let letter_x_left = (self.cells_size as f64) * 0.1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:489:34 [INFO] [stderr] | [INFO] [stderr] 489 | let letter_x_right = (self.cells_size as f64) * 8.6; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:502:22 [INFO] [stderr] | [INFO] [stderr] 502 | let center = (self.cells_size as f64) * 8.75; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/chess_position_trainer/graphic/chessboard.rs:503:22 [INFO] [stderr] | [INFO] [stderr] 503 | let radius = (self.cells_size as f64) * 0.25; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.cells_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/chess_position_trainer/logic/chessgame.rs:76:12 [INFO] [stderr] | [INFO] [stderr] 76 | if expected_moves.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!expected_moves.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `chess_position_trainer`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "347d9e9a3b74337af2efd5713c9bdf4f3351fed0af2fd1fbbb49b264e6f0433a"` [INFO] running `"docker" "rm" "-f" "347d9e9a3b74337af2efd5713c9bdf4f3351fed0af2fd1fbbb49b264e6f0433a"` [INFO] [stdout] 347d9e9a3b74337af2efd5713c9bdf4f3351fed0af2fd1fbbb49b264e6f0433a