[INFO] cloning repository https://github.com/T0kers/Zepto [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/T0kers/Zepto" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FT0kers%2FZepto", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FT0kers%2FZepto'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9f49fc53932053c0b8998d5acf704300b0b08670 [INFO] checking T0kers/Zepto/9f49fc53932053c0b8998d5acf704300b0b08670 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FT0kers%2FZepto" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/T0kers/Zepto on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/T0kers/Zepto [INFO] finished tweaking git repo https://github.com/T0kers/Zepto [INFO] tweaked toml for git repo https://github.com/T0kers/Zepto written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/T0kers/Zepto 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" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 70a2a926fd7e332f1c10883757533c043394c4fc8bf7574ed7a83977e8c97815 [INFO] running `Command { std: "docker" "start" "-a" "70a2a926fd7e332f1c10883757533c043394c4fc8bf7574ed7a83977e8c97815", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "70a2a926fd7e332f1c10883757533c043394c4fc8bf7574ed7a83977e8c97815", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "70a2a926fd7e332f1c10883757533c043394c4fc8bf7574ed7a83977e8c97815", kill_on_drop: false }` [INFO] [stdout] 70a2a926fd7e332f1c10883757533c043394c4fc8bf7574ed7a83977e8c97815 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a1cd5eae29cb80e875337e0612fad2b1e71b1e1398f9ca1305592a7a6d0e8b7c [INFO] running `Command { std: "docker" "start" "-a" "a1cd5eae29cb80e875337e0612fad2b1e71b1e1398f9ca1305592a7a6d0e8b7c", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Checking indexmap v2.2.3 [INFO] [stderr] Checking getrandom v0.2.12 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking zepto v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `zepto` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/chunk.rs [INFO] [stderr] * src/compiler.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/chunk.rs:4:6 [INFO] [stderr] | [INFO] [stderr] 4 | ($n:expr_2021;) => {}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/chunk.rs:5:6 [INFO] [stderr] | [INFO] [stderr] 5 | ($n:expr_2021; $name:ident $(, $rest:ident)*) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler.rs:328:14 [INFO] [stderr] | [INFO] [stderr] 328 | ($name:expr_2021, $arity:expr_2021, $func:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler.rs:328:31 [INFO] [stderr] | [INFO] [stderr] 328 | ($name:expr_2021, $arity:expr_2021, $func:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler.rs:328:49 [INFO] [stderr] | [INFO] [stderr] 328 | ($name:expr_2021, $arity:expr_2021, $func:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/chunk.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | ($n:expr;) => {}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 4 | ($n:expr_2021;) => {}; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/chunk.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | ($n:expr; $name:ident $(, $rest:ident)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 5 | ($n:expr_2021; $name:ident $(, $rest:ident)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UpValueLocation` [INFO] [stdout] --> src/compiler.rs:2:73 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{chunk::{Chunk, OpCode}, errors::VMError, object::{Function, UpValueLocation}, scanner::{Scanner, Token, TokenKind}, value::{N... [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler.rs:328:20 [INFO] [stdout] | [INFO] [stdout] 328 | ($name:expr, $arity:expr, $func:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 328 | ($name:expr_2021, $arity:expr, $func:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler.rs:328:33 [INFO] [stdout] | [INFO] [stdout] 328 | ($name:expr, $arity:expr, $func:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 328 | ($name:expr, $arity:expr_2021, $func:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler.rs:328:45 [INFO] [stdout] | [INFO] [stdout] 328 | ($name:expr, $arity:expr, $func:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 328 | ($name:expr, $arity:expr, $func:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | pub unsafe fn add(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:108:47 [INFO] [stdout] | [INFO] [stdout] 108 | (Value::Str(a), Value::Str(b)) => self.push(Value::Str(Box::new(*a + b.as_str()))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:109:47 [INFO] [stdout] | [INFO] [stdout] 109 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a + b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:110:49 [INFO] [stdout] | [INFO] [stdout] 110 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) + Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:111:48 [INFO] [stdout] | [INFO] [stdout] 111 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a + Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:112:48 [INFO] [stdout] | [INFO] [stdout] 112 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) + b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:113:39 [INFO] [stdout] | [INFO] [stdout] 113 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:114:39 [INFO] [stdout] | [INFO] [stdout] 114 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:115:25 [INFO] [stdout] | [INFO] [stdout] 115 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:120:17 [INFO] [stdout] | [INFO] [stdout] 120 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub unsafe fn sub(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:123:47 [INFO] [stdout] | [INFO] [stdout] 123 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a - b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:124:49 [INFO] [stdout] | [INFO] [stdout] 124 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) - Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:125:48 [INFO] [stdout] | [INFO] [stdout] 125 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a - Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:126:48 [INFO] [stdout] | [INFO] [stdout] 126 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) - b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:127:39 [INFO] [stdout] | [INFO] [stdout] 127 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:128:39 [INFO] [stdout] | [INFO] [stdout] 128 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:129:25 [INFO] [stdout] | [INFO] [stdout] 129 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | pub unsafe fn mul(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:137:60 [INFO] [stdout] | [INFO] [stdout] 137 | (Value::Str(a), Value::Num(Number::Int(b))) => self.push(Value::Str(Box::new(a.repeat(b as usize)))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:138:60 [INFO] [stdout] | [INFO] [stdout] 138 | (Value::Num(Number::Int(a)), Value::Str(b)) => self.push(Value::Str(Box::new(b.repeat(a as usize)))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:139:47 [INFO] [stdout] | [INFO] [stdout] 139 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a * b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:140:49 [INFO] [stdout] | [INFO] [stdout] 140 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) * Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:141:48 [INFO] [stdout] | [INFO] [stdout] 141 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a * Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:142:48 [INFO] [stdout] | [INFO] [stdout] 142 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) * b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:143:39 [INFO] [stdout] | [INFO] [stdout] 143 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:144:39 [INFO] [stdout] | [INFO] [stdout] 144 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:145:25 [INFO] [stdout] | [INFO] [stdout] 145 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | pub unsafe fn div(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:153:47 [INFO] [stdout] | [INFO] [stdout] 153 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a / b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:154:49 [INFO] [stdout] | [INFO] [stdout] 154 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) / Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:155:48 [INFO] [stdout] | [INFO] [stdout] 155 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a / Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:156:48 [INFO] [stdout] | [INFO] [stdout] 156 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) / b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:157:39 [INFO] [stdout] | [INFO] [stdout] 157 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:158:39 [INFO] [stdout] | [INFO] [stdout] 158 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:159:25 [INFO] [stdout] | [INFO] [stdout] 159 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:170:15 [INFO] [stdout] | [INFO] [stdout] 170 | match self.pop() { [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | pub unsafe fn neg(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:171:30 [INFO] [stdout] | [INFO] [stdout] 171 | Value::Num(a) => self.push(Value::Num(-a)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:172:31 [INFO] [stdout] | [INFO] [stdout] 172 | Value::Bool(a) => self.push(Value::Num(Number::Int(-(a as i64)))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:173:34 [INFO] [stdout] | [INFO] [stdout] 173 | Value::Nul => return self.runtime_error("Operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:174:25 [INFO] [stdout] | [INFO] [stdout] 174 | _ => return self.runtime_error("Unexpected operand type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | pub unsafe fn equal(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:182:47 [INFO] [stdout] | [INFO] [stdout] 182 | (Value::Str(a), Value::Str(b)) => self.push(Value::Bool(a == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:183:47 [INFO] [stdout] | [INFO] [stdout] 183 | (Value::Num(a), Value::Num(b)) => self.push(Value::Bool(a == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:184:49 [INFO] [stdout] | [INFO] [stdout] 184 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Bool(a == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:185:48 [INFO] [stdout] | [INFO] [stdout] 185 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Bool(a == Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:186:48 [INFO] [stdout] | [INFO] [stdout] 186 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Bool(Number::Int(a as i64) == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:187:41 [INFO] [stdout] | [INFO] [stdout] 187 | (Value::Nul, Value::Nul) => self.push(Value::Bool(true)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:188:18 [INFO] [stdout] | [INFO] [stdout] 188 | _ => self.push(Value::Bool(false)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:65:51 [INFO] [stdout] | [INFO] [stdout] 65 | (Value::Num(a), Value::Num(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:66:53 [INFO] [stdout] | [INFO] [stdout] 66 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:67:52 [INFO] [stdout] | [INFO] [stdout] 67 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Bool(a $oper Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:68:52 [INFO] [stdout] | [INFO] [stdout] 68 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Bool(Number::Int(a as i64) $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:69:43 [INFO] [stdout] | [INFO] [stdout] 69 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:70:43 [INFO] [stdout] | [INFO] [stdout] 70 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:71:29 [INFO] [stdout] | [INFO] [stdout] 71 | _ => return self.runtime_error("Unexpected operand type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:65:51 [INFO] [stdout] | [INFO] [stdout] 65 | (Value::Num(a), Value::Num(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:66:53 [INFO] [stdout] | [INFO] [stdout] 66 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:67:52 [INFO] [stdout] | [INFO] [stdout] 67 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Bool(a $oper Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:68:52 [INFO] [stdout] | [INFO] [stdout] 68 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Bool(Number::Int(a as i64) $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:69:43 [INFO] [stdout] | [INFO] [stdout] 69 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:70:43 [INFO] [stdout] | [INFO] [stdout] 70 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:71:29 [INFO] [stdout] | [INFO] [stdout] 71 | _ => return self.runtime_error("Unexpected operand type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:216:20 [INFO] [stdout] | [INFO] [stdout] 216 | let byte = *self.ip; [INFO] [stdout] | ^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:215:5 [INFO] [stdout] | [INFO] [stdout] 215 | unsafe fn read_byte(&mut self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:217:19 [INFO] [stdout] | [INFO] [stdout] 217 | self.ip = self.ip.add(1); [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::read_byte` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:221:22 [INFO] [stdout] | [INFO] [stdout] 221 | let bytes = (self.read_byte() as u16) << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | unsafe fn read_bytes(&mut self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::read_byte` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:222:17 [INFO] [stdout] | [INFO] [stdout] 222 | bytes | self.read_byte() as u16 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:479:9 [INFO] [stdout] | [INFO] [stdout] 479 | *self.stack_top = value; [INFO] [stdout] | ^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:478:5 [INFO] [stdout] | [INFO] [stdout] 478 | unsafe fn push(&mut self, value: Value) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:480:26 [INFO] [stdout] | [INFO] [stdout] 480 | self.stack_top = self.stack_top.add(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:483:26 [INFO] [stdout] | [INFO] [stdout] 483 | self.stack_top = self.stack_top.sub(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:482:5 [INFO] [stdout] | [INFO] [stdout] 482 | unsafe fn pop(&mut self) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:484:9 [INFO] [stdout] | [INFO] [stdout] 484 | (*self.stack_top).clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:487:9 [INFO] [stdout] | [INFO] [stdout] 487 | (*self.stack_top.sub(1 + distance)).clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:486:5 [INFO] [stdout] | [INFO] [stdout] 486 | unsafe fn peek(&mut self, distance: usize) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:487:11 [INFO] [stdout] | [INFO] [stdout] 487 | (*self.stack_top.sub(1 + distance)).clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:505:46 [INFO] [stdout] | [INFO] [stdout] 505 | let locals_to_capture = &mut (*self.call_stack_ptr.sub(1)).locals_to_capture; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:489:5 [INFO] [stdout] | [INFO] [stdout] 489 | unsafe fn capture_upvalue(&mut self, local: usize) -> UpValueLocation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:505:48 [INFO] [stdout] | [INFO] [stdout] 505 | let locals_to_capture = &mut (*self.call_stack_ptr.sub(1)).locals_to_capture; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::offset_from` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:514:93 [INFO] [stdout] | [INFO] [stdout] 514 | ...script.", msg, self.chunk.line((self.ip.offset_from(self.chunk.code.as_ptr()) - 1) as usize)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:512:5 [INFO] [stdout] | [INFO] [stdout] 512 | pub unsafe fn runtime_error(&mut self, msg: &str) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::offset_from` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:519:93 [INFO] [stdout] | [INFO] [stdout] 519 | ...script.", msg, self.chunk.line((self.ip.offset_from(self.chunk.code.as_ptr()) - 1) as usize)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:517:5 [INFO] [stdout] | [INFO] [stdout] 517 | pub unsafe fn runtime_value_error(&mut self, msg: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | env::set_var("RUST_BACKTRACE", "1"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 17 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 18 ~ unsafe { env::set_var("RUST_BACKTRACE", "1") }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm.rs:311:28 [INFO] [stdout] | [INFO] [stdout] 311 | if let Some(value) = &self.globals[index] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm.rs:313:25 [INFO] [stdout] | [INFO] [stdout] 313 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 311 ~ match &self.globals[index] { Some(value) => { [INFO] [stdout] 312 | self.push(value.clone()); [INFO] [stdout] 313 ~ } _ => { [INFO] [stdout] 314 | self.runtime_error("Undefined variable.")? // TODO: show variable name in message. [INFO] [stdout] 315 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm.rs:319:28 [INFO] [stdout] | [INFO] [stdout] 319 | if let Some(value) = &self.globals[index] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm.rs:321:25 [INFO] [stdout] | [INFO] [stdout] 321 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 319 ~ match &self.globals[index] { Some(value) => { [INFO] [stdout] 320 | self.push(value.clone()); [INFO] [stdout] 321 ~ } _ => { [INFO] [stdout] 322 | self.runtime_error("Undefined variable.")? // TODO: show variable name in message. [INFO] [stdout] 323 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm.rs:332:28 [INFO] [stdout] | [INFO] [stdout] 332 | if let Value::Closure(c) = self.stack[(*self.call_stack_ptr.sub(1)).stack_offset - 1].clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm.rs:334:25 [INFO] [stdout] | [INFO] [stdout] 334 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 332 ~ match self.stack[(*self.call_stack_ptr.sub(1)).stack_offset - 1].clone() { Value::Closure(c) => { [INFO] [stdout] 333 | self.set_upvalue_value(c.upvalues[slot], value); [INFO] [stdout] 334 ~ } _ => { [INFO] [stdout] 335 | panic!("This error should only occur if Tokers has made anything wrong!"); [INFO] [stdout] 336 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm.rs:341:28 [INFO] [stdout] | [INFO] [stdout] 341 | if let Value::Closure(c) = self.stack[(*self.call_stack_ptr.sub(1)).stack_offset - 1].clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm.rs:343:25 [INFO] [stdout] | [INFO] [stdout] 343 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 341 ~ match self.stack[(*self.call_stack_ptr.sub(1)).stack_offset - 1].clone() { Value::Closure(c) => { [INFO] [stdout] 342 | self.push(self.get_upvalue_value(c.upvalues[slot])); [INFO] [stdout] 343 ~ } _ => { [INFO] [stdout] 344 | panic!("This error should only occur if Tokers has made anything wrong!"); [INFO] [stdout] 345 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm.rs:349:28 [INFO] [stdout] | [INFO] [stdout] 349 | ... if let Value::Fn(f) = self.chunk.constants[self.read_bytes() as usize].clone() { // TODO: change so no runtime che... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm.rs:371:25 [INFO] [stdout] | [INFO] [stdout] 371 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 349 ~ match self.chunk.constants[self.read_bytes() as usize].clone() { Value::Fn(f) => { // TODO: change so no runtime check is used. [INFO] [stdout] 350 | let upvalue_count = self.read_byte() as usize; [INFO] [stdout] ... [INFO] [stdout] 370 | self.push(Value::Closure(Box::new(closure))); [INFO] [stdout] 371 ~ } _ => { [INFO] [stdout] 372 | self.runtime_error("This error should never happen, unless my code is wrong!")?; [INFO] [stdout] 373 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm.rs:361:44 [INFO] [stdout] | [INFO] [stdout] 361 | ... if let Value::Closure(c) = self.stack[(*self.call_stack_ptr.sub(1)).stack_offset - 1].clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm.rs:363:41 [INFO] [stdout] | [INFO] [stdout] 363 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 361 ~ match self.stack[(*self.call_stack_ptr.sub(1)).stack_offset - 1].clone() { Value::Closure(c) => { [INFO] [stdout] 362 | c.upvalues[index] [INFO] [stdout] 363 ~ } _ => { [INFO] [stdout] 364 | panic!("This error should only occur if Tokers has made anything wrong!"); [INFO] [stdout] 365 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 142 | if let Some(local) = self.scopes[scope_len - i].indexes.get_mut(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------------------------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 142 ~ match self.scopes[scope_len - i].indexes.get_mut(name) { Some(local) => { [INFO] [stdout] 143 | return Some(local); [INFO] [stdout] 144 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler.rs:151:16 [INFO] [stdout] | [INFO] [stdout] 151 | if let Some(index) = check_scope.indexes.get(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 151 ~ match check_scope.indexes.get(name) { Some(index) => { [INFO] [stdout] 152 | return Some(index); [INFO] [stdout] 153 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler.rs:983:16 [INFO] [stdout] | [INFO] [stdout] 983 | if let Some(i) = self.locals.get_local(lexeme) { [INFO] [stdout] | ^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 988 | else if let Some(i) = self.locals.resolve_upvalue(lexeme)? { [INFO] [stdout] | ----------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler.rs:987:13 [INFO] [stdout] | [INFO] [stdout] 987 | } [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler.rs:992:13 [INFO] [stdout] | [INFO] [stdout] 992 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 983 ~ match self.locals.get_local(lexeme) { Some(i) => { [INFO] [stdout] 984 | index = Some(i.index); [INFO] [stdout] 985 | set_op = OpCode::SET_LOCAL; [INFO] [stdout] 986 | get_op = OpCode::GET_LOCAL; [INFO] [stdout] 987 ~ } _ => { match self.locals.resolve_upvalue(lexeme)? { Some(i) => { [INFO] [stdout] 988 | index = Some(i); [INFO] [stdout] 989 | set_op = OpCode::SET_UPVALUE; [INFO] [stdout] 990 | get_op = OpCode::GET_UPVALUE; [INFO] [stdout] 991 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 129 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `zepto` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/chunk.rs [INFO] [stderr] * src/compiler.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/chunk.rs:4:6 [INFO] [stderr] | [INFO] [stderr] 4 | ($n:expr_2021;) => {}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/chunk.rs:5:6 [INFO] [stderr] | [INFO] [stderr] 5 | ($n:expr_2021; $name:ident $(, $rest:ident)*) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler.rs:328:14 [INFO] [stderr] | [INFO] [stderr] 328 | ($name:expr_2021, $arity:expr_2021, $func:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler.rs:328:31 [INFO] [stderr] | [INFO] [stderr] 328 | ($name:expr_2021, $arity:expr_2021, $func:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/compiler.rs:328:49 [INFO] [stderr] | [INFO] [stderr] 328 | ($name:expr_2021, $arity:expr_2021, $func:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/chunk.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | ($n:expr;) => {}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 4 | ($n:expr_2021;) => {}; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/chunk.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | ($n:expr; $name:ident $(, $rest:ident)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 5 | ($n:expr_2021; $name:ident $(, $rest:ident)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UpValueLocation` [INFO] [stdout] --> src/compiler.rs:2:73 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{chunk::{Chunk, OpCode}, errors::VMError, object::{Function, UpValueLocation}, scanner::{Scanner, Token, TokenKind}, value::{N... [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler.rs:328:20 [INFO] [stdout] | [INFO] [stdout] 328 | ($name:expr, $arity:expr, $func:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 328 | ($name:expr_2021, $arity:expr, $func:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler.rs:328:33 [INFO] [stdout] | [INFO] [stdout] 328 | ($name:expr, $arity:expr, $func:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 328 | ($name:expr, $arity:expr_2021, $func:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/compiler.rs:328:45 [INFO] [stdout] | [INFO] [stdout] 328 | ($name:expr, $arity:expr, $func:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 328 | ($name:expr, $arity:expr, $func:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | pub unsafe fn add(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:108:47 [INFO] [stdout] | [INFO] [stdout] 108 | (Value::Str(a), Value::Str(b)) => self.push(Value::Str(Box::new(*a + b.as_str()))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:109:47 [INFO] [stdout] | [INFO] [stdout] 109 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a + b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:110:49 [INFO] [stdout] | [INFO] [stdout] 110 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) + Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:111:48 [INFO] [stdout] | [INFO] [stdout] 111 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a + Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:112:48 [INFO] [stdout] | [INFO] [stdout] 112 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) + b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:113:39 [INFO] [stdout] | [INFO] [stdout] 113 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:114:39 [INFO] [stdout] | [INFO] [stdout] 114 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:115:25 [INFO] [stdout] | [INFO] [stdout] 115 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:120:17 [INFO] [stdout] | [INFO] [stdout] 120 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub unsafe fn sub(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:123:47 [INFO] [stdout] | [INFO] [stdout] 123 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a - b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:124:49 [INFO] [stdout] | [INFO] [stdout] 124 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) - Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:125:48 [INFO] [stdout] | [INFO] [stdout] 125 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a - Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:126:48 [INFO] [stdout] | [INFO] [stdout] 126 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) - b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:127:39 [INFO] [stdout] | [INFO] [stdout] 127 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:128:39 [INFO] [stdout] | [INFO] [stdout] 128 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:129:25 [INFO] [stdout] | [INFO] [stdout] 129 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | pub unsafe fn mul(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:137:60 [INFO] [stdout] | [INFO] [stdout] 137 | (Value::Str(a), Value::Num(Number::Int(b))) => self.push(Value::Str(Box::new(a.repeat(b as usize)))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:138:60 [INFO] [stdout] | [INFO] [stdout] 138 | (Value::Num(Number::Int(a)), Value::Str(b)) => self.push(Value::Str(Box::new(b.repeat(a as usize)))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:139:47 [INFO] [stdout] | [INFO] [stdout] 139 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a * b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:140:49 [INFO] [stdout] | [INFO] [stdout] 140 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) * Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:141:48 [INFO] [stdout] | [INFO] [stdout] 141 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a * Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:142:48 [INFO] [stdout] | [INFO] [stdout] 142 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) * b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:143:39 [INFO] [stdout] | [INFO] [stdout] 143 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:144:39 [INFO] [stdout] | [INFO] [stdout] 144 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:145:25 [INFO] [stdout] | [INFO] [stdout] 145 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | pub unsafe fn div(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:153:47 [INFO] [stdout] | [INFO] [stdout] 153 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a / b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:154:49 [INFO] [stdout] | [INFO] [stdout] 154 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) / Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:155:48 [INFO] [stdout] | [INFO] [stdout] 155 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a / Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:156:48 [INFO] [stdout] | [INFO] [stdout] 156 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) / b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:157:39 [INFO] [stdout] | [INFO] [stdout] 157 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:158:39 [INFO] [stdout] | [INFO] [stdout] 158 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:159:25 [INFO] [stdout] | [INFO] [stdout] 159 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:170:15 [INFO] [stdout] | [INFO] [stdout] 170 | match self.pop() { [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | pub unsafe fn neg(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:171:30 [INFO] [stdout] | [INFO] [stdout] 171 | Value::Num(a) => self.push(Value::Num(-a)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:172:31 [INFO] [stdout] | [INFO] [stdout] 172 | Value::Bool(a) => self.push(Value::Num(Number::Int(-(a as i64)))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:173:34 [INFO] [stdout] | [INFO] [stdout] 173 | Value::Nul => return self.runtime_error("Operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:174:25 [INFO] [stdout] | [INFO] [stdout] 174 | _ => return self.runtime_error("Unexpected operand type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | pub unsafe fn equal(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:182:47 [INFO] [stdout] | [INFO] [stdout] 182 | (Value::Str(a), Value::Str(b)) => self.push(Value::Bool(a == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:183:47 [INFO] [stdout] | [INFO] [stdout] 183 | (Value::Num(a), Value::Num(b)) => self.push(Value::Bool(a == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:184:49 [INFO] [stdout] | [INFO] [stdout] 184 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Bool(a == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:185:48 [INFO] [stdout] | [INFO] [stdout] 185 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Bool(a == Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:186:48 [INFO] [stdout] | [INFO] [stdout] 186 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Bool(Number::Int(a as i64) == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:187:41 [INFO] [stdout] | [INFO] [stdout] 187 | (Value::Nul, Value::Nul) => self.push(Value::Bool(true)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:188:18 [INFO] [stdout] | [INFO] [stdout] 188 | _ => self.push(Value::Bool(false)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:65:51 [INFO] [stdout] | [INFO] [stdout] 65 | (Value::Num(a), Value::Num(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:66:53 [INFO] [stdout] | [INFO] [stdout] 66 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:67:52 [INFO] [stdout] | [INFO] [stdout] 67 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Bool(a $oper Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:68:52 [INFO] [stdout] | [INFO] [stdout] 68 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Bool(Number::Int(a as i64) $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:69:43 [INFO] [stdout] | [INFO] [stdout] 69 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:70:43 [INFO] [stdout] | [INFO] [stdout] 70 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:71:29 [INFO] [stdout] | [INFO] [stdout] 71 | _ => return self.runtime_error("Unexpected operand type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:65:51 [INFO] [stdout] | [INFO] [stdout] 65 | (Value::Num(a), Value::Num(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:66:53 [INFO] [stdout] | [INFO] [stdout] 66 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:67:52 [INFO] [stdout] | [INFO] [stdout] 67 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Bool(a $oper Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:68:52 [INFO] [stdout] | [INFO] [stdout] 68 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Bool(Number::Int(a as i64) $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:69:43 [INFO] [stdout] | [INFO] [stdout] 69 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:70:43 [INFO] [stdout] | [INFO] [stdout] 70 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:71:29 [INFO] [stdout] | [INFO] [stdout] 71 | _ => return self.runtime_error("Unexpected operand type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:216:20 [INFO] [stdout] | [INFO] [stdout] 216 | let byte = *self.ip; [INFO] [stdout] | ^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:215:5 [INFO] [stdout] | [INFO] [stdout] 215 | unsafe fn read_byte(&mut self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:217:19 [INFO] [stdout] | [INFO] [stdout] 217 | self.ip = self.ip.add(1); [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::read_byte` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:221:22 [INFO] [stdout] | [INFO] [stdout] 221 | let bytes = (self.read_byte() as u16) << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | unsafe fn read_bytes(&mut self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::read_byte` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:222:17 [INFO] [stdout] | [INFO] [stdout] 222 | bytes | self.read_byte() as u16 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:479:9 [INFO] [stdout] | [INFO] [stdout] 479 | *self.stack_top = value; [INFO] [stdout] | ^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:478:5 [INFO] [stdout] | [INFO] [stdout] 478 | unsafe fn push(&mut self, value: Value) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:480:26 [INFO] [stdout] | [INFO] [stdout] 480 | self.stack_top = self.stack_top.add(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:483:26 [INFO] [stdout] | [INFO] [stdout] 483 | self.stack_top = self.stack_top.sub(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:482:5 [INFO] [stdout] | [INFO] [stdout] 482 | unsafe fn pop(&mut self) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:484:9 [INFO] [stdout] | [INFO] [stdout] 484 | (*self.stack_top).clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:487:9 [INFO] [stdout] | [INFO] [stdout] 487 | (*self.stack_top.sub(1 + distance)).clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:486:5 [INFO] [stdout] | [INFO] [stdout] 486 | unsafe fn peek(&mut self, distance: usize) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:487:11 [INFO] [stdout] | [INFO] [stdout] 487 | (*self.stack_top.sub(1 + distance)).clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:505:46 [INFO] [stdout] | [INFO] [stdout] 505 | let locals_to_capture = &mut (*self.call_stack_ptr.sub(1)).locals_to_capture; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:489:5 [INFO] [stdout] | [INFO] [stdout] 489 | unsafe fn capture_upvalue(&mut self, local: usize) -> UpValueLocation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:505:48 [INFO] [stdout] | [INFO] [stdout] 505 | let locals_to_capture = &mut (*self.call_stack_ptr.sub(1)).locals_to_capture; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::offset_from` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:514:93 [INFO] [stdout] | [INFO] [stdout] 514 | ...script.", msg, self.chunk.line((self.ip.offset_from(self.chunk.code.as_ptr()) - 1) as usize)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:512:5 [INFO] [stdout] | [INFO] [stdout] 512 | pub unsafe fn runtime_error(&mut self, msg: &str) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::offset_from` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:519:93 [INFO] [stdout] | [INFO] [stdout] 519 | ...script.", msg, self.chunk.line((self.ip.offset_from(self.chunk.code.as_ptr()) - 1) as usize)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:517:5 [INFO] [stdout] | [INFO] [stdout] 517 | pub unsafe fn runtime_value_error(&mut self, msg: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | env::set_var("RUST_BACKTRACE", "1"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 17 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 18 ~ unsafe { env::set_var("RUST_BACKTRACE", "1") }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm.rs:311:28 [INFO] [stdout] | [INFO] [stdout] 311 | if let Some(value) = &self.globals[index] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm.rs:313:25 [INFO] [stdout] | [INFO] [stdout] 313 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 311 ~ match &self.globals[index] { Some(value) => { [INFO] [stdout] 312 | self.push(value.clone()); [INFO] [stdout] 313 ~ } _ => { [INFO] [stdout] 314 | self.runtime_error("Undefined variable.")? // TODO: show variable name in message. [INFO] [stdout] 315 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm.rs:319:28 [INFO] [stdout] | [INFO] [stdout] 319 | if let Some(value) = &self.globals[index] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm.rs:321:25 [INFO] [stdout] | [INFO] [stdout] 321 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 319 ~ match &self.globals[index] { Some(value) => { [INFO] [stdout] 320 | self.push(value.clone()); [INFO] [stdout] 321 ~ } _ => { [INFO] [stdout] 322 | self.runtime_error("Undefined variable.")? // TODO: show variable name in message. [INFO] [stdout] 323 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm.rs:332:28 [INFO] [stdout] | [INFO] [stdout] 332 | if let Value::Closure(c) = self.stack[(*self.call_stack_ptr.sub(1)).stack_offset - 1].clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm.rs:334:25 [INFO] [stdout] | [INFO] [stdout] 334 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 332 ~ match self.stack[(*self.call_stack_ptr.sub(1)).stack_offset - 1].clone() { Value::Closure(c) => { [INFO] [stdout] 333 | self.set_upvalue_value(c.upvalues[slot], value); [INFO] [stdout] 334 ~ } _ => { [INFO] [stdout] 335 | panic!("This error should only occur if Tokers has made anything wrong!"); [INFO] [stdout] 336 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm.rs:341:28 [INFO] [stdout] | [INFO] [stdout] 341 | if let Value::Closure(c) = self.stack[(*self.call_stack_ptr.sub(1)).stack_offset - 1].clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm.rs:343:25 [INFO] [stdout] | [INFO] [stdout] 343 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 341 ~ match self.stack[(*self.call_stack_ptr.sub(1)).stack_offset - 1].clone() { Value::Closure(c) => { [INFO] [stdout] 342 | self.push(self.get_upvalue_value(c.upvalues[slot])); [INFO] [stdout] 343 ~ } _ => { [INFO] [stdout] 344 | panic!("This error should only occur if Tokers has made anything wrong!"); [INFO] [stdout] 345 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm.rs:349:28 [INFO] [stdout] | [INFO] [stdout] 349 | ... if let Value::Fn(f) = self.chunk.constants[self.read_bytes() as usize].clone() { // TODO: change so no runtime che... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm.rs:371:25 [INFO] [stdout] | [INFO] [stdout] 371 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 349 ~ match self.chunk.constants[self.read_bytes() as usize].clone() { Value::Fn(f) => { // TODO: change so no runtime check is used. [INFO] [stdout] 350 | let upvalue_count = self.read_byte() as usize; [INFO] [stdout] ... [INFO] [stdout] 370 | self.push(Value::Closure(Box::new(closure))); [INFO] [stdout] 371 ~ } _ => { [INFO] [stdout] 372 | self.runtime_error("This error should never happen, unless my code is wrong!")?; [INFO] [stdout] 373 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/vm.rs:361:44 [INFO] [stdout] | [INFO] [stdout] 361 | ... if let Value::Closure(c) = self.stack[(*self.call_stack_ptr.sub(1)).stack_offset - 1].clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/vm.rs:363:41 [INFO] [stdout] | [INFO] [stdout] 363 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 361 ~ match self.stack[(*self.call_stack_ptr.sub(1)).stack_offset - 1].clone() { Value::Closure(c) => { [INFO] [stdout] 362 | c.upvalues[index] [INFO] [stdout] 363 ~ } _ => { [INFO] [stdout] 364 | panic!("This error should only occur if Tokers has made anything wrong!"); [INFO] [stdout] 365 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 142 | if let Some(local) = self.scopes[scope_len - i].indexes.get_mut(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------------------------------^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 142 ~ match self.scopes[scope_len - i].indexes.get_mut(name) { Some(local) => { [INFO] [stdout] 143 | return Some(local); [INFO] [stdout] 144 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler.rs:151:16 [INFO] [stdout] | [INFO] [stdout] 151 | if let Some(index) = check_scope.indexes.get(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 151 ~ match check_scope.indexes.get(name) { Some(index) => { [INFO] [stdout] 152 | return Some(index); [INFO] [stdout] 153 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/compiler.rs:983:16 [INFO] [stdout] | [INFO] [stdout] 983 | if let Some(i) = self.locals.get_local(lexeme) { [INFO] [stdout] | ^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 988 | else if let Some(i) = self.locals.resolve_upvalue(lexeme)? { [INFO] [stdout] | ----------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler.rs:987:13 [INFO] [stdout] | [INFO] [stdout] 987 | } [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/compiler.rs:992:13 [INFO] [stdout] | [INFO] [stdout] 992 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 983 ~ match self.locals.get_local(lexeme) { Some(i) => { [INFO] [stdout] 984 | index = Some(i.index); [INFO] [stdout] 985 | set_op = OpCode::SET_LOCAL; [INFO] [stdout] 986 | get_op = OpCode::GET_LOCAL; [INFO] [stdout] 987 ~ } _ => { match self.locals.resolve_upvalue(lexeme)? { Some(i) => { [INFO] [stdout] 988 | index = Some(i); [INFO] [stdout] 989 | set_op = OpCode::SET_UPVALUE; [INFO] [stdout] 990 | get_op = OpCode::GET_UPVALUE; [INFO] [stdout] 991 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 129 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.40s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking zepto v0.1.0 (/tmp/fixit) [INFO] [stdout] warning: unused import: `UpValueLocation` [INFO] [stdout] --> src/compiler.rs:2:73 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{chunk::{Chunk, OpCode}, errors::VMError, object::{Function, UpValueLocation}, scanner::{Scanner, Token, TokenKind}, value::{N... [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UpValueLocation` [INFO] [stdout] --> src/compiler.rs:2:73 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{chunk::{Chunk, OpCode}, errors::VMError, object::{Function, UpValueLocation}, scanner::{Scanner, Token, TokenKind}, value::{N... [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | pub unsafe fn add(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:108:47 [INFO] [stdout] | [INFO] [stdout] 108 | (Value::Str(a), Value::Str(b)) => self.push(Value::Str(Box::new(*a + b.as_str()))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:109:47 [INFO] [stdout] | [INFO] [stdout] 109 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a + b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:110:49 [INFO] [stdout] | [INFO] [stdout] 110 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) + Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:111:48 [INFO] [stdout] | [INFO] [stdout] 111 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a + Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:112:48 [INFO] [stdout] | [INFO] [stdout] 112 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) + b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:113:39 [INFO] [stdout] | [INFO] [stdout] 113 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:114:39 [INFO] [stdout] | [INFO] [stdout] 114 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:115:25 [INFO] [stdout] | [INFO] [stdout] 115 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:120:17 [INFO] [stdout] | [INFO] [stdout] 120 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub unsafe fn sub(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:123:47 [INFO] [stdout] | [INFO] [stdout] 123 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a - b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:124:49 [INFO] [stdout] | [INFO] [stdout] 124 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) - Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:125:48 [INFO] [stdout] | [INFO] [stdout] 125 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a - Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:126:48 [INFO] [stdout] | [INFO] [stdout] 126 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) - b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:127:39 [INFO] [stdout] | [INFO] [stdout] 127 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:128:39 [INFO] [stdout] | [INFO] [stdout] 128 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:129:25 [INFO] [stdout] | [INFO] [stdout] 129 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | pub unsafe fn mul(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:137:60 [INFO] [stdout] | [INFO] [stdout] 137 | (Value::Str(a), Value::Num(Number::Int(b))) => self.push(Value::Str(Box::new(a.repeat(b as usize)))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:138:60 [INFO] [stdout] | [INFO] [stdout] 138 | (Value::Num(Number::Int(a)), Value::Str(b)) => self.push(Value::Str(Box::new(b.repeat(a as usize)))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:139:47 [INFO] [stdout] | [INFO] [stdout] 139 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a * b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:140:49 [INFO] [stdout] | [INFO] [stdout] 140 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) * Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:141:48 [INFO] [stdout] | [INFO] [stdout] 141 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a * Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:142:48 [INFO] [stdout] | [INFO] [stdout] 142 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) * b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:143:39 [INFO] [stdout] | [INFO] [stdout] 143 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:144:39 [INFO] [stdout] | [INFO] [stdout] 144 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:145:25 [INFO] [stdout] | [INFO] [stdout] 145 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | pub unsafe fn add(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:108:47 [INFO] [stdout] | [INFO] [stdout] 108 | (Value::Str(a), Value::Str(b)) => self.push(Value::Str(Box::new(*a + b.as_str()))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | pub unsafe fn div(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:109:47 [INFO] [stdout] | [INFO] [stdout] 109 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a + b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:110:49 [INFO] [stdout] | [INFO] [stdout] 110 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) + Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:111:48 [INFO] [stdout] | [INFO] [stdout] 111 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a + Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:112:48 [INFO] [stdout] | [INFO] [stdout] 112 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) + b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:113:39 [INFO] [stdout] | [INFO] [stdout] 113 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:153:47 [INFO] [stdout] | [INFO] [stdout] 153 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a / b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:114:39 [INFO] [stdout] | [INFO] [stdout] 114 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:154:49 [INFO] [stdout] | [INFO] [stdout] 154 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) / Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:115:25 [INFO] [stdout] | [INFO] [stdout] 115 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:155:48 [INFO] [stdout] | [INFO] [stdout] 155 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a / Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:156:48 [INFO] [stdout] | [INFO] [stdout] 156 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) / b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:157:39 [INFO] [stdout] | [INFO] [stdout] 157 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:158:39 [INFO] [stdout] | [INFO] [stdout] 158 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:159:25 [INFO] [stdout] | [INFO] [stdout] 159 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:120:17 [INFO] [stdout] | [INFO] [stdout] 120 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub unsafe fn sub(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:123:47 [INFO] [stdout] | [INFO] [stdout] 123 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a - b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:124:49 [INFO] [stdout] | [INFO] [stdout] 124 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) - Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:125:48 [INFO] [stdout] | [INFO] [stdout] 125 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a - Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:126:48 [INFO] [stdout] | [INFO] [stdout] 126 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) - b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:127:39 [INFO] [stdout] | [INFO] [stdout] 127 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:128:39 [INFO] [stdout] | [INFO] [stdout] 128 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:129:25 [INFO] [stdout] | [INFO] [stdout] 129 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | pub unsafe fn mul(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:137:60 [INFO] [stdout] | [INFO] [stdout] 137 | (Value::Str(a), Value::Num(Number::Int(b))) => self.push(Value::Str(Box::new(a.repeat(b as usize)))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:138:60 [INFO] [stdout] | [INFO] [stdout] 138 | (Value::Num(Number::Int(a)), Value::Str(b)) => self.push(Value::Str(Box::new(b.repeat(a as usize)))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:139:47 [INFO] [stdout] | [INFO] [stdout] 139 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a * b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:140:49 [INFO] [stdout] | [INFO] [stdout] 140 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) * Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:141:48 [INFO] [stdout] | [INFO] [stdout] 141 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a * Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:142:48 [INFO] [stdout] | [INFO] [stdout] 142 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) * b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:143:39 [INFO] [stdout] | [INFO] [stdout] 143 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:144:39 [INFO] [stdout] | [INFO] [stdout] 144 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:145:25 [INFO] [stdout] | [INFO] [stdout] 145 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | pub unsafe fn div(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:153:47 [INFO] [stdout] | [INFO] [stdout] 153 | (Value::Num(a), Value::Num(b)) => self.push(Value::Num(a / b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:154:49 [INFO] [stdout] | [INFO] [stdout] 154 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Num(Number::Int(a as i64) / Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:155:48 [INFO] [stdout] | [INFO] [stdout] 155 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Num(a / Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:156:48 [INFO] [stdout] | [INFO] [stdout] 156 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Num(Number::Int(a as i64) / b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:157:39 [INFO] [stdout] | [INFO] [stdout] 157 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:158:39 [INFO] [stdout] | [INFO] [stdout] 158 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:159:25 [INFO] [stdout] | [INFO] [stdout] 159 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 164 | build_int_op!(rem, %); [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:170:15 [INFO] [stdout] | [INFO] [stdout] 170 | match self.pop() { [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | pub unsafe fn neg(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:171:30 [INFO] [stdout] | [INFO] [stdout] 171 | Value::Num(a) => self.push(Value::Num(-a)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:172:31 [INFO] [stdout] | [INFO] [stdout] 172 | Value::Bool(a) => self.push(Value::Num(Number::Int(-(a as i64)))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:173:34 [INFO] [stdout] | [INFO] [stdout] 173 | Value::Nul => return self.runtime_error("Operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:174:25 [INFO] [stdout] | [INFO] [stdout] 174 | _ => return self.runtime_error("Unexpected operand type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | pub unsafe fn equal(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:182:47 [INFO] [stdout] | [INFO] [stdout] 182 | (Value::Str(a), Value::Str(b)) => self.push(Value::Bool(a == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:183:47 [INFO] [stdout] | [INFO] [stdout] 183 | (Value::Num(a), Value::Num(b)) => self.push(Value::Bool(a == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:184:49 [INFO] [stdout] | [INFO] [stdout] 184 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Bool(a == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:185:48 [INFO] [stdout] | [INFO] [stdout] 185 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Bool(a == Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 165 | build_int_op!(bitor, |); [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:186:48 [INFO] [stdout] | [INFO] [stdout] 186 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Bool(Number::Int(a as i64) == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:187:41 [INFO] [stdout] | [INFO] [stdout] 187 | (Value::Nul, Value::Nul) => self.push(Value::Bool(true)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:188:18 [INFO] [stdout] | [INFO] [stdout] 188 | _ => self.push(Value::Bool(false)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:65:51 [INFO] [stdout] | [INFO] [stdout] 65 | (Value::Num(a), Value::Num(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:66:53 [INFO] [stdout] | [INFO] [stdout] 66 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:67:52 [INFO] [stdout] | [INFO] [stdout] 67 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Bool(a $oper Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 166 | build_int_op!(bitxor, ^); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:68:52 [INFO] [stdout] | [INFO] [stdout] 68 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Bool(Number::Int(a as i64) $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:69:43 [INFO] [stdout] | [INFO] [stdout] 69 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:70:43 [INFO] [stdout] | [INFO] [stdout] 70 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:81:21 [INFO] [stdout] | [INFO] [stdout] 81 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:71:29 [INFO] [stdout] | [INFO] [stdout] 71 | _ => return self.runtime_error("Unexpected operand type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:82:21 [INFO] [stdout] | [INFO] [stdout] 82 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:89:43 [INFO] [stdout] | [INFO] [stdout] 89 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:90:29 [INFO] [stdout] | [INFO] [stdout] 90 | _ => return self.runtime_error("Unexpected operand types."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | self.push(Value::Num(n)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | self.runtime_error("Calculation of remainder failed.") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 167 | build_int_op!(bitand, &); [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_int_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:65:51 [INFO] [stdout] | [INFO] [stdout] 65 | (Value::Num(a), Value::Num(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:170:15 [INFO] [stdout] | [INFO] [stdout] 170 | match self.pop() { [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | pub unsafe fn neg(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:66:53 [INFO] [stdout] | [INFO] [stdout] 66 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:171:30 [INFO] [stdout] | [INFO] [stdout] 171 | Value::Num(a) => self.push(Value::Num(-a)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:172:31 [INFO] [stdout] | [INFO] [stdout] 172 | Value::Bool(a) => self.push(Value::Num(Number::Int(-(a as i64)))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:67:52 [INFO] [stdout] | [INFO] [stdout] 67 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Bool(a $oper Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:173:34 [INFO] [stdout] | [INFO] [stdout] 173 | Value::Nul => return self.runtime_error("Operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:68:52 [INFO] [stdout] | [INFO] [stdout] 68 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Bool(Number::Int(a as i64) $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:174:25 [INFO] [stdout] | [INFO] [stdout] 174 | _ => return self.runtime_error("Unexpected operand type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:69:43 [INFO] [stdout] | [INFO] [stdout] 69 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:70:43 [INFO] [stdout] | [INFO] [stdout] 70 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:71:29 [INFO] [stdout] | [INFO] [stdout] 71 | _ => return self.runtime_error("Unexpected operand type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | pub unsafe fn equal(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:182:47 [INFO] [stdout] | [INFO] [stdout] 182 | (Value::Str(a), Value::Str(b)) => self.push(Value::Bool(a == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:183:47 [INFO] [stdout] | [INFO] [stdout] 183 | (Value::Num(a), Value::Num(b)) => self.push(Value::Bool(a == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:216:20 [INFO] [stdout] | [INFO] [stdout] 216 | let byte = *self.ip; [INFO] [stdout] | ^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:215:5 [INFO] [stdout] | [INFO] [stdout] 215 | unsafe fn read_byte(&mut self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:184:49 [INFO] [stdout] | [INFO] [stdout] 184 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Bool(a == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:185:48 [INFO] [stdout] | [INFO] [stdout] 185 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Bool(a == Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:186:48 [INFO] [stdout] | [INFO] [stdout] 186 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Bool(Number::Int(a as i64) == b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:187:41 [INFO] [stdout] | [INFO] [stdout] 187 | (Value::Nul, Value::Nul) => self.push(Value::Bool(true)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:188:18 [INFO] [stdout] | [INFO] [stdout] 188 | _ => self.push(Value::Bool(false)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:65:51 [INFO] [stdout] | [INFO] [stdout] 65 | (Value::Num(a), Value::Num(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:66:53 [INFO] [stdout] | [INFO] [stdout] 66 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:67:52 [INFO] [stdout] | [INFO] [stdout] 67 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Bool(a $oper Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:68:52 [INFO] [stdout] | [INFO] [stdout] 68 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Bool(Number::Int(a as i64) $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:69:43 [INFO] [stdout] | [INFO] [stdout] 69 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:70:43 [INFO] [stdout] | [INFO] [stdout] 70 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:71:29 [INFO] [stdout] | [INFO] [stdout] 71 | _ => return self.runtime_error("Unexpected operand type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 192 | build_comparison_op!(less, <); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let b = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub unsafe fn $name(&mut self) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::pop` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | let a = self.pop(); [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:65:51 [INFO] [stdout] | [INFO] [stdout] 65 | (Value::Num(a), Value::Num(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:66:53 [INFO] [stdout] | [INFO] [stdout] 66 | (Value::Bool(a), Value::Bool(b)) => self.push(Value::Bool(a $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:67:52 [INFO] [stdout] | [INFO] [stdout] 67 | (Value::Num(a), Value::Bool(b)) => self.push(Value::Bool(a $oper Number::Int(b as i64))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::push` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:68:52 [INFO] [stdout] | [INFO] [stdout] 68 | (Value::Bool(a), Value::Num(b)) => self.push(Value::Bool(Number::Int(a as i64) $oper b)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:69:43 [INFO] [stdout] | [INFO] [stdout] 69 | (Value::Nul, _) => return self.runtime_error("Left operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:70:43 [INFO] [stdout] | [INFO] [stdout] 70 | (_, Value::Nul) => return self.runtime_error("Right operand was nul."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::runtime_error` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:71:29 [INFO] [stdout] | [INFO] [stdout] 71 | _ => return self.runtime_error("Unexpected operand type."), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] ... [INFO] [stdout] 193 | build_comparison_op!(greater, >); [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] = note: this warning originates in the macro `build_comparison_op` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:216:20 [INFO] [stdout] | [INFO] [stdout] 216 | let byte = *self.ip; [INFO] [stdout] | ^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:215:5 [INFO] [stdout] | [INFO] [stdout] 215 | unsafe fn read_byte(&mut self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:217:19 [INFO] [stdout] | [INFO] [stdout] 217 | self.ip = self.ip.add(1); [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::read_byte` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:221:22 [INFO] [stdout] | [INFO] [stdout] 221 | let bytes = (self.read_byte() as u16) << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | unsafe fn read_bytes(&mut self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::read_byte` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:222:17 [INFO] [stdout] | [INFO] [stdout] 222 | bytes | self.read_byte() as u16 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:217:19 [INFO] [stdout] | [INFO] [stdout] 217 | self.ip = self.ip.add(1); [INFO] [stdout] | ^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::read_byte` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:221:22 [INFO] [stdout] | [INFO] [stdout] 221 | let bytes = (self.read_byte() as u16) << 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | unsafe fn read_bytes(&mut self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `vm::VM::<'a>::read_byte` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:222:17 [INFO] [stdout] | [INFO] [stdout] 222 | bytes | self.read_byte() as u16 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:479:9 [INFO] [stdout] | [INFO] [stdout] 479 | *self.stack_top = value; [INFO] [stdout] | ^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:478:5 [INFO] [stdout] | [INFO] [stdout] 478 | unsafe fn push(&mut self, value: Value) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:480:26 [INFO] [stdout] | [INFO] [stdout] 480 | self.stack_top = self.stack_top.add(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:483:26 [INFO] [stdout] | [INFO] [stdout] 483 | self.stack_top = self.stack_top.sub(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:482:5 [INFO] [stdout] | [INFO] [stdout] 482 | unsafe fn pop(&mut self) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:484:9 [INFO] [stdout] | [INFO] [stdout] 484 | (*self.stack_top).clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:487:9 [INFO] [stdout] | [INFO] [stdout] 487 | (*self.stack_top.sub(1 + distance)).clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:486:5 [INFO] [stdout] | [INFO] [stdout] 486 | unsafe fn peek(&mut self, distance: usize) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:487:11 [INFO] [stdout] | [INFO] [stdout] 487 | (*self.stack_top.sub(1 + distance)).clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:505:46 [INFO] [stdout] | [INFO] [stdout] 505 | let locals_to_capture = &mut (*self.call_stack_ptr.sub(1)).locals_to_capture; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:489:5 [INFO] [stdout] | [INFO] [stdout] 489 | unsafe fn capture_upvalue(&mut self, local: usize) -> UpValueLocation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:505:48 [INFO] [stdout] | [INFO] [stdout] 505 | let locals_to_capture = &mut (*self.call_stack_ptr.sub(1)).locals_to_capture; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::offset_from` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:514:93 [INFO] [stdout] | [INFO] [stdout] 514 | ...script.", msg, self.chunk.line((self.ip.offset_from(self.chunk.code.as_ptr()) - 1) as usize)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:512:5 [INFO] [stdout] | [INFO] [stdout] 512 | pub unsafe fn runtime_error(&mut self, msg: &str) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::offset_from` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:519:93 [INFO] [stdout] | [INFO] [stdout] 519 | ...script.", msg, self.chunk.line((self.ip.offset_from(self.chunk.code.as_ptr()) - 1) as usize)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:517:5 [INFO] [stdout] | [INFO] [stdout] 517 | pub unsafe fn runtime_value_error(&mut self, msg: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:479:9 [INFO] [stdout] | [INFO] [stdout] 479 | *self.stack_top = value; [INFO] [stdout] | ^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:478:5 [INFO] [stdout] | [INFO] [stdout] 478 | unsafe fn push(&mut self, value: Value) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:480:26 [INFO] [stdout] | [INFO] [stdout] 480 | self.stack_top = self.stack_top.add(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:483:26 [INFO] [stdout] | [INFO] [stdout] 483 | self.stack_top = self.stack_top.sub(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:482:5 [INFO] [stdout] | [INFO] [stdout] 482 | unsafe fn pop(&mut self) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:484:9 [INFO] [stdout] | [INFO] [stdout] 484 | (*self.stack_top).clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:487:9 [INFO] [stdout] | [INFO] [stdout] 487 | (*self.stack_top.sub(1 + distance)).clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:486:5 [INFO] [stdout] | [INFO] [stdout] 486 | unsafe fn peek(&mut self, distance: usize) -> Value { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:487:11 [INFO] [stdout] | [INFO] [stdout] 487 | (*self.stack_top.sub(1 + distance)).clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:505:46 [INFO] [stdout] | [INFO] [stdout] 505 | let locals_to_capture = &mut (*self.call_stack_ptr.sub(1)).locals_to_capture; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/vm.rs:489:5 [INFO] [stdout] | [INFO] [stdout] 489 | unsafe fn capture_upvalue(&mut self, local: usize) -> UpValueLocation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::::sub` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:505:48 [INFO] [stdout] | [INFO] [stdout] 505 | let locals_to_capture = &mut (*self.call_stack_ptr.sub(1)).locals_to_capture; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::offset_from` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:514:93 [INFO] [stdout] | [INFO] [stdout] 514 | ...script.", msg, self.chunk.line((self.ip.offset_from(self.chunk.code.as_ptr()) - 1) as usize)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:512:5 [INFO] [stdout] | [INFO] [stdout] 512 | pub unsafe fn runtime_error(&mut self, msg: &str) -> Result<(), VMError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::::offset_from` is unsafe and requires unsafe block [INFO] [stdout] --> src/vm.rs:519:93 [INFO] [stdout] | [INFO] [stdout] 519 | ...script.", msg, self.chunk.line((self.ip.offset_from(self.chunk.code.as_ptr()) - 1) as usize)))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [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/vm.rs:517:5 [INFO] [stdout] | [INFO] [stdout] 517 | pub unsafe fn runtime_value_error(&mut self, msg: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | env::set_var("RUST_BACKTRACE", "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] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | env::set_var("RUST_BACKTRACE", "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] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 114 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 114 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `zepto` (bin "zepto" test) due to 2 previous errors; 114 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `zepto` (bin "zepto") due to 2 previous errors; 114 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "a1cd5eae29cb80e875337e0612fad2b1e71b1e1398f9ca1305592a7a6d0e8b7c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a1cd5eae29cb80e875337e0612fad2b1e71b1e1398f9ca1305592a7a6d0e8b7c", kill_on_drop: false }` [INFO] [stdout] a1cd5eae29cb80e875337e0612fad2b1e71b1e1398f9ca1305592a7a6d0e8b7c