[INFO] cloning repository https://github.com/Mota-Link/untangle-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Mota-Link/untangle-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMota-Link%2Funtangle-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMota-Link%2Funtangle-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b5da008a2796bdb5c6e7b3834fcaa3bb9f32a388 [INFO] building Mota-Link/untangle-rs against try#23647e694de8d0904848ad068b2e0ec2dd098c37+target=wasm32-wasip1 for pr-149868 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMota-Link%2Funtangle-rs" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-6-tc2/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/Mota-Link/untangle-rs [INFO] finished tweaking git repo https://github.com/Mota-Link/untangle-rs [INFO] tweaked toml for git repo https://github.com/Mota-Link/untangle-rs written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Mota-Link/untangle-rs on toolchain 23647e694de8d0904848ad068b2e0ec2dd098c37 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23647e694de8d0904848ad068b2e0ec2dd098c37" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Mota-Link/untangle-rs 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" "+23647e694de8d0904848ad068b2e0ec2dd098c37" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+23647e694de8d0904848ad068b2e0ec2dd098c37" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 571ed95268567989578b7131ec541ae9ef45052743f634dd29e640d006dd1ded [INFO] running `Command { std: "docker" "start" "-a" "571ed95268567989578b7131ec541ae9ef45052743f634dd29e640d006dd1ded", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "571ed95268567989578b7131ec541ae9ef45052743f634dd29e640d006dd1ded", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "571ed95268567989578b7131ec541ae9ef45052743f634dd29e640d006dd1ded", kill_on_drop: false }` [INFO] [stdout] 571ed95268567989578b7131ec541ae9ef45052743f634dd29e640d006dd1ded [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+23647e694de8d0904848ad068b2e0ec2dd098c37" "build" "--frozen" "--message-format=json" "--target" "wasm32-wasip1", kill_on_drop: false }` [INFO] [stdout] 13eda76f8f78f21c09d3e72f9c4a7afd6b83448b191c5b5993449e8170d8182c [INFO] running `Command { std: "docker" "start" "-a" "13eda76f8f78f21c09d3e72f9c4a7afd6b83448b191c5b5993449e8170d8182c", kill_on_drop: false }` [INFO] [stderr] Compiling fastrand v2.1.1 [INFO] [stderr] Compiling buddy-alloc v0.5.1 [INFO] [stderr] Compiling untangle v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/lib.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | match &GAME.state { [INFO] [stdout] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 23 | match &raw const GAME.state { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/lib.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | if GAME.intersect_lines.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/lib.rs:85:22 [INFO] [stdout] | [INFO] [stdout] 85 | unsafe { *unwrap(GAME.points.get(idx)) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/lib.rs:89:24 [INFO] [stdout] | [INFO] [stdout] 89 | for l1 in unsafe { &GAME.lines } { [INFO] [stdout] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 89 | for l1 in unsafe { &raw const GAME.lines } { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/lib.rs:90:28 [INFO] [stdout] | [INFO] [stdout] 90 | for l2 in unsafe { &GAME.lines } { [INFO] [stdout] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 90 | for l2 in unsafe { &raw const GAME.lines } { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/alloc.rs:13:42 [INFO] [stdout] | [INFO] [stdout] 13 | let fast_param = FastAllocParam::new(FAST_HEAP.as_ptr(), FAST_HEAP_SIZE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/alloc.rs:14:44 [INFO] [stdout] | [INFO] [stdout] 14 | let buddy_param = BuddyAllocParam::new(HEAP.as_ptr(), HEAP_SIZE, LEAF_SIZE); [INFO] [stdout] | ^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:24:31 [INFO] [stdout] | [INFO] [stdout] 24 | for (i, point) in GAME.points.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/scene.rs:33:24 [INFO] [stdout] | [INFO] [stdout] 33 | unwrap(GAME.points.get_mut(i)).move_to(mouse) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/scene.rs:37:30 [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(i) = GAME.holding_point.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:41:24 [INFO] [stdout] | [INFO] [stdout] 41 | if GAME.intersect_lines.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:56:28 [INFO] [stdout] | [INFO] [stdout] 56 | let adjacent = GAME [INFO] [stdout] | ____________________________^ [INFO] [stdout] 57 | | .lines [INFO] [stdout] 58 | | .iter() [INFO] [stdout] | |_______________________^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:73:31 [INFO] [stdout] | [INFO] [stdout] 73 | for (i, point) in GAME.points.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:83:16 [INFO] [stdout] | [INFO] [stdout] 83 | draw_lines(&GAME.lines); [INFO] [stdout] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 83 | draw_lines(&raw const GAME.lines); [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | draw_points(&GAME.points, draw_points_flag); [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 84 | draw_points(&raw const GAME.points, draw_points_flag); [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:96:16 [INFO] [stdout] | [INFO] [stdout] 96 | draw_lines(&GAME.lines); [INFO] [stdout] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 96 | draw_lines(&raw const GAME.lines); [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | draw_points(&GAME.points, AllLight); [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 97 | draw_points(&raw const GAME.points, AllLight); [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | if GAME.points.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | if GAME.points.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:146:8 [INFO] [stdout] | [INFO] [stdout] 146 | if GAME.unlock_level.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:175:16 [INFO] [stdout] | [INFO] [stdout] 175 | draw_lines(&GAME.lines); [INFO] [stdout] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 175 | draw_lines(&raw const GAME.lines); [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | draw_points(&GAME.points, Normal); [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 176 | draw_points(&raw const GAME.points, Normal); [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:190:37 [INFO] [stdout] | [INFO] [stdout] 190 | ..5 | 15..20 => draw_points(&GAME.points, AllBigLight), [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 190 | ..5 | 15..20 => draw_points(&raw const GAME.points, AllBigLight), [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:191:39 [INFO] [stdout] | [INFO] [stdout] 191 | 5..10 | 20..25 => draw_points(&GAME.points, AllBig), [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 191 | 5..10 | 20..25 => draw_points(&raw const GAME.points, AllBig), [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:228:33 [INFO] [stdout] | [INFO] [stdout] 228 | Released if GAME.holding_point.is_some() => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:257:31 [INFO] [stdout] | [INFO] [stdout] 257 | 0..160 => draw_points(&GAME.points, Normal), [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 257 | 0..160 => draw_points(&raw const GAME.points, Normal), [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:259:25 [INFO] [stdout] | [INFO] [stdout] 259 | draw_points(&GAME.points, Normal); [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 259 | draw_points(&raw const GAME.points, Normal); [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:266:41 [INFO] [stdout] | [INFO] [stdout] 266 | let level = "LEVEL ".to_string() + &GAME.current_level.to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:288:16 [INFO] [stdout] | [INFO] [stdout] 288 | draw_lines(&GAME.lines); [INFO] [stdout] | ^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 288 | draw_lines(&raw const GAME.lines); [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/scene.rs:289:17 [INFO] [stdout] | [INFO] [stdout] 289 | draw_points(&GAME.points, AllLight); [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 289 | draw_points(&raw const GAME.points, AllLight); [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/scene.rs:294:41 [INFO] [stdout] | [INFO] [stdout] 294 | let Point { x, y } = unwrap(GAME.points.get_mut(i)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: linking with `rust-lld` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "rust-lld" "-flavor" "wasm" "--export" "update" "-z" "stack-size=1048576" "--stack-first" "--no-demangle" "<7 object files omitted>" "/lib/rustlib/wasm32-wasip1/lib/libpanic_abort-*.rlib" "/opt/rustwide/target/wasm32-wasip1/debug/deps/{libfastrand-4d885a942a26cf82,libbuddy_alloc-7021d8ceb201a4bf}.rlib" "/lib/rustlib/wasm32-wasip1/lib/{libstd-*,libwasi-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*}.rlib" "-l" "c" "/lib/rustlib/wasm32-wasip1/lib/{librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-L" "/lib/rustlib/wasm32-wasip1/lib/self-contained" "-o" "/opt/rustwide/target/wasm32-wasip1/debug/deps/untangle.wasm" "--gc-sections" "--no-entry" "-O0" [INFO] [stdout] = note: some arguments are omitted. use `--verbose` to show all linker arguments [INFO] [stdout] = note: rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/untangle.untangle.8513075ce98118c6-cgu.0.rcgu.o: undefined symbol: diskr [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/untangle.untangle.8513075ce98118c6-cgu.0.rcgu.o: undefined symbol: diskw [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/untangle.untangle.8513075ce98118c6-cgu.5.rcgu.o: undefined symbol: textUtf8 [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/untangle.untangle.8513075ce98118c6-cgu.5.rcgu.o: undefined symbol: textUtf8 [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/untangle.untangle.8513075ce98118c6-cgu.5.rcgu.o: undefined symbol: line [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/untangle.untangle.8513075ce98118c6-cgu.5.rcgu.o: undefined symbol: blit [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/untangle.untangle.8513075ce98118c6-cgu.5.rcgu.o: undefined symbol: oval [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/untangle.untangle.8513075ce98118c6-cgu.5.rcgu.o: undefined symbol: rect [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/untangle.untangle.8513075ce98118c6-cgu.5.rcgu.o: undefined symbol: hline [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `untangle` (lib) due to 1 previous error; 31 warnings emitted [INFO] running `Command { std: "docker" "inspect" "13eda76f8f78f21c09d3e72f9c4a7afd6b83448b191c5b5993449e8170d8182c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "13eda76f8f78f21c09d3e72f9c4a7afd6b83448b191c5b5993449e8170d8182c", kill_on_drop: false }` [INFO] [stdout] 13eda76f8f78f21c09d3e72f9c4a7afd6b83448b191c5b5993449e8170d8182c