[INFO] cloning repository https://github.com/mattbr1ght/rust_origin_shifter_maze [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mattbr1ght/rust_origin_shifter_maze" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattbr1ght%2Frust_origin_shifter_maze", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattbr1ght%2Frust_origin_shifter_maze'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 992c941201538c3b594bf8cc91e2e986bbd33b91 [INFO] fixing mattbr1ght/rust_origin_shifter_maze against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattbr1ght%2Frust_origin_shifter_maze" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mattbr1ght/rust_origin_shifter_maze [INFO] finished tweaking git repo https://github.com/mattbr1ght/rust_origin_shifter_maze [INFO] tweaked toml for git repo https://github.com/mattbr1ght/rust_origin_shifter_maze written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mattbr1ght/rust_origin_shifter_maze on toolchain 622891a4e29178280638a6b63a8908bde2c0c854 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mattbr1ght/rust_origin_shifter_maze 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" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09 [INFO] running `Command { std: "docker" "start" "8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }` [INFO] [stderr] crater-edition-check: migrating to next edition [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling proc-macro2 v1.0.89 [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Compiling libc v0.2.164 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking colorchoice v1.0.3 [INFO] [stderr] Checking anstyle v1.0.10 [INFO] [stderr] Checking anstyle-query v1.1.2 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking clap_lex v0.7.4 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Checking once_cell v1.20.3 [INFO] [stderr] Checking anstyle-parse v0.2.6 [INFO] [stderr] Checking anstream v0.6.18 [INFO] [stderr] Checking clap_builder v4.5.31 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Compiling syn v2.0.87 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling clap_derive v4.5.28 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking clap v4.5.31 [INFO] [stderr] Checking rand v0.9.3 [INFO] [stderr] Checking origin_shifter v0.1.2 (/opt/rustwide/workdir) [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stdout] error[E0432]: unresolved import `rand::distributions` [INFO] [stdout] --> src/main.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use rand::distributions::{Distribution, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^^ could not find `distributions` in `rand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | OPATH.push(a); [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:187:1 [INFO] [stdout] | [INFO] [stdout] 187 | unsafe fn dfs(a: usize) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 189 | PATH[a] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | VISITED[a] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:191:13 [INFO] [stdout] | [INFO] [stdout] 191 | if a == PLAYER {return true;}; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | if !player_can_move(a, direction){continue;} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:198:20 [INFO] [stdout] | [INFO] [stdout] 198 | if VISITED[a-1] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:199:21 [INFO] [stdout] | [INFO] [stdout] 199 | if !dfs(a-1) {PATH[a-1] = false; OPATH.pop();} else {return true;} [INFO] [stdout] | ^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:199:31 [INFO] [stdout] | [INFO] [stdout] 199 | if !dfs(a-1) {PATH[a-1] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:199:50 [INFO] [stdout] | [INFO] [stdout] 199 | if !dfs(a-1) {PATH[a-1] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:202:20 [INFO] [stdout] | [INFO] [stdout] 202 | if VISITED[a-MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:202:30 [INFO] [stdout] | [INFO] [stdout] 202 | if VISITED[a-MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:203:21 [INFO] [stdout] | [INFO] [stdout] 203 | if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:203:27 [INFO] [stdout] | [INFO] [stdout] 203 | if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:203:39 [INFO] [stdout] | [INFO] [stdout] 203 | if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:203:46 [INFO] [stdout] | [INFO] [stdout] 203 | if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:203:66 [INFO] [stdout] | [INFO] [stdout] 203 | if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:206:20 [INFO] [stdout] | [INFO] [stdout] 206 | if VISITED[a+1] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:207:21 [INFO] [stdout] | [INFO] [stdout] 207 | if !dfs(a+1) {PATH[a+1] = false; OPATH.pop();} else {return true;} [INFO] [stdout] | ^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:207:31 [INFO] [stdout] | [INFO] [stdout] 207 | if !dfs(a+1) {PATH[a+1] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:207:50 [INFO] [stdout] | [INFO] [stdout] 207 | if !dfs(a+1) {PATH[a+1] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:210:20 [INFO] [stdout] | [INFO] [stdout] 210 | if VISITED[a+MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:210:30 [INFO] [stdout] | [INFO] [stdout] 210 | if VISITED[a+MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:211:21 [INFO] [stdout] | [INFO] [stdout] 211 | if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:211:27 [INFO] [stdout] | [INFO] [stdout] 211 | if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:211:39 [INFO] [stdout] | [INFO] [stdout] 211 | if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:211:46 [INFO] [stdout] | [INFO] [stdout] 211 | if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:211:66 [INFO] [stdout] | [INFO] [stdout] 211 | if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:221:5 [INFO] [stdout] | [INFO] [stdout] 221 | DISTANCES[a] = distance; [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:219:1 [INFO] [stdout] | [INFO] [stdout] 219 | unsafe fn distances(a: usize, distance: usize){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | DVISITED[a] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | if !player_can_move(a, direction){continue;} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:229:20 [INFO] [stdout] | [INFO] [stdout] 229 | if DVISITED[a-1] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:230:17 [INFO] [stdout] | [INFO] [stdout] 230 | distances(a-1, distance+1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:233:20 [INFO] [stdout] | [INFO] [stdout] 233 | if DVISITED[a-MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:233:31 [INFO] [stdout] | [INFO] [stdout] 233 | if DVISITED[a-MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:234:17 [INFO] [stdout] | [INFO] [stdout] 234 | distances(a-MAP_WIDTH, distance+1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:234:29 [INFO] [stdout] | [INFO] [stdout] 234 | distances(a-MAP_WIDTH, distance+1); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:237:20 [INFO] [stdout] | [INFO] [stdout] 237 | if DVISITED[a+1] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | distances(a+1, distance+1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:241:20 [INFO] [stdout] | [INFO] [stdout] 241 | if DVISITED[a+MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:241:31 [INFO] [stdout] | [INFO] [stdout] 241 | if DVISITED[a+MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:242:17 [INFO] [stdout] | [INFO] [stdout] 242 | distances(a+MAP_WIDTH, distance+1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:242:29 [INFO] [stdout] | [INFO] [stdout] 242 | distances(a+MAP_WIDTH, distance+1); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:253:23 [INFO] [stdout] | [INFO] [stdout] 253 | Ok(KEY_W) => {move_player(1);}, [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:249:1 [INFO] [stdout] | [INFO] [stdout] 249 | unsafe fn pause() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:254:23 [INFO] [stdout] | [INFO] [stdout] 254 | Ok(KEY_S) => {move_player(3);}, [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:255:23 [INFO] [stdout] | [INFO] [stdout] 255 | Ok(KEY_A) => {move_player(0);}, [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:256:23 [INFO] [stdout] | [INFO] [stdout] 256 | Ok(KEY_D) => {move_player(2);}, [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:257:22 [INFO] [stdout] | [INFO] [stdout] 257 | Ok(KEY_N) => ENABLE_NODE_NUMBERS = !ENABLE_NODE_NUMBERS, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:257:45 [INFO] [stdout] | [INFO] [stdout] 257 | Ok(KEY_N) => ENABLE_NODE_NUMBERS = !ENABLE_NODE_NUMBERS, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:258:22 [INFO] [stdout] | [INFO] [stdout] 258 | Ok(KEY_P) => ENABLE_PATH = !ENABLE_PATH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:258:37 [INFO] [stdout] | [INFO] [stdout] 258 | Ok(KEY_P) => ENABLE_PATH = !ENABLE_PATH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:259:22 [INFO] [stdout] | [INFO] [stdout] 259 | Ok(KEY_F) => ENABLE_FINISH = !ENABLE_FINISH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:259:39 [INFO] [stdout] | [INFO] [stdout] 259 | Ok(KEY_F) => ENABLE_FINISH = !ENABLE_FINISH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:260:22 [INFO] [stdout] | [INFO] [stdout] 260 | Ok(KEY_O) => ENABLE_ORIGIN = !ENABLE_ORIGIN, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:260:39 [INFO] [stdout] | [INFO] [stdout] 260 | Ok(KEY_O) => ENABLE_ORIGIN = !ENABLE_ORIGIN, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:261:25 [INFO] [stdout] | [INFO] [stdout] 261 | Ok(KEY_I) => if SHIFTS+1<=usize::MAX {SHIFTS+=1;}, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:261:47 [INFO] [stdout] | [INFO] [stdout] 261 | Ok(KEY_I) => if SHIFTS+1<=usize::MAX {SHIFTS+=1;}, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:262:25 [INFO] [stdout] | [INFO] [stdout] 262 | Ok(KEY_U) => if SHIFTS-1>=1 {SHIFTS-=1;}, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:262:38 [INFO] [stdout] | [INFO] [stdout] 262 | Ok(KEY_U) => if SHIFTS-1>=1 {SHIFTS-=1;}, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:263:22 [INFO] [stdout] | [INFO] [stdout] 263 | Ok(KEY_Z) => ENABLE_SHIFTS = !ENABLE_SHIFTS, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:263:39 [INFO] [stdout] | [INFO] [stdout] 263 | Ok(KEY_Z) => ENABLE_SHIFTS = !ENABLE_SHIFTS, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:264:22 [INFO] [stdout] | [INFO] [stdout] 264 | Ok(KEY_X) => SHIFT_ONLY_ON_MOVE = !SHIFT_ONLY_ON_MOVE, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:264:44 [INFO] [stdout] | [INFO] [stdout] 264 | Ok(KEY_X) => SHIFT_ONLY_ON_MOVE = !SHIFT_ONLY_ON_MOVE, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:265:22 [INFO] [stdout] | [INFO] [stdout] 265 | Ok(KEY_K) => ENABLE_SHADOWS = !ENABLE_SHADOWS, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:265:40 [INFO] [stdout] | [INFO] [stdout] 265 | Ok(KEY_K) => ENABLE_SHADOWS = !ENABLE_SHADOWS, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:271:5 [INFO] [stdout] | [INFO] [stdout] 271 | MAP_WIDTH = width; [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:270:1 [INFO] [stdout] | [INFO] [stdout] 270 | unsafe fn initialize(width: usize, height: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:272:5 [INFO] [stdout] | [INFO] [stdout] 272 | MAP_HEIGHT = height; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:274:5 [INFO] [stdout] | [INFO] [stdout] 274 | NEIGHBOURS = vec![[false; 4]; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:274:35 [INFO] [stdout] | [INFO] [stdout] 274 | NEIGHBOURS = vec![[false; 4]; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:274:45 [INFO] [stdout] | [INFO] [stdout] 274 | NEIGHBOURS = vec![[false; 4]; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | PATH = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:275:30 [INFO] [stdout] | [INFO] [stdout] 275 | PATH = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:275:40 [INFO] [stdout] | [INFO] [stdout] 275 | PATH = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:276:5 [INFO] [stdout] | [INFO] [stdout] 276 | VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:276:30 [INFO] [stdout] | [INFO] [stdout] 276 | VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:276:40 [INFO] [stdout] | [INFO] [stdout] 276 | VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:278:5 [INFO] [stdout] | [INFO] [stdout] 278 | PLAYER = 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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:279:5 [INFO] [stdout] | [INFO] [stdout] 279 | ORIGIN = MAP_WIDTH*MAP_HEIGHT-1; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:279:14 [INFO] [stdout] | [INFO] [stdout] 279 | ORIGIN = MAP_WIDTH*MAP_HEIGHT-1; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:279:24 [INFO] [stdout] | [INFO] [stdout] 279 | ORIGIN = MAP_WIDTH*MAP_HEIGHT-1; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:280:5 [INFO] [stdout] | [INFO] [stdout] 280 | FINISH = MAP_WIDTH*MAP_HEIGHT-1; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:280:14 [INFO] [stdout] | [INFO] [stdout] 280 | FINISH = MAP_WIDTH*MAP_HEIGHT-1; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:280:24 [INFO] [stdout] | [INFO] [stdout] 280 | FINISH = MAP_WIDTH*MAP_HEIGHT-1; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:282:5 [INFO] [stdout] | [INFO] [stdout] 282 | OPATH = 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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | PATH = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:283:24 [INFO] [stdout] | [INFO] [stdout] 283 | PATH = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:283:34 [INFO] [stdout] | [INFO] [stdout] 283 | PATH = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:284:5 [INFO] [stdout] | [INFO] [stdout] 284 | VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:284:27 [INFO] [stdout] | [INFO] [stdout] 284 | VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:284:37 [INFO] [stdout] | [INFO] [stdout] 284 | VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:285:5 [INFO] [stdout] | [INFO] [stdout] 285 | DVISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:285:28 [INFO] [stdout] | [INFO] [stdout] 285 | DVISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:285:38 [INFO] [stdout] | [INFO] [stdout] 285 | DVISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:286:5 [INFO] [stdout] | [INFO] [stdout] 286 | DISTANCES = vec![usize::MAX; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:286:34 [INFO] [stdout] | [INFO] [stdout] 286 | DISTANCES = vec![usize::MAX; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:286:44 [INFO] [stdout] | [INFO] [stdout] 286 | DISTANCES = vec![usize::MAX; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:291:5 [INFO] [stdout] | [INFO] [stdout] 291 | MAP = content.lines().map(|line| line.chars().collect()).collect(); [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:289:1 [INFO] [stdout] | [INFO] [stdout] 289 | unsafe fn load_maze_from_file(file_path: String){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `initialize` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:293:5 [INFO] [stdout] | [INFO] [stdout] 293 | initialize((MAP[0].len()-1)/2, (MAP.len()-1)/2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:293:17 [INFO] [stdout] | [INFO] [stdout] 293 | initialize((MAP[0].len()-1)/2, (MAP.len()-1)/2); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:293:37 [INFO] [stdout] | [INFO] [stdout] 293 | initialize((MAP[0].len()-1)/2, (MAP.len()-1)/2); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `parse_neighbours` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:294:5 [INFO] [stdout] | [INFO] [stdout] 294 | parse_neighbours(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:299:17 [INFO] [stdout] | [INFO] [stdout] 299 | for h in 0..MAP_HEIGHT { [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | unsafe fn parse_neighbours(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:300:21 [INFO] [stdout] | [INFO] [stdout] 300 | for w in 0..MAP_WIDTH { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:301:29 [INFO] [stdout] | [INFO] [stdout] 301 | let index = h * MAP_WIDTH + w; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:306:34 [INFO] [stdout] | [INFO] [stdout] 306 | if maze_w - 1 > 0 && MAP[maze_h][maze_w-1] == '.' { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:307:17 [INFO] [stdout] | [INFO] [stdout] 307 | NEIGHBOURS[index][0] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:309:34 [INFO] [stdout] | [INFO] [stdout] 309 | if maze_h - 1 > 0 && MAP[maze_h-1][maze_w] == '.' { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:310:17 [INFO] [stdout] | [INFO] [stdout] 310 | NEIGHBOURS[index][1] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:312:29 [INFO] [stdout] | [INFO] [stdout] 312 | if maze_w + 1 < MAP_WIDTH*2+1 && MAP[maze_h][maze_w+1] == '.' { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:312:46 [INFO] [stdout] | [INFO] [stdout] 312 | if maze_w + 1 < MAP_WIDTH*2+1 && MAP[maze_h][maze_w+1] == '.' { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:313:17 [INFO] [stdout] | [INFO] [stdout] 313 | NEIGHBOURS[index][2] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:315:29 [INFO] [stdout] | [INFO] [stdout] 315 | if maze_h + 1 > MAP_HEIGHT*2+1 && MAP[maze_h+1][maze_w] == '.' { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:315:47 [INFO] [stdout] | [INFO] [stdout] 315 | if maze_h + 1 > MAP_HEIGHT*2+1 && MAP[maze_h+1][maze_w] == '.' { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:316:17 [INFO] [stdout] | [INFO] [stdout] 316 | NEIGHBOURS[index][3] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:323:8 [INFO] [stdout] | [INFO] [stdout] 323 | if can_move(node, direction) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:322:1 [INFO] [stdout] | [INFO] [stdout] 322 | unsafe fn player_can_move(node: usize, direction: usize) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:325:25 [INFO] [stdout] | [INFO] [stdout] 325 | 0 => return NEIGHBOURS[node][0] || NEIGHBOURS[node-1][2], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:325:48 [INFO] [stdout] | [INFO] [stdout] 325 | 0 => return NEIGHBOURS[node][0] || NEIGHBOURS[node-1][2], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:326:25 [INFO] [stdout] | [INFO] [stdout] 326 | 1 => return NEIGHBOURS[node][1] || NEIGHBOURS[node-MAP_WIDTH][3], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:326:48 [INFO] [stdout] | [INFO] [stdout] 326 | 1 => return NEIGHBOURS[node][1] || NEIGHBOURS[node-MAP_WIDTH][3], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:326:64 [INFO] [stdout] | [INFO] [stdout] 326 | 1 => return NEIGHBOURS[node][1] || NEIGHBOURS[node-MAP_WIDTH][3], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:327:25 [INFO] [stdout] | [INFO] [stdout] 327 | 2 => return NEIGHBOURS[node][2] || NEIGHBOURS[node+1][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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:327:48 [INFO] [stdout] | [INFO] [stdout] 327 | 2 => return NEIGHBOURS[node][2] || NEIGHBOURS[node+1][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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:328:25 [INFO] [stdout] | [INFO] [stdout] 328 | 3 => return NEIGHBOURS[node][3] || NEIGHBOURS[node+MAP_WIDTH][1], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:328:48 [INFO] [stdout] | [INFO] [stdout] 328 | 3 => return NEIGHBOURS[node][3] || NEIGHBOURS[node+MAP_WIDTH][1], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:328:64 [INFO] [stdout] | [INFO] [stdout] 328 | 3 => return NEIGHBOURS[node][3] || NEIGHBOURS[node+MAP_WIDTH][1], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:336:5 [INFO] [stdout] | [INFO] [stdout] 336 | PLAYER == FINISH [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:335:1 [INFO] [stdout] | [INFO] [stdout] 335 | unsafe fn check_win() -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:336:15 [INFO] [stdout] | [INFO] [stdout] 336 | PLAYER == FINISH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:340:5 [INFO] [stdout] | [INFO] [stdout] 340 | TOTAL_MOVES_MADE += 1; [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:339:1 [INFO] [stdout] | [INFO] [stdout] 339 | unsafe fn move_player(direction: usize){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:341:9 [INFO] [stdout] | [INFO] [stdout] 341 | if !player_can_move(PLAYER, direction){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:341:25 [INFO] [stdout] | [INFO] [stdout] 341 | if !player_can_move(PLAYER, direction){ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | if !SHIFT_ONLY_ON_MOVE && ENABLE_SHIFTS{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:342:35 [INFO] [stdout] | [INFO] [stdout] 342 | if !SHIFT_ONLY_ON_MOVE && ENABLE_SHIFTS{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `shift_origin` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:343:13 [INFO] [stdout] | [INFO] [stdout] 343 | shift_origin(SHIFTS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:343:26 [INFO] [stdout] | [INFO] [stdout] 343 | shift_origin(SHIFTS); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:348:14 [INFO] [stdout] | [INFO] [stdout] 348 | 0 => PLAYER -= 1, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:349:14 [INFO] [stdout] | [INFO] [stdout] 349 | 1 => PLAYER -= MAP_WIDTH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:349:24 [INFO] [stdout] | [INFO] [stdout] 349 | 1 => PLAYER -= MAP_WIDTH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:350:14 [INFO] [stdout] | [INFO] [stdout] 350 | 2 => PLAYER += 1, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:351:14 [INFO] [stdout] | [INFO] [stdout] 351 | 3 => PLAYER += MAP_WIDTH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:351:24 [INFO] [stdout] | [INFO] [stdout] 351 | 3 => PLAYER += MAP_WIDTH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:354:8 [INFO] [stdout] | [INFO] [stdout] 354 | if ENABLE_SHIFTS { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `shift_origin` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:355:9 [INFO] [stdout] | [INFO] [stdout] 355 | shift_origin(SHIFTS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:355:22 [INFO] [stdout] | [INFO] [stdout] 355 | shift_origin(SHIFTS); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:357:5 [INFO] [stdout] | [INFO] [stdout] 357 | MOVES_MADE += 1; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:361:17 [INFO] [stdout] | [INFO] [stdout] 361 | for y in 0..MAP_HEIGHT{ [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:360:1 [INFO] [stdout] | [INFO] [stdout] 360 | unsafe fn generate_starting_board(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:362:21 [INFO] [stdout] | [INFO] [stdout] 362 | for x in 0..MAP_WIDTH{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:363:34 [INFO] [stdout] | [INFO] [stdout] 363 | let idx: usize = y * MAP_WIDTH + x; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:364:20 [INFO] [stdout] | [INFO] [stdout] 364 | if x < MAP_WIDTH-1{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `f1` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:365:17 [INFO] [stdout] | [INFO] [stdout] 365 | f1(idx, idx+1); [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:366:26 [INFO] [stdout] | [INFO] [stdout] 366 | }else if y < MAP_HEIGHT-1{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `f1` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:367:17 [INFO] [stdout] | [INFO] [stdout] 367 | f1(idx, idx+MAP_WIDTH); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:367:29 [INFO] [stdout] | [INFO] [stdout] 367 | f1(idx, idx+MAP_WIDTH); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:374:8 [INFO] [stdout] | [INFO] [stdout] 374 | if ENABLE_DEBUG { [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:373:1 [INFO] [stdout] | [INFO] [stdout] 373 | unsafe fn print_options(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:375:41 [INFO] [stdout] | [INFO] [stdout] 375 | println!("Shifts per move: {}", SHIFTS); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:376:40 [INFO] [stdout] | [INFO] [stdout] 376 | println!("Shifts enabled: {}", ENABLE_SHIFTS); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:377:50 [INFO] [stdout] | [INFO] [stdout] 377 | println!("Shift only on legal move: {}", SHIFT_ONLY_ON_MOVE); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:385:8 [INFO] [stdout] | [INFO] [stdout] 385 | if ENABLE_INSTRUCTIONS { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:403:17 [INFO] [stdout] | [INFO] [stdout] 403 | for y in 0..MAP_HEIGHT { [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:394:1 [INFO] [stdout] | [INFO] [stdout] 394 | unsafe fn visualize_board(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:405:16 [INFO] [stdout] | [INFO] [stdout] 405 | if ENABLE_NODE_NUMBERS{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:406:30 [INFO] [stdout] | [INFO] [stdout] 406 | for _ in 0..MAP_WIDTH*4+1{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:410:30 [INFO] [stdout] | [INFO] [stdout] 410 | for _ in 0..MAP_WIDTH*3+1{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:416:12 [INFO] [stdout] | [INFO] [stdout] 416 | if NEIGHBOURS[y*MAP_WIDTH][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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:416:25 [INFO] [stdout] | [INFO] [stdout] 416 | if NEIGHBOURS[y*MAP_WIDTH][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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:422:21 [INFO] [stdout] | [INFO] [stdout] 422 | for x in 0..MAP_WIDTH { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:423:34 [INFO] [stdout] | [INFO] [stdout] 423 | let idx: usize = y * MAP_WIDTH + x; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:424:30 [INFO] [stdout] | [INFO] [stdout] 424 | let fmt_idx = if ENABLE_NODE_NUMBERS {format!("{:0>3}", idx)} else {format!("{: >2}", "")}; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:427:17 [INFO] [stdout] | [INFO] [stdout] 427 | ENABLE_SHADOWS && [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:428:17 [INFO] [stdout] | [INFO] [stdout] 428 | DISTANCES[idx] > VIEW_DISTANCE [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:428:34 [INFO] [stdout] | [INFO] [stdout] 428 | DISTANCES[idx] > VIEW_DISTANCE [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:430:27 [INFO] [stdout] | [INFO] [stdout] 430 | if x+1 == MAP_WIDTH { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:434:20 [INFO] [stdout] | [INFO] [stdout] 434 | if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:434:40 [INFO] [stdout] | [INFO] [stdout] 434 | if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:434:59 [INFO] [stdout] | [INFO] [stdout] 434 | if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:443:16 [INFO] [stdout] | [INFO] [stdout] 443 | if player_can_move(idx, 2) //NEIGHBOURS[idx][2] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:445:25 [INFO] [stdout] | [INFO] [stdout] 445 | else if x < MAP_WIDTH-1 && player_can_move(idx+1, 0) //NEIGHBOURS[idx+1][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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:445:40 [INFO] [stdout] | [INFO] [stdout] 445 | else if x < MAP_WIDTH-1 && player_can_move(idx+1, 0) //NEIGHBOURS[idx+1][0] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:447:20 [INFO] [stdout] | [INFO] [stdout] 447 | if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:447:35 [INFO] [stdout] | [INFO] [stdout] 447 | if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:447:48 [INFO] [stdout] | [INFO] [stdout] 447 | if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:447:63 [INFO] [stdout] | [INFO] [stdout] 447 | if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:447:90 [INFO] [stdout] | [INFO] [stdout] 447 | if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:450:27 [INFO] [stdout] | [INFO] [stdout] 450 | if idx == PLAYER {"\x1b[42m"} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:451:32 [INFO] [stdout] | [INFO] [stdout] 451 | else if idx == ORIGIN && ENABLE_ORIGIN {"\x1b[44m"} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:451:42 [INFO] [stdout] | [INFO] [stdout] 451 | else if idx == ORIGIN && ENABLE_ORIGIN {"\x1b[44m"} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:452:32 [INFO] [stdout] | [INFO] [stdout] 452 | else if idx == FINISH && ENABLE_FINISH {"\x1b[45m"} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:452:42 [INFO] [stdout] | [INFO] [stdout] 452 | else if idx == FINISH && ENABLE_FINISH {"\x1b[45m"} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:453:25 [INFO] [stdout] | [INFO] [stdout] 453 | else if PATH[idx] && ENABLE_PATH {"\x1b[43m"} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:453:38 [INFO] [stdout] | [INFO] [stdout] 453 | else if PATH[idx] && ENABLE_PATH {"\x1b[43m"} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:456:27 [INFO] [stdout] | [INFO] [stdout] 456 | idx == PLAYER || [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:457:28 [INFO] [stdout] | [INFO] [stdout] 457 | (idx == ORIGIN && ENABLE_ORIGIN)|| [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:457:38 [INFO] [stdout] | [INFO] [stdout] 457 | (idx == ORIGIN && ENABLE_ORIGIN)|| [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:458:29 [INFO] [stdout] | [INFO] [stdout] 458 | (idx == FINISH && ENABLE_FINISH) || [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:458:39 [INFO] [stdout] | [INFO] [stdout] 458 | (idx == FINISH && ENABLE_FINISH) || [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:459:21 [INFO] [stdout] | [INFO] [stdout] 459 | (PATH[idx] && ENABLE_PATH) [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:459:34 [INFO] [stdout] | [INFO] [stdout] 459 | (PATH[idx] && ENABLE_PATH) [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:465:21 [INFO] [stdout] | [INFO] [stdout] 465 | for x in 0..MAP_WIDTH { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:466:34 [INFO] [stdout] | [INFO] [stdout] 466 | let idx: usize = y * MAP_WIDTH + x; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:468:37 [INFO] [stdout] | [INFO] [stdout] 468 | ... let mut connection = if ENABLE_NODE_NUMBERS {format!("\x1b[41m{: >3}\x1b[0m", "")} else {format!("\x1b[41m{: >2}\x1b[0m", "")... [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:471:17 [INFO] [stdout] | [INFO] [stdout] 471 | ENABLE_SHADOWS && [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:472:17 [INFO] [stdout] | [INFO] [stdout] 472 | DISTANCES[idx] > VIEW_DISTANCE && [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:472:34 [INFO] [stdout] | [INFO] [stdout] 472 | DISTANCES[idx] > VIEW_DISTANCE && [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:473:19 [INFO] [stdout] | [INFO] [stdout] 473 | !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:473:39 [INFO] [stdout] | [INFO] [stdout] 473 | !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE) [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:473:53 [INFO] [stdout] | [INFO] [stdout] 473 | !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE) [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:473:66 [INFO] [stdout] | [INFO] [stdout] 473 | !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE) [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:475:27 [INFO] [stdout] | [INFO] [stdout] 475 | if y+1 == MAP_HEIGHT { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:476:24 [INFO] [stdout] | [INFO] [stdout] 476 | if ENABLE_NODE_NUMBERS { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:483:27 [INFO] [stdout] | [INFO] [stdout] 483 | if x+1 == MAP_WIDTH { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:486:20 [INFO] [stdout] | [INFO] [stdout] 486 | if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:486:40 [INFO] [stdout] | [INFO] [stdout] 486 | if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:486:59 [INFO] [stdout] | [INFO] [stdout] 486 | if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:489:20 [INFO] [stdout] | [INFO] [stdout] 489 | if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:489:40 [INFO] [stdout] | [INFO] [stdout] 489 | if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:489:62 [INFO] [stdout] | [INFO] [stdout] 489 | if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:489:78 [INFO] [stdout] | [INFO] [stdout] 489 | if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:489:91 [INFO] [stdout] | [INFO] [stdout] 489 | if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:492:20 [INFO] [stdout] | [INFO] [stdout] 492 | if ENABLE_NODE_NUMBERS { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `origin_shifter` (bin "origin_shifter") due to 1 previous error; 242 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:500:16 [INFO] [stdout] | [INFO] [stdout] 500 | if NEIGHBOURS[idx][3] [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:502:17 [INFO] [stdout] | [INFO] [stdout] 502 | {if ENABLE_NODE_NUMBERS {connection = format!("{: >3}", "");}else{connection = format!("{: >2}", "");}} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:503:25 [INFO] [stdout] | [INFO] [stdout] 503 | else if y < MAP_HEIGHT-1 && NEIGHBOURS[idx+MAP_WIDTH][1] [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:503:41 [INFO] [stdout] | [INFO] [stdout] 503 | else if y < MAP_HEIGHT-1 && NEIGHBOURS[idx+MAP_WIDTH][1] [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:503:56 [INFO] [stdout] | [INFO] [stdout] 503 | else if y < MAP_HEIGHT-1 && NEIGHBOURS[idx+MAP_WIDTH][1] [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:504:17 [INFO] [stdout] | [INFO] [stdout] 504 | {if ENABLE_NODE_NUMBERS {connection = format!("{: >3}", "");}else{connection = format!("{: >2}", "");}} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:505:20 [INFO] [stdout] | [INFO] [stdout] 505 | if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:505:36 [INFO] [stdout] | [INFO] [stdout] 505 | if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:505:49 [INFO] [stdout] | [INFO] [stdout] 505 | if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:505:58 [INFO] [stdout] | [INFO] [stdout] 505 | if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:505:72 [INFO] [stdout] | [INFO] [stdout] 505 | if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:505:99 [INFO] [stdout] | [INFO] [stdout] 505 | if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:506:17 [INFO] [stdout] | [INFO] [stdout] 506 | ... {if ENABLE_NODE_NUMBERS {connection = format!("\x1b[43m{: >3}\x1b[0m", "");} else {connection = format!("\x1b[43m{: >2}\x1b[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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:514:15 [INFO] [stdout] | [INFO] [stdout] 514 | if node % MAP_WIDTH == 0 && direction == 0 {return false;} [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:513:1 [INFO] [stdout] | [INFO] [stdout] 513 | unsafe fn can_move(node: usize, direction: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:515:20 [INFO] [stdout] | [INFO] [stdout] 515 | else if node % MAP_WIDTH == MAP_WIDTH-1 && direction == 2 {return false;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:515:33 [INFO] [stdout] | [INFO] [stdout] 515 | else if node % MAP_WIDTH == MAP_WIDTH-1 && direction == 2 {return false;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:516:58 [INFO] [stdout] | [INFO] [stdout] 516 | else if i32::try_from(node).unwrap() - i32::try_from(MAP_WIDTH).unwrap() < 0 && direction == 1 {return false;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:517:58 [INFO] [stdout] | [INFO] [stdout] 517 | else if i32::try_from(node).unwrap() + i32::try_from(MAP_WIDTH).unwrap() >= i32::try_from(MAP_WIDTH*MAP_HEIGHT).unwrap() && dir... [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:517:95 [INFO] [stdout] | [INFO] [stdout] 517 | else if i32::try_from(node).unwrap() + i32::try_from(MAP_WIDTH).unwrap() >= i32::try_from(MAP_WIDTH*MAP_HEIGHT).unwrap() && dir... [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:517:105 [INFO] [stdout] | [INFO] [stdout] 517 | ...(MAP_WIDTH).unwrap() >= i32::try_from(MAP_WIDTH*MAP_HEIGHT).unwrap() && direction == 3 {return false;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:554:9 [INFO] [stdout] | [INFO] [stdout] 554 | NEIGHBOURS[origin][0] = true; [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:552:1 [INFO] [stdout] | [INFO] [stdout] 552 | unsafe fn f1(origin: usize, destination: usize){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:555:36 [INFO] [stdout] | [INFO] [stdout] 555 | }else if origin == destination+MAP_WIDTH { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:556:9 [INFO] [stdout] | [INFO] [stdout] 556 | NEIGHBOURS[origin][1] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:558:9 [INFO] [stdout] | [INFO] [stdout] 558 | NEIGHBOURS[origin][2] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:559:36 [INFO] [stdout] | [INFO] [stdout] 559 | }else if origin == destination-MAP_WIDTH{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:560:9 [INFO] [stdout] | [INFO] [stdout] 560 | NEIGHBOURS[origin][3] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0432. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `rand::distributions` [INFO] [stdout] --> src/main.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use rand::distributions::{Distribution, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^^ could not find `distributions` in `rand` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | OPATH.push(a); [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:187:1 [INFO] [stdout] | [INFO] [stdout] 187 | unsafe fn dfs(a: usize) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 189 | PATH[a] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | VISITED[a] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:191:13 [INFO] [stdout] | [INFO] [stdout] 191 | if a == PLAYER {return true;}; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | if !player_can_move(a, direction){continue;} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:198:20 [INFO] [stdout] | [INFO] [stdout] 198 | if VISITED[a-1] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:199:21 [INFO] [stdout] | [INFO] [stdout] 199 | if !dfs(a-1) {PATH[a-1] = false; OPATH.pop();} else {return true;} [INFO] [stdout] | ^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:199:31 [INFO] [stdout] | [INFO] [stdout] 199 | if !dfs(a-1) {PATH[a-1] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:199:50 [INFO] [stdout] | [INFO] [stdout] 199 | if !dfs(a-1) {PATH[a-1] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:202:20 [INFO] [stdout] | [INFO] [stdout] 202 | if VISITED[a-MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:202:30 [INFO] [stdout] | [INFO] [stdout] 202 | if VISITED[a-MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:203:21 [INFO] [stdout] | [INFO] [stdout] 203 | if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:203:27 [INFO] [stdout] | [INFO] [stdout] 203 | if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:203:39 [INFO] [stdout] | [INFO] [stdout] 203 | if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:203:46 [INFO] [stdout] | [INFO] [stdout] 203 | if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:203:66 [INFO] [stdout] | [INFO] [stdout] 203 | if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:206:20 [INFO] [stdout] | [INFO] [stdout] 206 | if VISITED[a+1] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:207:21 [INFO] [stdout] | [INFO] [stdout] 207 | if !dfs(a+1) {PATH[a+1] = false; OPATH.pop();} else {return true;} [INFO] [stdout] | ^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:207:31 [INFO] [stdout] | [INFO] [stdout] 207 | if !dfs(a+1) {PATH[a+1] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:207:50 [INFO] [stdout] | [INFO] [stdout] 207 | if !dfs(a+1) {PATH[a+1] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:210:20 [INFO] [stdout] | [INFO] [stdout] 210 | if VISITED[a+MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:210:30 [INFO] [stdout] | [INFO] [stdout] 210 | if VISITED[a+MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:211:21 [INFO] [stdout] | [INFO] [stdout] 211 | if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;} [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:211:27 [INFO] [stdout] | [INFO] [stdout] 211 | if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:211:39 [INFO] [stdout] | [INFO] [stdout] 211 | if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:211:46 [INFO] [stdout] | [INFO] [stdout] 211 | if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:211:66 [INFO] [stdout] | [INFO] [stdout] 211 | if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:221:5 [INFO] [stdout] | [INFO] [stdout] 221 | DISTANCES[a] = distance; [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:219:1 [INFO] [stdout] | [INFO] [stdout] 219 | unsafe fn distances(a: usize, distance: usize){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | DVISITED[a] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | if !player_can_move(a, direction){continue;} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:229:20 [INFO] [stdout] | [INFO] [stdout] 229 | if DVISITED[a-1] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:230:17 [INFO] [stdout] | [INFO] [stdout] 230 | distances(a-1, distance+1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:233:20 [INFO] [stdout] | [INFO] [stdout] 233 | if DVISITED[a-MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:233:31 [INFO] [stdout] | [INFO] [stdout] 233 | if DVISITED[a-MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:234:17 [INFO] [stdout] | [INFO] [stdout] 234 | distances(a-MAP_WIDTH, distance+1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:234:29 [INFO] [stdout] | [INFO] [stdout] 234 | distances(a-MAP_WIDTH, distance+1); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:237:20 [INFO] [stdout] | [INFO] [stdout] 237 | if DVISITED[a+1] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | distances(a+1, distance+1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:241:20 [INFO] [stdout] | [INFO] [stdout] 241 | if DVISITED[a+MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:241:31 [INFO] [stdout] | [INFO] [stdout] 241 | if DVISITED[a+MAP_WIDTH] {continue;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:242:17 [INFO] [stdout] | [INFO] [stdout] 242 | distances(a+MAP_WIDTH, distance+1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:242:29 [INFO] [stdout] | [INFO] [stdout] 242 | distances(a+MAP_WIDTH, distance+1); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:253:23 [INFO] [stdout] | [INFO] [stdout] 253 | Ok(KEY_W) => {move_player(1);}, [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:249:1 [INFO] [stdout] | [INFO] [stdout] 249 | unsafe fn pause() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:254:23 [INFO] [stdout] | [INFO] [stdout] 254 | Ok(KEY_S) => {move_player(3);}, [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:255:23 [INFO] [stdout] | [INFO] [stdout] 255 | Ok(KEY_A) => {move_player(0);}, [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:256:23 [INFO] [stdout] | [INFO] [stdout] 256 | Ok(KEY_D) => {move_player(2);}, [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:257:22 [INFO] [stdout] | [INFO] [stdout] 257 | Ok(KEY_N) => ENABLE_NODE_NUMBERS = !ENABLE_NODE_NUMBERS, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:257:45 [INFO] [stdout] | [INFO] [stdout] 257 | Ok(KEY_N) => ENABLE_NODE_NUMBERS = !ENABLE_NODE_NUMBERS, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:258:22 [INFO] [stdout] | [INFO] [stdout] 258 | Ok(KEY_P) => ENABLE_PATH = !ENABLE_PATH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:258:37 [INFO] [stdout] | [INFO] [stdout] 258 | Ok(KEY_P) => ENABLE_PATH = !ENABLE_PATH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:259:22 [INFO] [stdout] | [INFO] [stdout] 259 | Ok(KEY_F) => ENABLE_FINISH = !ENABLE_FINISH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:259:39 [INFO] [stdout] | [INFO] [stdout] 259 | Ok(KEY_F) => ENABLE_FINISH = !ENABLE_FINISH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:260:22 [INFO] [stdout] | [INFO] [stdout] 260 | Ok(KEY_O) => ENABLE_ORIGIN = !ENABLE_ORIGIN, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:260:39 [INFO] [stdout] | [INFO] [stdout] 260 | Ok(KEY_O) => ENABLE_ORIGIN = !ENABLE_ORIGIN, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:261:25 [INFO] [stdout] | [INFO] [stdout] 261 | Ok(KEY_I) => if SHIFTS+1<=usize::MAX {SHIFTS+=1;}, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:261:47 [INFO] [stdout] | [INFO] [stdout] 261 | Ok(KEY_I) => if SHIFTS+1<=usize::MAX {SHIFTS+=1;}, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:262:25 [INFO] [stdout] | [INFO] [stdout] 262 | Ok(KEY_U) => if SHIFTS-1>=1 {SHIFTS-=1;}, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:262:38 [INFO] [stdout] | [INFO] [stdout] 262 | Ok(KEY_U) => if SHIFTS-1>=1 {SHIFTS-=1;}, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:263:22 [INFO] [stdout] | [INFO] [stdout] 263 | Ok(KEY_Z) => ENABLE_SHIFTS = !ENABLE_SHIFTS, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:263:39 [INFO] [stdout] | [INFO] [stdout] 263 | Ok(KEY_Z) => ENABLE_SHIFTS = !ENABLE_SHIFTS, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:264:22 [INFO] [stdout] | [INFO] [stdout] 264 | Ok(KEY_X) => SHIFT_ONLY_ON_MOVE = !SHIFT_ONLY_ON_MOVE, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:264:44 [INFO] [stdout] | [INFO] [stdout] 264 | Ok(KEY_X) => SHIFT_ONLY_ON_MOVE = !SHIFT_ONLY_ON_MOVE, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:265:22 [INFO] [stdout] | [INFO] [stdout] 265 | Ok(KEY_K) => ENABLE_SHADOWS = !ENABLE_SHADOWS, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:265:40 [INFO] [stdout] | [INFO] [stdout] 265 | Ok(KEY_K) => ENABLE_SHADOWS = !ENABLE_SHADOWS, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:271:5 [INFO] [stdout] | [INFO] [stdout] 271 | MAP_WIDTH = width; [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:270:1 [INFO] [stdout] | [INFO] [stdout] 270 | unsafe fn initialize(width: usize, height: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:272:5 [INFO] [stdout] | [INFO] [stdout] 272 | MAP_HEIGHT = height; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:274:5 [INFO] [stdout] | [INFO] [stdout] 274 | NEIGHBOURS = vec![[false; 4]; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:274:35 [INFO] [stdout] | [INFO] [stdout] 274 | NEIGHBOURS = vec![[false; 4]; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:274:45 [INFO] [stdout] | [INFO] [stdout] 274 | NEIGHBOURS = vec![[false; 4]; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | PATH = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:275:30 [INFO] [stdout] | [INFO] [stdout] 275 | PATH = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:275:40 [INFO] [stdout] | [INFO] [stdout] 275 | PATH = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:276:5 [INFO] [stdout] | [INFO] [stdout] 276 | VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:276:30 [INFO] [stdout] | [INFO] [stdout] 276 | VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:276:40 [INFO] [stdout] | [INFO] [stdout] 276 | VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:278:5 [INFO] [stdout] | [INFO] [stdout] 278 | PLAYER = 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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:279:5 [INFO] [stdout] | [INFO] [stdout] 279 | ORIGIN = MAP_WIDTH*MAP_HEIGHT-1; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:279:14 [INFO] [stdout] | [INFO] [stdout] 279 | ORIGIN = MAP_WIDTH*MAP_HEIGHT-1; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:279:24 [INFO] [stdout] | [INFO] [stdout] 279 | ORIGIN = MAP_WIDTH*MAP_HEIGHT-1; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:280:5 [INFO] [stdout] | [INFO] [stdout] 280 | FINISH = MAP_WIDTH*MAP_HEIGHT-1; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:280:14 [INFO] [stdout] | [INFO] [stdout] 280 | FINISH = MAP_WIDTH*MAP_HEIGHT-1; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:280:24 [INFO] [stdout] | [INFO] [stdout] 280 | FINISH = MAP_WIDTH*MAP_HEIGHT-1; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:282:5 [INFO] [stdout] | [INFO] [stdout] 282 | OPATH = 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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | PATH = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:283:24 [INFO] [stdout] | [INFO] [stdout] 283 | PATH = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:283:34 [INFO] [stdout] | [INFO] [stdout] 283 | PATH = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:284:5 [INFO] [stdout] | [INFO] [stdout] 284 | VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:284:27 [INFO] [stdout] | [INFO] [stdout] 284 | VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:284:37 [INFO] [stdout] | [INFO] [stdout] 284 | VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:285:5 [INFO] [stdout] | [INFO] [stdout] 285 | DVISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:285:28 [INFO] [stdout] | [INFO] [stdout] 285 | DVISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:285:38 [INFO] [stdout] | [INFO] [stdout] 285 | DVISITED = vec![false; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:286:5 [INFO] [stdout] | [INFO] [stdout] 286 | DISTANCES = vec![usize::MAX; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:286:34 [INFO] [stdout] | [INFO] [stdout] 286 | DISTANCES = vec![usize::MAX; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:286:44 [INFO] [stdout] | [INFO] [stdout] 286 | DISTANCES = vec![usize::MAX; MAP_WIDTH*MAP_HEIGHT]; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:291:5 [INFO] [stdout] | [INFO] [stdout] 291 | MAP = content.lines().map(|line| line.chars().collect()).collect(); [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:289:1 [INFO] [stdout] | [INFO] [stdout] 289 | unsafe fn load_maze_from_file(file_path: String){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `initialize` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:293:5 [INFO] [stdout] | [INFO] [stdout] 293 | initialize((MAP[0].len()-1)/2, (MAP.len()-1)/2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:293:17 [INFO] [stdout] | [INFO] [stdout] 293 | initialize((MAP[0].len()-1)/2, (MAP.len()-1)/2); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:293:37 [INFO] [stdout] | [INFO] [stdout] 293 | initialize((MAP[0].len()-1)/2, (MAP.len()-1)/2); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `parse_neighbours` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:294:5 [INFO] [stdout] | [INFO] [stdout] 294 | parse_neighbours(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:299:17 [INFO] [stdout] | [INFO] [stdout] 299 | for h in 0..MAP_HEIGHT { [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:298:1 [INFO] [stdout] | [INFO] [stdout] 298 | unsafe fn parse_neighbours(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:300:21 [INFO] [stdout] | [INFO] [stdout] 300 | for w in 0..MAP_WIDTH { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:301:29 [INFO] [stdout] | [INFO] [stdout] 301 | let index = h * MAP_WIDTH + w; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:306:34 [INFO] [stdout] | [INFO] [stdout] 306 | if maze_w - 1 > 0 && MAP[maze_h][maze_w-1] == '.' { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:307:17 [INFO] [stdout] | [INFO] [stdout] 307 | NEIGHBOURS[index][0] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:309:34 [INFO] [stdout] | [INFO] [stdout] 309 | if maze_h - 1 > 0 && MAP[maze_h-1][maze_w] == '.' { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:310:17 [INFO] [stdout] | [INFO] [stdout] 310 | NEIGHBOURS[index][1] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:312:29 [INFO] [stdout] | [INFO] [stdout] 312 | if maze_w + 1 < MAP_WIDTH*2+1 && MAP[maze_h][maze_w+1] == '.' { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:312:46 [INFO] [stdout] | [INFO] [stdout] 312 | if maze_w + 1 < MAP_WIDTH*2+1 && MAP[maze_h][maze_w+1] == '.' { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:313:17 [INFO] [stdout] | [INFO] [stdout] 313 | NEIGHBOURS[index][2] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:315:29 [INFO] [stdout] | [INFO] [stdout] 315 | if maze_h + 1 > MAP_HEIGHT*2+1 && MAP[maze_h+1][maze_w] == '.' { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:315:47 [INFO] [stdout] | [INFO] [stdout] 315 | if maze_h + 1 > MAP_HEIGHT*2+1 && MAP[maze_h+1][maze_w] == '.' { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:316:17 [INFO] [stdout] | [INFO] [stdout] 316 | NEIGHBOURS[index][3] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:323:8 [INFO] [stdout] | [INFO] [stdout] 323 | if can_move(node, direction) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:322:1 [INFO] [stdout] | [INFO] [stdout] 322 | unsafe fn player_can_move(node: usize, direction: usize) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:325:25 [INFO] [stdout] | [INFO] [stdout] 325 | 0 => return NEIGHBOURS[node][0] || NEIGHBOURS[node-1][2], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:325:48 [INFO] [stdout] | [INFO] [stdout] 325 | 0 => return NEIGHBOURS[node][0] || NEIGHBOURS[node-1][2], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:326:25 [INFO] [stdout] | [INFO] [stdout] 326 | 1 => return NEIGHBOURS[node][1] || NEIGHBOURS[node-MAP_WIDTH][3], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:326:48 [INFO] [stdout] | [INFO] [stdout] 326 | 1 => return NEIGHBOURS[node][1] || NEIGHBOURS[node-MAP_WIDTH][3], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:326:64 [INFO] [stdout] | [INFO] [stdout] 326 | 1 => return NEIGHBOURS[node][1] || NEIGHBOURS[node-MAP_WIDTH][3], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:327:25 [INFO] [stdout] | [INFO] [stdout] 327 | 2 => return NEIGHBOURS[node][2] || NEIGHBOURS[node+1][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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:327:48 [INFO] [stdout] | [INFO] [stdout] 327 | 2 => return NEIGHBOURS[node][2] || NEIGHBOURS[node+1][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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:328:25 [INFO] [stdout] | [INFO] [stdout] 328 | 3 => return NEIGHBOURS[node][3] || NEIGHBOURS[node+MAP_WIDTH][1], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:328:48 [INFO] [stdout] | [INFO] [stdout] 328 | 3 => return NEIGHBOURS[node][3] || NEIGHBOURS[node+MAP_WIDTH][1], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:328:64 [INFO] [stdout] | [INFO] [stdout] 328 | 3 => return NEIGHBOURS[node][3] || NEIGHBOURS[node+MAP_WIDTH][1], [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:336:5 [INFO] [stdout] | [INFO] [stdout] 336 | PLAYER == FINISH [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:335:1 [INFO] [stdout] | [INFO] [stdout] 335 | unsafe fn check_win() -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:336:15 [INFO] [stdout] | [INFO] [stdout] 336 | PLAYER == FINISH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:340:5 [INFO] [stdout] | [INFO] [stdout] 340 | TOTAL_MOVES_MADE += 1; [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:339:1 [INFO] [stdout] | [INFO] [stdout] 339 | unsafe fn move_player(direction: usize){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:341:9 [INFO] [stdout] | [INFO] [stdout] 341 | if !player_can_move(PLAYER, direction){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:341:25 [INFO] [stdout] | [INFO] [stdout] 341 | if !player_can_move(PLAYER, direction){ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | if !SHIFT_ONLY_ON_MOVE && ENABLE_SHIFTS{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:342:35 [INFO] [stdout] | [INFO] [stdout] 342 | if !SHIFT_ONLY_ON_MOVE && ENABLE_SHIFTS{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `shift_origin` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:343:13 [INFO] [stdout] | [INFO] [stdout] 343 | shift_origin(SHIFTS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:343:26 [INFO] [stdout] | [INFO] [stdout] 343 | shift_origin(SHIFTS); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:348:14 [INFO] [stdout] | [INFO] [stdout] 348 | 0 => PLAYER -= 1, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:349:14 [INFO] [stdout] | [INFO] [stdout] 349 | 1 => PLAYER -= MAP_WIDTH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:349:24 [INFO] [stdout] | [INFO] [stdout] 349 | 1 => PLAYER -= MAP_WIDTH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:350:14 [INFO] [stdout] | [INFO] [stdout] 350 | 2 => PLAYER += 1, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:351:14 [INFO] [stdout] | [INFO] [stdout] 351 | 3 => PLAYER += MAP_WIDTH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:351:24 [INFO] [stdout] | [INFO] [stdout] 351 | 3 => PLAYER += MAP_WIDTH, [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:354:8 [INFO] [stdout] | [INFO] [stdout] 354 | if ENABLE_SHIFTS { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `shift_origin` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:355:9 [INFO] [stdout] | [INFO] [stdout] 355 | shift_origin(SHIFTS); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:355:22 [INFO] [stdout] | [INFO] [stdout] 355 | shift_origin(SHIFTS); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:357:5 [INFO] [stdout] | [INFO] [stdout] 357 | MOVES_MADE += 1; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:361:17 [INFO] [stdout] | [INFO] [stdout] 361 | for y in 0..MAP_HEIGHT{ [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:360:1 [INFO] [stdout] | [INFO] [stdout] 360 | unsafe fn generate_starting_board(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:362:21 [INFO] [stdout] | [INFO] [stdout] 362 | for x in 0..MAP_WIDTH{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:363:34 [INFO] [stdout] | [INFO] [stdout] 363 | let idx: usize = y * MAP_WIDTH + x; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:364:20 [INFO] [stdout] | [INFO] [stdout] 364 | if x < MAP_WIDTH-1{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `f1` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:365:17 [INFO] [stdout] | [INFO] [stdout] 365 | f1(idx, idx+1); [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:366:26 [INFO] [stdout] | [INFO] [stdout] 366 | }else if y < MAP_HEIGHT-1{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `f1` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:367:17 [INFO] [stdout] | [INFO] [stdout] 367 | f1(idx, idx+MAP_WIDTH); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:367:29 [INFO] [stdout] | [INFO] [stdout] 367 | f1(idx, idx+MAP_WIDTH); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:374:8 [INFO] [stdout] | [INFO] [stdout] 374 | if ENABLE_DEBUG { [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:373:1 [INFO] [stdout] | [INFO] [stdout] 373 | unsafe fn print_options(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:375:41 [INFO] [stdout] | [INFO] [stdout] 375 | println!("Shifts per move: {}", SHIFTS); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:376:40 [INFO] [stdout] | [INFO] [stdout] 376 | println!("Shifts enabled: {}", ENABLE_SHIFTS); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:377:50 [INFO] [stdout] | [INFO] [stdout] 377 | println!("Shift only on legal move: {}", SHIFT_ONLY_ON_MOVE); [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:385:8 [INFO] [stdout] | [INFO] [stdout] 385 | if ENABLE_INSTRUCTIONS { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:403:17 [INFO] [stdout] | [INFO] [stdout] 403 | for y in 0..MAP_HEIGHT { [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:394:1 [INFO] [stdout] | [INFO] [stdout] 394 | unsafe fn visualize_board(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:405:16 [INFO] [stdout] | [INFO] [stdout] 405 | if ENABLE_NODE_NUMBERS{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:406:30 [INFO] [stdout] | [INFO] [stdout] 406 | for _ in 0..MAP_WIDTH*4+1{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:410:30 [INFO] [stdout] | [INFO] [stdout] 410 | for _ in 0..MAP_WIDTH*3+1{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:416:12 [INFO] [stdout] | [INFO] [stdout] 416 | if NEIGHBOURS[y*MAP_WIDTH][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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:416:25 [INFO] [stdout] | [INFO] [stdout] 416 | if NEIGHBOURS[y*MAP_WIDTH][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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:422:21 [INFO] [stdout] | [INFO] [stdout] 422 | for x in 0..MAP_WIDTH { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:423:34 [INFO] [stdout] | [INFO] [stdout] 423 | let idx: usize = y * MAP_WIDTH + x; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:424:30 [INFO] [stdout] | [INFO] [stdout] 424 | let fmt_idx = if ENABLE_NODE_NUMBERS {format!("{:0>3}", idx)} else {format!("{: >2}", "")}; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:427:17 [INFO] [stdout] | [INFO] [stdout] 427 | ENABLE_SHADOWS && [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:428:17 [INFO] [stdout] | [INFO] [stdout] 428 | DISTANCES[idx] > VIEW_DISTANCE [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:428:34 [INFO] [stdout] | [INFO] [stdout] 428 | DISTANCES[idx] > VIEW_DISTANCE [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:430:27 [INFO] [stdout] | [INFO] [stdout] 430 | if x+1 == MAP_WIDTH { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:434:20 [INFO] [stdout] | [INFO] [stdout] 434 | if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:434:40 [INFO] [stdout] | [INFO] [stdout] 434 | if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:434:59 [INFO] [stdout] | [INFO] [stdout] 434 | if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:443:16 [INFO] [stdout] | [INFO] [stdout] 443 | if player_can_move(idx, 2) //NEIGHBOURS[idx][2] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:445:25 [INFO] [stdout] | [INFO] [stdout] 445 | else if x < MAP_WIDTH-1 && player_can_move(idx+1, 0) //NEIGHBOURS[idx+1][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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:445:40 [INFO] [stdout] | [INFO] [stdout] 445 | else if x < MAP_WIDTH-1 && player_can_move(idx+1, 0) //NEIGHBOURS[idx+1][0] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:447:20 [INFO] [stdout] | [INFO] [stdout] 447 | if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:447:35 [INFO] [stdout] | [INFO] [stdout] 447 | if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:447:48 [INFO] [stdout] | [INFO] [stdout] 447 | if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:447:63 [INFO] [stdout] | [INFO] [stdout] 447 | if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:447:90 [INFO] [stdout] | [INFO] [stdout] 447 | if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:450:27 [INFO] [stdout] | [INFO] [stdout] 450 | if idx == PLAYER {"\x1b[42m"} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:451:32 [INFO] [stdout] | [INFO] [stdout] 451 | else if idx == ORIGIN && ENABLE_ORIGIN {"\x1b[44m"} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:451:42 [INFO] [stdout] | [INFO] [stdout] 451 | else if idx == ORIGIN && ENABLE_ORIGIN {"\x1b[44m"} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:452:32 [INFO] [stdout] | [INFO] [stdout] 452 | else if idx == FINISH && ENABLE_FINISH {"\x1b[45m"} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:452:42 [INFO] [stdout] | [INFO] [stdout] 452 | else if idx == FINISH && ENABLE_FINISH {"\x1b[45m"} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:453:25 [INFO] [stdout] | [INFO] [stdout] 453 | else if PATH[idx] && ENABLE_PATH {"\x1b[43m"} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:453:38 [INFO] [stdout] | [INFO] [stdout] 453 | else if PATH[idx] && ENABLE_PATH {"\x1b[43m"} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:456:27 [INFO] [stdout] | [INFO] [stdout] 456 | idx == PLAYER || [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:457:28 [INFO] [stdout] | [INFO] [stdout] 457 | (idx == ORIGIN && ENABLE_ORIGIN)|| [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:457:38 [INFO] [stdout] | [INFO] [stdout] 457 | (idx == ORIGIN && ENABLE_ORIGIN)|| [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:458:29 [INFO] [stdout] | [INFO] [stdout] 458 | (idx == FINISH && ENABLE_FINISH) || [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:458:39 [INFO] [stdout] | [INFO] [stdout] 458 | (idx == FINISH && ENABLE_FINISH) || [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:459:21 [INFO] [stdout] | [INFO] [stdout] 459 | (PATH[idx] && ENABLE_PATH) [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:459:34 [INFO] [stdout] | [INFO] [stdout] 459 | (PATH[idx] && ENABLE_PATH) [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:465:21 [INFO] [stdout] | [INFO] [stdout] 465 | for x in 0..MAP_WIDTH { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:466:34 [INFO] [stdout] | [INFO] [stdout] 466 | let idx: usize = y * MAP_WIDTH + x; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:468:37 [INFO] [stdout] | [INFO] [stdout] 468 | ... let mut connection = if ENABLE_NODE_NUMBERS {format!("\x1b[41m{: >3}\x1b[0m", "")} else {format!("\x1b[41m{: >2}\x1b[0m", "")... [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:471:17 [INFO] [stdout] | [INFO] [stdout] 471 | ENABLE_SHADOWS && [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:472:17 [INFO] [stdout] | [INFO] [stdout] 472 | DISTANCES[idx] > VIEW_DISTANCE && [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:472:34 [INFO] [stdout] | [INFO] [stdout] 472 | DISTANCES[idx] > VIEW_DISTANCE && [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:473:19 [INFO] [stdout] | [INFO] [stdout] 473 | !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:473:39 [INFO] [stdout] | [INFO] [stdout] 473 | !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE) [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:473:53 [INFO] [stdout] | [INFO] [stdout] 473 | !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE) [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:473:66 [INFO] [stdout] | [INFO] [stdout] 473 | !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE) [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:475:27 [INFO] [stdout] | [INFO] [stdout] 475 | if y+1 == MAP_HEIGHT { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:476:24 [INFO] [stdout] | [INFO] [stdout] 476 | if ENABLE_NODE_NUMBERS { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:483:27 [INFO] [stdout] | [INFO] [stdout] 483 | if x+1 == MAP_WIDTH { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:486:20 [INFO] [stdout] | [INFO] [stdout] 486 | if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:486:40 [INFO] [stdout] | [INFO] [stdout] 486 | if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:486:59 [INFO] [stdout] | [INFO] [stdout] 486 | if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:489:20 [INFO] [stdout] | [INFO] [stdout] 489 | if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:489:40 [INFO] [stdout] | [INFO] [stdout] 489 | if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:489:62 [INFO] [stdout] | [INFO] [stdout] 489 | if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:489:78 [INFO] [stdout] | [INFO] [stdout] 489 | if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:489:91 [INFO] [stdout] | [INFO] [stdout] 489 | if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:492:20 [INFO] [stdout] | [INFO] [stdout] 492 | if ENABLE_NODE_NUMBERS { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:500:16 [INFO] [stdout] | [INFO] [stdout] 500 | if NEIGHBOURS[idx][3] [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:502:17 [INFO] [stdout] | [INFO] [stdout] 502 | {if ENABLE_NODE_NUMBERS {connection = format!("{: >3}", "");}else{connection = format!("{: >2}", "");}} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:503:25 [INFO] [stdout] | [INFO] [stdout] 503 | else if y < MAP_HEIGHT-1 && NEIGHBOURS[idx+MAP_WIDTH][1] [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:503:41 [INFO] [stdout] | [INFO] [stdout] 503 | else if y < MAP_HEIGHT-1 && NEIGHBOURS[idx+MAP_WIDTH][1] [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:503:56 [INFO] [stdout] | [INFO] [stdout] 503 | else if y < MAP_HEIGHT-1 && NEIGHBOURS[idx+MAP_WIDTH][1] [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:504:17 [INFO] [stdout] | [INFO] [stdout] 504 | {if ENABLE_NODE_NUMBERS {connection = format!("{: >3}", "");}else{connection = format!("{: >2}", "");}} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `origin_shifter` (bin "origin_shifter" test) due to 1 previous error; 242 warnings emitted [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:505:20 [INFO] [stdout] | [INFO] [stdout] 505 | if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:505:36 [INFO] [stdout] | [INFO] [stdout] 505 | if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:505:49 [INFO] [stdout] | [INFO] [stdout] 505 | if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:505:58 [INFO] [stdout] | [INFO] [stdout] 505 | if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:505:72 [INFO] [stdout] | [INFO] [stdout] 505 | if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:505:99 [INFO] [stdout] | [INFO] [stdout] 505 | if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:506:17 [INFO] [stdout] | [INFO] [stdout] 506 | ... {if ENABLE_NODE_NUMBERS {connection = format!("\x1b[43m{: >3}\x1b[0m", "");} else {connection = format!("\x1b[43m{: >2}\x1b[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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:514:15 [INFO] [stdout] | [INFO] [stdout] 514 | if node % MAP_WIDTH == 0 && direction == 0 {return false;} [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:513:1 [INFO] [stdout] | [INFO] [stdout] 513 | unsafe fn can_move(node: usize, direction: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:515:20 [INFO] [stdout] | [INFO] [stdout] 515 | else if node % MAP_WIDTH == MAP_WIDTH-1 && direction == 2 {return false;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:515:33 [INFO] [stdout] | [INFO] [stdout] 515 | else if node % MAP_WIDTH == MAP_WIDTH-1 && direction == 2 {return false;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:516:58 [INFO] [stdout] | [INFO] [stdout] 516 | else if i32::try_from(node).unwrap() - i32::try_from(MAP_WIDTH).unwrap() < 0 && direction == 1 {return false;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:517:58 [INFO] [stdout] | [INFO] [stdout] 517 | else if i32::try_from(node).unwrap() + i32::try_from(MAP_WIDTH).unwrap() >= i32::try_from(MAP_WIDTH*MAP_HEIGHT).unwrap() && dir... [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:517:95 [INFO] [stdout] | [INFO] [stdout] 517 | else if i32::try_from(node).unwrap() + i32::try_from(MAP_WIDTH).unwrap() >= i32::try_from(MAP_WIDTH*MAP_HEIGHT).unwrap() && dir... [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:517:105 [INFO] [stdout] | [INFO] [stdout] 517 | ...(MAP_WIDTH).unwrap() >= i32::try_from(MAP_WIDTH*MAP_HEIGHT).unwrap() && direction == 3 {return false;} [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:554:9 [INFO] [stdout] | [INFO] [stdout] 554 | NEIGHBOURS[origin][0] = true; [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] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/main.rs:552:1 [INFO] [stdout] | [INFO] [stdout] 552 | unsafe fn f1(origin: usize, destination: usize){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:555:36 [INFO] [stdout] | [INFO] [stdout] 555 | }else if origin == destination+MAP_WIDTH { [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:556:9 [INFO] [stdout] | [INFO] [stdout] 556 | NEIGHBOURS[origin][1] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:558:9 [INFO] [stdout] | [INFO] [stdout] 558 | NEIGHBOURS[origin][2] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:559:36 [INFO] [stdout] | [INFO] [stdout] 559 | }else if origin == destination-MAP_WIDTH{ [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:560:9 [INFO] [stdout] | [INFO] [stdout] 560 | NEIGHBOURS[origin][3] = true; [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] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0432. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09", kill_on_drop: false }` [INFO] [stdout] 8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09