[INFO] cloning repository https://github.com/J4m3s00/skat [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/J4m3s00/skat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJ4m3s00%2Fskat", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJ4m3s00%2Fskat'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5bc746fdacfc6bb89ed354f34ba2d2ffcb9dadaa [INFO] checking J4m3s00/skat/5bc746fdacfc6bb89ed354f34ba2d2ffcb9dadaa against master#65cd843ae06ad00123c131a431ed5304e4cd577a for pr-122077 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJ4m3s00%2Fskat" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/J4m3s00/skat on toolchain 65cd843ae06ad00123c131a431ed5304e4cd577a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65cd843ae06ad00123c131a431ed5304e4cd577a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/J4m3s00/skat [INFO] finished tweaking git repo https://github.com/J4m3s00/skat [INFO] tweaked toml for git repo https://github.com/J4m3s00/skat written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/J4m3s00/skat already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65cd843ae06ad00123c131a431ed5304e4cd577a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+65cd843ae06ad00123c131a431ed5304e4cd577a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f69fceaf433659a94ce599937e25bd2f9bb65d2f9bbe3a9eb46b0f7fa113989b [INFO] running `Command { std: "docker" "start" "-a" "f69fceaf433659a94ce599937e25bd2f9bb65d2f9bbe3a9eb46b0f7fa113989b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f69fceaf433659a94ce599937e25bd2f9bb65d2f9bbe3a9eb46b0f7fa113989b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f69fceaf433659a94ce599937e25bd2f9bb65d2f9bbe3a9eb46b0f7fa113989b", kill_on_drop: false }` [INFO] [stdout] f69fceaf433659a94ce599937e25bd2f9bb65d2f9bbe3a9eb46b0f7fa113989b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+65cd843ae06ad00123c131a431ed5304e4cd577a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 54fabd4d342d3bb881c67ce55de938574432b1d71d5f426dadd9b09ae892d650 [INFO] running `Command { std: "docker" "start" "-a" "54fabd4d342d3bb881c67ce55de938574432b1d71d5f426dadd9b09ae892d650", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.67 [INFO] [stderr] Checking c2-chacha v0.2.3 [INFO] [stderr] Checking getrandom v0.1.14 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking Skat v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: expected type, found keyword `mut` [INFO] [stdout] --> src/main.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 53 | struct Player { [INFO] [stdout] | ------ while parsing this struct [INFO] [stdout] 54 | cards: mut Vec [INFO] [stdout] | ^^^ expected type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected type, found keyword `mut` [INFO] [stdout] --> src/main.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 53 | struct Player { [INFO] [stdout] | ------ while parsing this struct [INFO] [stdout] 54 | cards: mut Vec [INFO] [stdout] | ^^^ expected type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:111:8 [INFO] [stdout] | [INFO] [stdout] 111 | if (table_cards.len() == 0) { return hand_cards.clone(); } [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 111 - if (table_cards.len() == 0) { return hand_cards.clone(); } [INFO] [stdout] 111 + if table_cards.len() == 0 { return hand_cards.clone(); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | if (result.len() > 0) { return result; } [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 114 - if (result.len() > 0) { return result; } [INFO] [stdout] 114 + if result.len() > 0 { return result; } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | if (table_cards.len() == 0) { table_cards.push(card); players[player_index].cards.into_iter().filter(|&c|c.number == card.number && c... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 128 - if (table_cards.len() == 0) { table_cards.push(card); players[player_index].cards.into_iter().filter(|&c|c.number == card.number && c.color == card.color).collect::>(); } [INFO] [stdout] 128 + if table_cards.len() == 0 { table_cards.push(card); players[player_index].cards.into_iter().filter(|&c|c.number == card.number && c.color == card.color).collect::>(); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:111:8 [INFO] [stdout] | [INFO] [stdout] 111 | if (table_cards.len() == 0) { return hand_cards.clone(); } [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 111 - if (table_cards.len() == 0) { return hand_cards.clone(); } [INFO] [stdout] 111 + if table_cards.len() == 0 { return hand_cards.clone(); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | if (result.len() > 0) { return result; } [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 114 - if (result.len() > 0) { return result; } [INFO] [stdout] 114 + if result.len() > 0 { return result; } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | if (table_cards.len() == 0) { table_cards.push(card); players[player_index].cards.into_iter().filter(|&c|c.number == card.number && c... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 128 - if (table_cards.len() == 0) { table_cards.push(card); players[player_index].cards.into_iter().filter(|&c|c.number == card.number && c.color == card.color).collect::>(); } [INFO] [stdout] 128 + if table_cards.len() == 0 { table_cards.push(card); players[player_index].cards.into_iter().filter(|&c|c.number == card.number && c.color == card.color).collect::>(); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:59:17 [INFO] [stdout] | [INFO] [stdout] 59 | let range = full_deck.len(); [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | full_deck.swap(first_card, second_card); [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:59:17 [INFO] [stdout] | [INFO] [stdout] 59 | let range = full_deck.len(); [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | full_deck.swap(first_card, second_card); [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cards` on type `Player` [INFO] [stdout] --> src/main.rs:77:24 [INFO] [stdout] | [INFO] [stdout] 77 | players[p].cards.push(full_deck[current_index]); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cards` on type `Player` [INFO] [stdout] --> src/main.rs:77:24 [INFO] [stdout] | [INFO] [stdout] 77 | players[p].cards.push(full_deck[current_index]); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cards` on type `Player` [INFO] [stdout] --> src/main.rs:87:24 [INFO] [stdout] | [INFO] [stdout] 87 | players[p].cards.push(full_deck[current_index]); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cards` on type `Player` [INFO] [stdout] --> src/main.rs:87:24 [INFO] [stdout] | [INFO] [stdout] 87 | players[p].cards.push(full_deck[current_index]); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cards` on type `Player` [INFO] [stdout] --> src/main.rs:94:24 [INFO] [stdout] | [INFO] [stdout] 94 | players[p].cards.push(full_deck[current_index]); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cards` on type `Player` [INFO] [stdout] --> src/main.rs:94:24 [INFO] [stdout] | [INFO] [stdout] 94 | players[p].cards.push(full_deck[current_index]); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | if (table_cards.len() == 0) { return hand_cards.clone(); } [INFO] [stdout] | ^^^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:112:24 [INFO] [stdout] | [INFO] [stdout] 112 | let played_color = table_cards[0].color; [INFO] [stdout] | ^^^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | if (table_cards.len() == 0) { return hand_cards.clone(); } [INFO] [stdout] | ^^^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:112:24 [INFO] [stdout] | [INFO] [stdout] 112 | let played_color = table_cards[0].color; [INFO] [stdout] | ^^^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cards` on type `Player` [INFO] [stdout] --> src/main.rs:128:81 [INFO] [stdout] | [INFO] [stdout] 128 | if (table_cards.len() == 0) { table_cards.push(card); players[player_index].cards.into_iter().filter(|&c|c.number == card.number && c... [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `cards` on type `Player` [INFO] [stdout] --> src/main.rs:128:81 [INFO] [stdout] | [INFO] [stdout] 128 | if (table_cards.len() == 0) { table_cards.push(card); players[player_index].cards.into_iter().filter(|&c|c.number == card.number && c... [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:143:17 [INFO] [stdout] | [INFO] [stdout] 143 | for card in &full_deck { [INFO] [stdout] | ^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 143 | for card in addr_of!(full_deck) { [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `skat_first` [INFO] [stdout] --> src/main.rs:148:10 [INFO] [stdout] | [INFO] [stdout] 148 | let (skat_first, skat_second) = give_players_cards(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_skat_first` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `skat_second` [INFO] [stdout] --> src/main.rs:148:22 [INFO] [stdout] | [INFO] [stdout] 148 | let (skat_first, skat_second) = give_players_cards(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_skat_second` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `table` [INFO] [stdout] --> src/main.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | let table = vec![Card{number: CARD_NUMBER_9, color: CARD_COLOR_CLUBS}]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | full_deck = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | player_index = 0; [INFO] [stdout] | ^^^^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | full_deck.push(Card {number: number, color: color}); [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:143:18 [INFO] [stdout] | [INFO] [stdout] 143 | for card in &full_deck { [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/main.rs:143:17 [INFO] [stdout] | [INFO] [stdout] 143 | for card in &full_deck { [INFO] [stdout] | ^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 143 | for card in addr_of!(full_deck) { [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `skat_first` [INFO] [stdout] --> src/main.rs:148:10 [INFO] [stdout] | [INFO] [stdout] 148 | let (skat_first, skat_second) = give_players_cards(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_skat_first` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `skat_second` [INFO] [stdout] --> src/main.rs:148:22 [INFO] [stdout] | [INFO] [stdout] 148 | let (skat_first, skat_second) = give_players_cards(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_skat_second` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `table` [INFO] [stdout] --> src/main.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | let table = vec![Card{number: CARD_NUMBER_9, color: CARD_COLOR_CLUBS}]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | full_deck = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | player_index = 0; [INFO] [stdout] | ^^^^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | full_deck.push(Card {number: number, color: color}); [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: use of mutable static is unsafe and requires unsafe function or block [INFO] [stdout] --> src/main.rs:143:18 [INFO] [stdout] | [INFO] [stdout] 143 | for card in &full_deck { [INFO] [stdout] | ^^^^^^^^^ use of mutable static [INFO] [stdout] | [INFO] [stdout] = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 13 previous errors; 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 13 previous errors; 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `Skat` (bin "Skat") due to 14 previous errors; 7 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `Skat` (bin "Skat" test) due to 14 previous errors; 7 warnings emitted [INFO] running `Command { std: "docker" "inspect" "54fabd4d342d3bb881c67ce55de938574432b1d71d5f426dadd9b09ae892d650", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "54fabd4d342d3bb881c67ce55de938574432b1d71d5f426dadd9b09ae892d650", kill_on_drop: false }` [INFO] [stdout] 54fabd4d342d3bb881c67ce55de938574432b1d71d5f426dadd9b09ae892d650