[INFO] cloning repository https://github.com/CunningBard/bisaya-lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CunningBard/bisaya-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCunningBard%2Fbisaya-lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCunningBard%2Fbisaya-lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 113bb82f071e59ac39c110333856dccdcb48af3d
[INFO] checking CunningBard/bisaya-lang against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCunningBard%2Fbisaya-lang" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/CunningBard/bisaya-lang
[INFO] finished tweaking git repo https://github.com/CunningBard/bisaya-lang
[INFO] tweaked toml for git repo https://github.com/CunningBard/bisaya-lang written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/CunningBard/bisaya-lang on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/CunningBard/bisaya-lang 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pest_meta v2.5.6
[INFO] [stderr]   Downloaded proc-macro2 v1.0.53
[INFO] [stderr]   Downloaded pest_derive v2.5.6
[INFO] [stderr]   Downloaded pest_generator v2.5.6
[INFO] [stderr]   Downloaded pest v2.5.6
[INFO] [stderr]   Downloaded syn v2.0.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1a4f9ff81195c89a679d4e9068acfe59aa454a2f96d758e74cf6cd9b0dff067b
[INFO] running `Command { std: "docker" "start" "-a" "1a4f9ff81195c89a679d4e9068acfe59aa454a2f96d758e74cf6cd9b0dff067b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1a4f9ff81195c89a679d4e9068acfe59aa454a2f96d758e74cf6cd9b0dff067b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a4f9ff81195c89a679d4e9068acfe59aa454a2f96d758e74cf6cd9b0dff067b", kill_on_drop: false }`
[INFO] [stdout] 1a4f9ff81195c89a679d4e9068acfe59aa454a2f96d758e74cf6cd9b0dff067b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3abdbaa17a57e84479d845912c0d06a1d8b796fa6695d9294aa1c63c3a617f5c
[INFO] running `Command { std: "docker" "start" "-a" "3abdbaa17a57e84479d845912c0d06a1d8b796fa6695d9294aa1c63c3a617f5c", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.53
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling ucd-trie v0.1.5
[INFO] [stderr]    Compiling syn v2.0.9
[INFO] [stderr]    Compiling thiserror-impl v1.0.40
[INFO] [stderr]    Compiling thiserror v1.0.40
[INFO] [stderr]    Compiling pest v2.5.6
[INFO] [stderr]    Compiling pest_meta v2.5.6
[INFO] [stderr]    Compiling pest_generator v2.5.6
[INFO] [stderr]    Compiling pest_derive v2.5.6
[INFO] [stderr]     Checking bisaya_lang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/eval_parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoolValue`, `FloatValue`, `Instruction`, `IntValue`, `StringValue`, and `ValueType`
[INFO] [stdout]  --> src/eval_parser.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::virtual_machine::{BoolValue, FloatValue, Instruction, IntValue, StringValue, ValueType};
[INFO] [stdout]   |                              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:719:48
[INFO] [stdout]     |
[INFO] [stdout] 719 |                 ValueType::Bool(BoolValue::new((lhs_int.eq(rhs_int))))
[INFO] [stdout]     |                                                ^                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 719 -                 ValueType::Bool(BoolValue::new((lhs_int.eq(rhs_int))))
[INFO] [stdout] 719 +                 ValueType::Bool(BoolValue::new(lhs_int.eq(rhs_int) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:722:48
[INFO] [stdout]     |
[INFO] [stdout] 722 |                 ValueType::Bool(BoolValue::new((lhs_float.eq(rhs_float))))
[INFO] [stdout]     |                                                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 722 -                 ValueType::Bool(BoolValue::new((lhs_float.eq(rhs_float))))
[INFO] [stdout] 722 +                 ValueType::Bool(BoolValue::new(lhs_float.eq(rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:727:56
[INFO] [stdout]     |
[INFO] [stdout] 727 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 == rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 727 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 == rhs_float)))
[INFO] [stdout] 727 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f32 == rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:730:56
[INFO] [stdout]     |
[INFO] [stdout] 730 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 == rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 730 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 == rhs_float)))
[INFO] [stdout] 730 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f64 == rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:737:56
[INFO] [stdout]     |
[INFO] [stdout] 737 |                         ValueType::Bool(BoolValue::new((lhs_float == rhs_int.as_i64() as f32)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 737 -                         ValueType::Bool(BoolValue::new((lhs_float == rhs_int.as_i64() as f32)))
[INFO] [stdout] 737 +                         ValueType::Bool(BoolValue::new(lhs_float == rhs_int.as_i64() as f32 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:740:56
[INFO] [stdout]     |
[INFO] [stdout] 740 |                         ValueType::Bool(BoolValue::new((lhs_float == rhs_int.as_i64() as f64)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 740 -                         ValueType::Bool(BoolValue::new((lhs_float == rhs_int.as_i64() as f64)))
[INFO] [stdout] 740 +                         ValueType::Bool(BoolValue::new(lhs_float == rhs_int.as_i64() as f64 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:745:48
[INFO] [stdout]     |
[INFO] [stdout] 745 |                 ValueType::Bool(BoolValue::new((lhs_string.eq(rhs_string))))
[INFO] [stdout]     |                                                ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 745 -                 ValueType::Bool(BoolValue::new((lhs_string.eq(rhs_string))))
[INFO] [stdout] 745 +                 ValueType::Bool(BoolValue::new(lhs_string.eq(rhs_string) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:755:48
[INFO] [stdout]     |
[INFO] [stdout] 755 |                 ValueType::Bool(BoolValue::new((lhs_int.ne(rhs_int))))
[INFO] [stdout]     |                                                ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 755 -                 ValueType::Bool(BoolValue::new((lhs_int.ne(rhs_int))))
[INFO] [stdout] 755 +                 ValueType::Bool(BoolValue::new(lhs_int.ne(rhs_int) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:758:48
[INFO] [stdout]     |
[INFO] [stdout] 758 |                 ValueType::Bool(BoolValue::new((lhs_float.ne(rhs_float))))
[INFO] [stdout]     |                                                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 758 -                 ValueType::Bool(BoolValue::new((lhs_float.ne(rhs_float))))
[INFO] [stdout] 758 +                 ValueType::Bool(BoolValue::new(lhs_float.ne(rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:763:56
[INFO] [stdout]     |
[INFO] [stdout] 763 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 != rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 763 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 != rhs_float)))
[INFO] [stdout] 763 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f32 != rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:766:56
[INFO] [stdout]     |
[INFO] [stdout] 766 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 != rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 766 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 != rhs_float)))
[INFO] [stdout] 766 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f64 != rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:773:56
[INFO] [stdout]     |
[INFO] [stdout] 773 |                         ValueType::Bool(BoolValue::new((lhs_float != rhs_int.as_i64() as f32)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 773 -                         ValueType::Bool(BoolValue::new((lhs_float != rhs_int.as_i64() as f32)))
[INFO] [stdout] 773 +                         ValueType::Bool(BoolValue::new(lhs_float != rhs_int.as_i64() as f32 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:776:56
[INFO] [stdout]     |
[INFO] [stdout] 776 |                         ValueType::Bool(BoolValue::new((lhs_float != rhs_int.as_i64() as f64)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 776 -                         ValueType::Bool(BoolValue::new((lhs_float != rhs_int.as_i64() as f64)))
[INFO] [stdout] 776 +                         ValueType::Bool(BoolValue::new(lhs_float != rhs_int.as_i64() as f64 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:781:48
[INFO] [stdout]     |
[INFO] [stdout] 781 |                 ValueType::Bool(BoolValue::new((lhs_string.ne(rhs_string))))
[INFO] [stdout]     |                                                ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 781 -                 ValueType::Bool(BoolValue::new((lhs_string.ne(rhs_string))))
[INFO] [stdout] 781 +                 ValueType::Bool(BoolValue::new(lhs_string.ne(rhs_string) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:791:48
[INFO] [stdout]     |
[INFO] [stdout] 791 |                 ValueType::Bool(BoolValue::new((lhs_int.gt(rhs_int))))
[INFO] [stdout]     |                                                ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 791 -                 ValueType::Bool(BoolValue::new((lhs_int.gt(rhs_int))))
[INFO] [stdout] 791 +                 ValueType::Bool(BoolValue::new(lhs_int.gt(rhs_int) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:794:48
[INFO] [stdout]     |
[INFO] [stdout] 794 |                 ValueType::Bool(BoolValue::new((lhs_float.gt(rhs_float))))
[INFO] [stdout]     |                                                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 794 -                 ValueType::Bool(BoolValue::new((lhs_float.gt(rhs_float))))
[INFO] [stdout] 794 +                 ValueType::Bool(BoolValue::new(lhs_float.gt(rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:799:56
[INFO] [stdout]     |
[INFO] [stdout] 799 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 > rhs_float)))
[INFO] [stdout]     |                                                        ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 799 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 > rhs_float)))
[INFO] [stdout] 799 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f32 > rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:802:56
[INFO] [stdout]     |
[INFO] [stdout] 802 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 > rhs_float)))
[INFO] [stdout]     |                                                        ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 802 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 > rhs_float)))
[INFO] [stdout] 802 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f64 > rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:809:56
[INFO] [stdout]     |
[INFO] [stdout] 809 |                         ValueType::Bool(BoolValue::new((lhs_float > rhs_int.as_i64() as f32)))
[INFO] [stdout]     |                                                        ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 809 -                         ValueType::Bool(BoolValue::new((lhs_float > rhs_int.as_i64() as f32)))
[INFO] [stdout] 809 +                         ValueType::Bool(BoolValue::new(lhs_float > rhs_int.as_i64() as f32 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:812:56
[INFO] [stdout]     |
[INFO] [stdout] 812 |                         ValueType::Bool(BoolValue::new((lhs_float > rhs_int.as_i64() as f64)))
[INFO] [stdout]     |                                                        ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 812 -                         ValueType::Bool(BoolValue::new((lhs_float > rhs_int.as_i64() as f64)))
[INFO] [stdout] 812 +                         ValueType::Bool(BoolValue::new(lhs_float > rhs_int.as_i64() as f64 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:824:48
[INFO] [stdout]     |
[INFO] [stdout] 824 |                 ValueType::Bool(BoolValue::new((lhs_int.lt(rhs_int))))
[INFO] [stdout]     |                                                ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 824 -                 ValueType::Bool(BoolValue::new((lhs_int.lt(rhs_int))))
[INFO] [stdout] 824 +                 ValueType::Bool(BoolValue::new(lhs_int.lt(rhs_int) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:827:48
[INFO] [stdout]     |
[INFO] [stdout] 827 |                 ValueType::Bool(BoolValue::new((lhs_float.lt(rhs_float))))
[INFO] [stdout]     |                                                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 827 -                 ValueType::Bool(BoolValue::new((lhs_float.lt(rhs_float))))
[INFO] [stdout] 827 +                 ValueType::Bool(BoolValue::new(lhs_float.lt(rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:832:56
[INFO] [stdout]     |
[INFO] [stdout] 832 |                         ValueType::Bool(BoolValue::new(((lhs_int.as_i64() as f32).lt(&rhs_float))))
[INFO] [stdout]     |                                                        ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 832 -                         ValueType::Bool(BoolValue::new(((lhs_int.as_i64() as f32).lt(&rhs_float))))
[INFO] [stdout] 832 +                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32).lt(&rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:835:56
[INFO] [stdout]     |
[INFO] [stdout] 835 |                         ValueType::Bool(BoolValue::new(((lhs_int.as_i64() as f64).lt(&rhs_float))))
[INFO] [stdout]     |                                                        ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 835 -                         ValueType::Bool(BoolValue::new(((lhs_int.as_i64() as f64).lt(&rhs_float))))
[INFO] [stdout] 835 +                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64).lt(&rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:842:56
[INFO] [stdout]     |
[INFO] [stdout] 842 |                         ValueType::Bool(BoolValue::new((lhs_float < rhs_int.as_i64() as f32)))
[INFO] [stdout]     |                                                        ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 842 -                         ValueType::Bool(BoolValue::new((lhs_float < rhs_int.as_i64() as f32)))
[INFO] [stdout] 842 +                         ValueType::Bool(BoolValue::new(lhs_float < rhs_int.as_i64() as f32 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:845:56
[INFO] [stdout]     |
[INFO] [stdout] 845 |                         ValueType::Bool(BoolValue::new((lhs_float < rhs_int.as_i64() as f64)))
[INFO] [stdout]     |                                                        ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 845 -                         ValueType::Bool(BoolValue::new((lhs_float < rhs_int.as_i64() as f64)))
[INFO] [stdout] 845 +                         ValueType::Bool(BoolValue::new(lhs_float < rhs_int.as_i64() as f64 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:857:48
[INFO] [stdout]     |
[INFO] [stdout] 857 |                 ValueType::Bool(BoolValue::new((lhs_int.ge(rhs_int))))
[INFO] [stdout]     |                                                ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 857 -                 ValueType::Bool(BoolValue::new((lhs_int.ge(rhs_int))))
[INFO] [stdout] 857 +                 ValueType::Bool(BoolValue::new(lhs_int.ge(rhs_int) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:860:48
[INFO] [stdout]     |
[INFO] [stdout] 860 |                 ValueType::Bool(BoolValue::new((lhs_float.ge(rhs_float))))
[INFO] [stdout]     |                                                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 860 -                 ValueType::Bool(BoolValue::new((lhs_float.ge(rhs_float))))
[INFO] [stdout] 860 +                 ValueType::Bool(BoolValue::new(lhs_float.ge(rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:865:56
[INFO] [stdout]     |
[INFO] [stdout] 865 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 >= rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 865 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 >= rhs_float)))
[INFO] [stdout] 865 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f32 >= rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:868:56
[INFO] [stdout]     |
[INFO] [stdout] 868 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 >= rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 868 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 >= rhs_float)))
[INFO] [stdout] 868 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f64 >= rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:875:56
[INFO] [stdout]     |
[INFO] [stdout] 875 |                         ValueType::Bool(BoolValue::new((lhs_float >= rhs_int.as_i64() as f32)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 875 -                         ValueType::Bool(BoolValue::new((lhs_float >= rhs_int.as_i64() as f32)))
[INFO] [stdout] 875 +                         ValueType::Bool(BoolValue::new(lhs_float >= rhs_int.as_i64() as f32 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:878:56
[INFO] [stdout]     |
[INFO] [stdout] 878 |                         ValueType::Bool(BoolValue::new((lhs_float >= rhs_int.as_i64() as f64)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 878 -                         ValueType::Bool(BoolValue::new((lhs_float >= rhs_int.as_i64() as f64)))
[INFO] [stdout] 878 +                         ValueType::Bool(BoolValue::new(lhs_float >= rhs_int.as_i64() as f64 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:890:48
[INFO] [stdout]     |
[INFO] [stdout] 890 |                 ValueType::Bool(BoolValue::new((lhs_int.le(rhs_int))))
[INFO] [stdout]     |                                                ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 890 -                 ValueType::Bool(BoolValue::new((lhs_int.le(rhs_int))))
[INFO] [stdout] 890 +                 ValueType::Bool(BoolValue::new(lhs_int.le(rhs_int) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:893:48
[INFO] [stdout]     |
[INFO] [stdout] 893 |                 ValueType::Bool(BoolValue::new((lhs_float.le(rhs_float))))
[INFO] [stdout]     |                                                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 893 -                 ValueType::Bool(BoolValue::new((lhs_float.le(rhs_float))))
[INFO] [stdout] 893 +                 ValueType::Bool(BoolValue::new(lhs_float.le(rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:898:56
[INFO] [stdout]     |
[INFO] [stdout] 898 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 <= rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 898 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 <= rhs_float)))
[INFO] [stdout] 898 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f32 <= rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:901:56
[INFO] [stdout]     |
[INFO] [stdout] 901 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 <= rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 901 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 <= rhs_float)))
[INFO] [stdout] 901 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f64 <= rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:908:56
[INFO] [stdout]     |
[INFO] [stdout] 908 |                         ValueType::Bool(BoolValue::new((lhs_float <= rhs_int.as_i64() as f32)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 908 -                         ValueType::Bool(BoolValue::new((lhs_float <= rhs_int.as_i64() as f32)))
[INFO] [stdout] 908 +                         ValueType::Bool(BoolValue::new(lhs_float <= rhs_int.as_i64() as f32 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:911:56
[INFO] [stdout]     |
[INFO] [stdout] 911 |                         ValueType::Bool(BoolValue::new((lhs_float <= rhs_int.as_i64() as f64)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 911 -                         ValueType::Bool(BoolValue::new((lhs_float <= rhs_int.as_i64() as f64)))
[INFO] [stdout] 911 +                         ValueType::Bool(BoolValue::new(lhs_float <= rhs_int.as_i64() as f64 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Object` and `Value`
[INFO] [stdout]  --> src/instruction_compiler.rs:4:89
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::virtual_machine::{BoolValue, FloatValue, Instruction, IntValue, StringValue, Object, ObjectCreator, Value, ValueType};
[INFO] [stdout]   |                                                                                         ^^^^^^                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pest::Parser`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use pest::Parser;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BareParser`, `Rule`, and `Statement`
[INFO] [stdout]   --> src/main.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::parser::{Rule, BareParser, parse_file_data, Statement};
[INFO] [stdout]    |                     ^^^^  ^^^^^^^^^^                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExprAst` and `parse_expressions`
[INFO] [stdout]   --> src/main.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::eval_parser::{ExprAst, parse_expressions};
[INFO] [stdout]    |                          ^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::node_runner::NodeRunner`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::node_runner::NodeRunner;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Instruction`, `IntValue`, `ObjectCreator`, `ValueType`, and `Value`
[INFO] [stdout]   --> src/main.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::virtual_machine::{Instruction, IntValue, ObjectCreator, Value, ValueType, VirtualMachine};
[INFO] [stdout]    |                              ^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/eval_parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BoolValue`, `FloatValue`, `Instruction`, `IntValue`, `StringValue`, and `ValueType`
[INFO] [stdout]  --> src/eval_parser.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::virtual_machine::{BoolValue, FloatValue, Instruction, IntValue, StringValue, ValueType};
[INFO] [stdout]   |                              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:719:48
[INFO] [stdout]     |
[INFO] [stdout] 719 |                 ValueType::Bool(BoolValue::new((lhs_int.eq(rhs_int))))
[INFO] [stdout]     |                                                ^                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 719 -                 ValueType::Bool(BoolValue::new((lhs_int.eq(rhs_int))))
[INFO] [stdout] 719 +                 ValueType::Bool(BoolValue::new(lhs_int.eq(rhs_int) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:722:48
[INFO] [stdout]     |
[INFO] [stdout] 722 |                 ValueType::Bool(BoolValue::new((lhs_float.eq(rhs_float))))
[INFO] [stdout]     |                                                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 722 -                 ValueType::Bool(BoolValue::new((lhs_float.eq(rhs_float))))
[INFO] [stdout] 722 +                 ValueType::Bool(BoolValue::new(lhs_float.eq(rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:727:56
[INFO] [stdout]     |
[INFO] [stdout] 727 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 == rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 727 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 == rhs_float)))
[INFO] [stdout] 727 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f32 == rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:730:56
[INFO] [stdout]     |
[INFO] [stdout] 730 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 == rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 730 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 == rhs_float)))
[INFO] [stdout] 730 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f64 == rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:737:56
[INFO] [stdout]     |
[INFO] [stdout] 737 |                         ValueType::Bool(BoolValue::new((lhs_float == rhs_int.as_i64() as f32)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 737 -                         ValueType::Bool(BoolValue::new((lhs_float == rhs_int.as_i64() as f32)))
[INFO] [stdout] 737 +                         ValueType::Bool(BoolValue::new(lhs_float == rhs_int.as_i64() as f32 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:740:56
[INFO] [stdout]     |
[INFO] [stdout] 740 |                         ValueType::Bool(BoolValue::new((lhs_float == rhs_int.as_i64() as f64)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 740 -                         ValueType::Bool(BoolValue::new((lhs_float == rhs_int.as_i64() as f64)))
[INFO] [stdout] 740 +                         ValueType::Bool(BoolValue::new(lhs_float == rhs_int.as_i64() as f64 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:745:48
[INFO] [stdout]     |
[INFO] [stdout] 745 |                 ValueType::Bool(BoolValue::new((lhs_string.eq(rhs_string))))
[INFO] [stdout]     |                                                ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 745 -                 ValueType::Bool(BoolValue::new((lhs_string.eq(rhs_string))))
[INFO] [stdout] 745 +                 ValueType::Bool(BoolValue::new(lhs_string.eq(rhs_string) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:755:48
[INFO] [stdout]     |
[INFO] [stdout] 755 |                 ValueType::Bool(BoolValue::new((lhs_int.ne(rhs_int))))
[INFO] [stdout]     |                                                ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 755 -                 ValueType::Bool(BoolValue::new((lhs_int.ne(rhs_int))))
[INFO] [stdout] 755 +                 ValueType::Bool(BoolValue::new(lhs_int.ne(rhs_int) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:758:48
[INFO] [stdout]     |
[INFO] [stdout] 758 |                 ValueType::Bool(BoolValue::new((lhs_float.ne(rhs_float))))
[INFO] [stdout]     |                                                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 758 -                 ValueType::Bool(BoolValue::new((lhs_float.ne(rhs_float))))
[INFO] [stdout] 758 +                 ValueType::Bool(BoolValue::new(lhs_float.ne(rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:763:56
[INFO] [stdout]     |
[INFO] [stdout] 763 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 != rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 763 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 != rhs_float)))
[INFO] [stdout] 763 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f32 != rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:766:56
[INFO] [stdout]     |
[INFO] [stdout] 766 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 != rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 766 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 != rhs_float)))
[INFO] [stdout] 766 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f64 != rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:773:56
[INFO] [stdout]     |
[INFO] [stdout] 773 |                         ValueType::Bool(BoolValue::new((lhs_float != rhs_int.as_i64() as f32)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 773 -                         ValueType::Bool(BoolValue::new((lhs_float != rhs_int.as_i64() as f32)))
[INFO] [stdout] 773 +                         ValueType::Bool(BoolValue::new(lhs_float != rhs_int.as_i64() as f32 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:776:56
[INFO] [stdout]     |
[INFO] [stdout] 776 |                         ValueType::Bool(BoolValue::new((lhs_float != rhs_int.as_i64() as f64)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 776 -                         ValueType::Bool(BoolValue::new((lhs_float != rhs_int.as_i64() as f64)))
[INFO] [stdout] 776 +                         ValueType::Bool(BoolValue::new(lhs_float != rhs_int.as_i64() as f64 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:781:48
[INFO] [stdout]     |
[INFO] [stdout] 781 |                 ValueType::Bool(BoolValue::new((lhs_string.ne(rhs_string))))
[INFO] [stdout]     |                                                ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 781 -                 ValueType::Bool(BoolValue::new((lhs_string.ne(rhs_string))))
[INFO] [stdout] 781 +                 ValueType::Bool(BoolValue::new(lhs_string.ne(rhs_string) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:791:48
[INFO] [stdout]     |
[INFO] [stdout] 791 |                 ValueType::Bool(BoolValue::new((lhs_int.gt(rhs_int))))
[INFO] [stdout]     |                                                ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 791 -                 ValueType::Bool(BoolValue::new((lhs_int.gt(rhs_int))))
[INFO] [stdout] 791 +                 ValueType::Bool(BoolValue::new(lhs_int.gt(rhs_int) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:794:48
[INFO] [stdout]     |
[INFO] [stdout] 794 |                 ValueType::Bool(BoolValue::new((lhs_float.gt(rhs_float))))
[INFO] [stdout]     |                                                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 794 -                 ValueType::Bool(BoolValue::new((lhs_float.gt(rhs_float))))
[INFO] [stdout] 794 +                 ValueType::Bool(BoolValue::new(lhs_float.gt(rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:799:56
[INFO] [stdout]     |
[INFO] [stdout] 799 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 > rhs_float)))
[INFO] [stdout]     |                                                        ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 799 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 > rhs_float)))
[INFO] [stdout] 799 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f32 > rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:802:56
[INFO] [stdout]     |
[INFO] [stdout] 802 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 > rhs_float)))
[INFO] [stdout]     |                                                        ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 802 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 > rhs_float)))
[INFO] [stdout] 802 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f64 > rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:809:56
[INFO] [stdout]     |
[INFO] [stdout] 809 |                         ValueType::Bool(BoolValue::new((lhs_float > rhs_int.as_i64() as f32)))
[INFO] [stdout]     |                                                        ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 809 -                         ValueType::Bool(BoolValue::new((lhs_float > rhs_int.as_i64() as f32)))
[INFO] [stdout] 809 +                         ValueType::Bool(BoolValue::new(lhs_float > rhs_int.as_i64() as f32 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:812:56
[INFO] [stdout]     |
[INFO] [stdout] 812 |                         ValueType::Bool(BoolValue::new((lhs_float > rhs_int.as_i64() as f64)))
[INFO] [stdout]     |                                                        ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 812 -                         ValueType::Bool(BoolValue::new((lhs_float > rhs_int.as_i64() as f64)))
[INFO] [stdout] 812 +                         ValueType::Bool(BoolValue::new(lhs_float > rhs_int.as_i64() as f64 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:824:48
[INFO] [stdout]     |
[INFO] [stdout] 824 |                 ValueType::Bool(BoolValue::new((lhs_int.lt(rhs_int))))
[INFO] [stdout]     |                                                ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 824 -                 ValueType::Bool(BoolValue::new((lhs_int.lt(rhs_int))))
[INFO] [stdout] 824 +                 ValueType::Bool(BoolValue::new(lhs_int.lt(rhs_int) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:827:48
[INFO] [stdout]     |
[INFO] [stdout] 827 |                 ValueType::Bool(BoolValue::new((lhs_float.lt(rhs_float))))
[INFO] [stdout]     |                                                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 827 -                 ValueType::Bool(BoolValue::new((lhs_float.lt(rhs_float))))
[INFO] [stdout] 827 +                 ValueType::Bool(BoolValue::new(lhs_float.lt(rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:832:56
[INFO] [stdout]     |
[INFO] [stdout] 832 |                         ValueType::Bool(BoolValue::new(((lhs_int.as_i64() as f32).lt(&rhs_float))))
[INFO] [stdout]     |                                                        ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 832 -                         ValueType::Bool(BoolValue::new(((lhs_int.as_i64() as f32).lt(&rhs_float))))
[INFO] [stdout] 832 +                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32).lt(&rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:835:56
[INFO] [stdout]     |
[INFO] [stdout] 835 |                         ValueType::Bool(BoolValue::new(((lhs_int.as_i64() as f64).lt(&rhs_float))))
[INFO] [stdout]     |                                                        ^                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 835 -                         ValueType::Bool(BoolValue::new(((lhs_int.as_i64() as f64).lt(&rhs_float))))
[INFO] [stdout] 835 +                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64).lt(&rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:842:56
[INFO] [stdout]     |
[INFO] [stdout] 842 |                         ValueType::Bool(BoolValue::new((lhs_float < rhs_int.as_i64() as f32)))
[INFO] [stdout]     |                                                        ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 842 -                         ValueType::Bool(BoolValue::new((lhs_float < rhs_int.as_i64() as f32)))
[INFO] [stdout] 842 +                         ValueType::Bool(BoolValue::new(lhs_float < rhs_int.as_i64() as f32 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:845:56
[INFO] [stdout]     |
[INFO] [stdout] 845 |                         ValueType::Bool(BoolValue::new((lhs_float < rhs_int.as_i64() as f64)))
[INFO] [stdout]     |                                                        ^                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 845 -                         ValueType::Bool(BoolValue::new((lhs_float < rhs_int.as_i64() as f64)))
[INFO] [stdout] 845 +                         ValueType::Bool(BoolValue::new(lhs_float < rhs_int.as_i64() as f64 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:857:48
[INFO] [stdout]     |
[INFO] [stdout] 857 |                 ValueType::Bool(BoolValue::new((lhs_int.ge(rhs_int))))
[INFO] [stdout]     |                                                ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 857 -                 ValueType::Bool(BoolValue::new((lhs_int.ge(rhs_int))))
[INFO] [stdout] 857 +                 ValueType::Bool(BoolValue::new(lhs_int.ge(rhs_int) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:860:48
[INFO] [stdout]     |
[INFO] [stdout] 860 |                 ValueType::Bool(BoolValue::new((lhs_float.ge(rhs_float))))
[INFO] [stdout]     |                                                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 860 -                 ValueType::Bool(BoolValue::new((lhs_float.ge(rhs_float))))
[INFO] [stdout] 860 +                 ValueType::Bool(BoolValue::new(lhs_float.ge(rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:865:56
[INFO] [stdout]     |
[INFO] [stdout] 865 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 >= rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 865 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 >= rhs_float)))
[INFO] [stdout] 865 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f32 >= rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:868:56
[INFO] [stdout]     |
[INFO] [stdout] 868 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 >= rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 868 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 >= rhs_float)))
[INFO] [stdout] 868 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f64 >= rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:875:56
[INFO] [stdout]     |
[INFO] [stdout] 875 |                         ValueType::Bool(BoolValue::new((lhs_float >= rhs_int.as_i64() as f32)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 875 -                         ValueType::Bool(BoolValue::new((lhs_float >= rhs_int.as_i64() as f32)))
[INFO] [stdout] 875 +                         ValueType::Bool(BoolValue::new(lhs_float >= rhs_int.as_i64() as f32 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:878:56
[INFO] [stdout]     |
[INFO] [stdout] 878 |                         ValueType::Bool(BoolValue::new((lhs_float >= rhs_int.as_i64() as f64)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 878 -                         ValueType::Bool(BoolValue::new((lhs_float >= rhs_int.as_i64() as f64)))
[INFO] [stdout] 878 +                         ValueType::Bool(BoolValue::new(lhs_float >= rhs_int.as_i64() as f64 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:890:48
[INFO] [stdout]     |
[INFO] [stdout] 890 |                 ValueType::Bool(BoolValue::new((lhs_int.le(rhs_int))))
[INFO] [stdout]     |                                                ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 890 -                 ValueType::Bool(BoolValue::new((lhs_int.le(rhs_int))))
[INFO] [stdout] 890 +                 ValueType::Bool(BoolValue::new(lhs_int.le(rhs_int) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:893:48
[INFO] [stdout]     |
[INFO] [stdout] 893 |                 ValueType::Bool(BoolValue::new((lhs_float.le(rhs_float))))
[INFO] [stdout]     |                                                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 893 -                 ValueType::Bool(BoolValue::new((lhs_float.le(rhs_float))))
[INFO] [stdout] 893 +                 ValueType::Bool(BoolValue::new(lhs_float.le(rhs_float) ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:898:56
[INFO] [stdout]     |
[INFO] [stdout] 898 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 <= rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 898 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f32 <= rhs_float)))
[INFO] [stdout] 898 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f32 <= rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:901:56
[INFO] [stdout]     |
[INFO] [stdout] 901 |                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 <= rhs_float)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 901 -                         ValueType::Bool(BoolValue::new((lhs_int.as_i64() as f64 <= rhs_float)))
[INFO] [stdout] 901 +                         ValueType::Bool(BoolValue::new(lhs_int.as_i64() as f64 <= rhs_float ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:908:56
[INFO] [stdout]     |
[INFO] [stdout] 908 |                         ValueType::Bool(BoolValue::new((lhs_float <= rhs_int.as_i64() as f32)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 908 -                         ValueType::Bool(BoolValue::new((lhs_float <= rhs_int.as_i64() as f32)))
[INFO] [stdout] 908 +                         ValueType::Bool(BoolValue::new(lhs_float <= rhs_int.as_i64() as f32 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/virtual_machine.rs:911:56
[INFO] [stdout]     |
[INFO] [stdout] 911 |                         ValueType::Bool(BoolValue::new((lhs_float <= rhs_int.as_i64() as f64)))
[INFO] [stdout]     |                                                        ^                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 911 -                         ValueType::Bool(BoolValue::new((lhs_float <= rhs_int.as_i64() as f64)))
[INFO] [stdout] 911 +                         ValueType::Bool(BoolValue::new(lhs_float <= rhs_int.as_i64() as f64 ))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Object` and `Value`
[INFO] [stdout]  --> src/instruction_compiler.rs:4:89
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::virtual_machine::{BoolValue, FloatValue, Instruction, IntValue, StringValue, Object, ObjectCreator, Value, ValueType};
[INFO] [stdout]   |                                                                                         ^^^^^^                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pest::Parser`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use pest::Parser;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BareParser`, `Rule`, and `Statement`
[INFO] [stdout]   --> src/main.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::parser::{Rule, BareParser, parse_file_data, Statement};
[INFO] [stdout]    |                     ^^^^  ^^^^^^^^^^                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExprAst` and `parse_expressions`
[INFO] [stdout]   --> src/main.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::eval_parser::{ExprAst, parse_expressions};
[INFO] [stdout]    |                          ^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::node_runner::NodeRunner`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::node_runner::NodeRunner;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Instruction`, `IntValue`, `ObjectCreator`, `ValueType`, and `Value`
[INFO] [stdout]   --> src/main.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::virtual_machine::{Instruction, IntValue, ObjectCreator, Value, ValueType, VirtualMachine};
[INFO] [stdout]    |                              ^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |             let mut inner = pair.into_inner();
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |             let mut body = parse_body(if_statement.pop_front().unwrap().into_inner());
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:135:29
[INFO] [stdout]     |
[INFO] [stdout] 135 |                         let mut body = parse_body(else_if_statement.pop_front().unwrap().into_inner());
[INFO] [stdout]     |                             ----^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:141:29
[INFO] [stdout]     |
[INFO] [stdout] 141 |                         let mut body = parse_body(else_statement.pop_front().unwrap().into_inner());
[INFO] [stdout]     |                             ----^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let mut inner = pair.into_inner();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/eval_parser.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 let mut args = args.iter().map(|x| x.to_stack_item_value()).collect::<Vec<StackItems>>();
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/eval_parser.rs:450:17
[INFO] [stdout]     |
[INFO] [stdout] 450 |             let mut pairs = rule.into_inner().collect::<VecDeque<Pair<Rule>>>();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node_runner.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node_runner.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node_runner.rs:75:21
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node_runner.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node_runner.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node_runner.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:121:21
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:136:21
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:137:21
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:152:21
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:182:21
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:198:21
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:214:54
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn handle_function_call(&mut self, name: String, mut args: Vec<ExprAst>) -> Option<EvalValue> {
[INFO] [stdout]     |                                                      ----^^^^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:225:21
[INFO] [stdout]     |
[INFO] [stdout] 225 |                 let mut args = args.into_iter().map(|arg| self.evaluate_expr(arg)).collect::<Vec<EvalValue>>();
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:236:21
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 let mut args = args.into_iter().map(|arg| self.evaluate_expr(arg)).collect::<Vec<EvalValue>>();
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/node_runner.rs:298:45
[INFO] [stdout]     |
[INFO] [stdout] 298 |             Statement::FunctionDefinition { name, args, body } => {
[INFO] [stdout]     |                                             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/node_runner.rs:298:51
[INFO] [stdout]     |
[INFO] [stdout] 298 |             Statement::FunctionDefinition { name, args, body } => {
[INFO] [stdout]     |                                                   ^^^^ help: try ignoring the field: `args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/node_runner.rs:298:57
[INFO] [stdout]     |
[INFO] [stdout] 298 |             Statement::FunctionDefinition { name, args, body } => {
[INFO] [stdout]     |                                                         ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var_name`
[INFO] [stdout]    --> src/node_runner.rs:301:34
[INFO] [stdout]     |
[INFO] [stdout] 301 |             Statement::ForLoop { var_name, start, end, body } => {
[INFO] [stdout]     |                                  ^^^^^^^^ help: try ignoring the field: `var_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/node_runner.rs:301:44
[INFO] [stdout]     |
[INFO] [stdout] 301 |             Statement::ForLoop { var_name, start, end, body } => {
[INFO] [stdout]     |                                            ^^^^^ help: try ignoring the field: `start: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> src/node_runner.rs:301:51
[INFO] [stdout]     |
[INFO] [stdout] 301 |             Statement::ForLoop { var_name, start, end, body } => {
[INFO] [stdout]     |                                                   ^^^ help: try ignoring the field: `end: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/node_runner.rs:301:56
[INFO] [stdout]     |
[INFO] [stdout] 301 |             Statement::ForLoop { var_name, start, end, body } => {
[INFO] [stdout]     |                                                        ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/virtual_machine.rs:924:13
[INFO] [stdout]     |
[INFO] [stdout] 924 |         let mut values = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/virtual_machine.rs:1319:13
[INFO] [stdout]      |
[INFO] [stdout] 1319 |         let mut args = Vec::from_iter(self.stack.drain(self.stack.len() - len as usize..).into_iter());
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/virtual_machine.rs:1375:21
[INFO] [stdout]      |
[INFO] [stdout] 1375 |                 let mut res = match args.pop_front() {
[INFO] [stdout]      |                     ----^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/instruction_compiler.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                     _ => { unreachable!() }
[INFO] [stdout]    |                     ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/instruction_compiler.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |                     EvalValue::IntegerLiteral { val } => {
[INFO] [stdout]    |                     --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 56 |                     EvalValue::FloatLiteral { val } => {
[INFO] [stdout]    |                     ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 65 |                     EvalValue::Stringliteral { val} => {
[INFO] [stdout]    |                     ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 68 |                     EvalValue::BooleanLiteral { val } => {
[INFO] [stdout]    |                     --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 82 |                     _ => { unreachable!() }
[INFO] [stdout]    |                     ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/instruction_compiler.rs:232:61
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 Statement::FunctionDefinition { name, args, mut body } => {
[INFO] [stdout]     |                                                             ----^^^^
[INFO] [stdout]     |                                                             |
[INFO] [stdout]     |                                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ForLoop` is never constructed
[INFO] [stdout]   --> src/parser.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Statement {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 40 |     ForLoop {
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_int`, `get_float`, `get_bool`, `get_string`, and `get_reference` are never used
[INFO] [stdout]   --> src/eval_parser.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl EvalValue {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 36 |     pub fn get_int(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn get_float(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn get_bool(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn get_reference(&self, hash: HashMap<String, EvalValue>) -> EvalValue {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ValueBool` is never constructed
[INFO] [stdout]    --> src/eval_parser.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | enum StackItems{
[INFO] [stdout]     |      ---------- variant in this enum
[INFO] [stdout] 219 |     Value(EvalValue),
[INFO] [stdout] 220 |     ValueBool(bool),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StackItems` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_expressions` is never used
[INFO] [stdout]    --> src/eval_parser.rs:473:8
[INFO] [stdout]     |
[INFO] [stdout] 473 | pub fn parse_expressions(rules: Pairs<Rule>) -> Vec<ExprAst>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOOP_LIMIT` is never used
[INFO] [stdout]  --> src/node_runner.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const LOOP_LIMIT: usize = 100000;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NodeRunner` is never constructed
[INFO] [stdout]  --> src/node_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct NodeRunner {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/node_runner.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl NodeRunner {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  17 |     pub fn new() -> NodeRunner {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  25 |     pub fn get_value_type(&self, val: &EvalValue) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     pub fn evaluate_expr(&mut self, expr: ExprAst) -> EvalValue {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn handle_function_call(&mut self, name: String, mut args: Vec<ExprAst>) -> Option<EvalValue> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn call_builtin_function(&mut self, name: String, mut args: VecDeque<ExprAst>) -> Option<EvalValue> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     fn execute(&mut self, statement: Statement, from_loop: bool) -> Option<u8>{
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn run(&mut self, stmts: Block, from_loop: bool) -> Option<u8>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CharValue` is never used
[INFO] [stdout]   --> src/virtual_machine.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | enum CharValue {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_int_val` and `from_bool` are never used
[INFO] [stdout]   --> src/virtual_machine.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl Value {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn from_int_val(val: IntValue) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn from_bool(val: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Pop`, `Clone`, `Swap`, `Rotate`, and `MoveBack` are never constructed
[INFO] [stdout]    --> src/virtual_machine.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub enum Instruction {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 125 |     Pop,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     Clone,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 129 |     Swap,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 130 |     Rotate,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 131 |     MoveBack(usize)
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `emulate` and `get_heap` are never used
[INFO] [stdout]     --> src/virtual_machine.rs:1024:12
[INFO] [stdout]      |
[INFO] [stdout] 1010 | impl VirtualMachine {
[INFO] [stdout]      | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1024 |     pub fn emulate(instructions: Vec<Instruction>, functions: HashMap<String, usize>, classes: HashMap<String, ObjectCreator>) {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1469 |     pub fn get_heap(&self) -> &HashMap<String, Object> {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `function_translations` is never read
[INFO] [stdout]   --> src/instruction_compiler.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct InstructionCompiler {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 14 |     instructions: Vec<Instruction>,
[INFO] [stdout] 15 |     function_translations: Vec<Translation>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |             let mut inner = pair.into_inner();
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |             let mut body = parse_body(if_statement.pop_front().unwrap().into_inner());
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:135:29
[INFO] [stdout]     |
[INFO] [stdout] 135 |                         let mut body = parse_body(else_if_statement.pop_front().unwrap().into_inner());
[INFO] [stdout]     |                             ----^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:141:29
[INFO] [stdout]     |
[INFO] [stdout] 141 |                         let mut body = parse_body(else_statement.pop_front().unwrap().into_inner());
[INFO] [stdout]     |                             ----^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let mut inner = pair.into_inner();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/eval_parser.rs:101:21
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 let mut args = args.iter().map(|x| x.to_stack_item_value()).collect::<Vec<StackItems>>();
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/eval_parser.rs:450:17
[INFO] [stdout]     |
[INFO] [stdout] 450 |             let mut pairs = rule.into_inner().collect::<VecDeque<Pair<Rule>>>();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node_runner.rs:59:21
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node_runner.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node_runner.rs:75:21
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node_runner.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node_runner.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/node_runner.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:120:21
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:121:21
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:136:21
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:137:21
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:152:21
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:153:21
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:182:21
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 |                 let mut lhs = self.evaluate_expr(*lhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:198:21
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 let mut rhs = self.evaluate_expr(*rhs);
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:214:54
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn handle_function_call(&mut self, name: String, mut args: Vec<ExprAst>) -> Option<EvalValue> {
[INFO] [stdout]     |                                                      ----^^^^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:225:21
[INFO] [stdout]     |
[INFO] [stdout] 225 |                 let mut args = args.into_iter().map(|arg| self.evaluate_expr(arg)).collect::<Vec<EvalValue>>();
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node_runner.rs:236:21
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 let mut args = args.into_iter().map(|arg| self.evaluate_expr(arg)).collect::<Vec<EvalValue>>();
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/node_runner.rs:298:45
[INFO] [stdout]     |
[INFO] [stdout] 298 |             Statement::FunctionDefinition { name, args, body } => {
[INFO] [stdout]     |                                             ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/node_runner.rs:298:51
[INFO] [stdout]     |
[INFO] [stdout] 298 |             Statement::FunctionDefinition { name, args, body } => {
[INFO] [stdout]     |                                                   ^^^^ help: try ignoring the field: `args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/node_runner.rs:298:57
[INFO] [stdout]     |
[INFO] [stdout] 298 |             Statement::FunctionDefinition { name, args, body } => {
[INFO] [stdout]     |                                                         ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var_name`
[INFO] [stdout]    --> src/node_runner.rs:301:34
[INFO] [stdout]     |
[INFO] [stdout] 301 |             Statement::ForLoop { var_name, start, end, body } => {
[INFO] [stdout]     |                                  ^^^^^^^^ help: try ignoring the field: `var_name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/node_runner.rs:301:44
[INFO] [stdout]     |
[INFO] [stdout] 301 |             Statement::ForLoop { var_name, start, end, body } => {
[INFO] [stdout]     |                                            ^^^^^ help: try ignoring the field: `start: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> src/node_runner.rs:301:51
[INFO] [stdout]     |
[INFO] [stdout] 301 |             Statement::ForLoop { var_name, start, end, body } => {
[INFO] [stdout]     |                                                   ^^^ help: try ignoring the field: `end: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/node_runner.rs:301:56
[INFO] [stdout]     |
[INFO] [stdout] 301 |             Statement::ForLoop { var_name, start, end, body } => {
[INFO] [stdout]     |                                                        ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/virtual_machine.rs:924:13
[INFO] [stdout]     |
[INFO] [stdout] 924 |         let mut values = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/virtual_machine.rs:1319:13
[INFO] [stdout]      |
[INFO] [stdout] 1319 |         let mut args = Vec::from_iter(self.stack.drain(self.stack.len() - len as usize..).into_iter());
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/virtual_machine.rs:1375:21
[INFO] [stdout]      |
[INFO] [stdout] 1375 |                 let mut res = match args.pop_front() {
[INFO] [stdout]      |                     ----^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/instruction_compiler.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                     _ => { unreachable!() }
[INFO] [stdout]    |                     ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/instruction_compiler.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |                     EvalValue::IntegerLiteral { val } => {
[INFO] [stdout]    |                     --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 56 |                     EvalValue::FloatLiteral { val } => {
[INFO] [stdout]    |                     ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 65 |                     EvalValue::Stringliteral { val} => {
[INFO] [stdout]    |                     ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 68 |                     EvalValue::BooleanLiteral { val } => {
[INFO] [stdout]    |                     --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 82 |                     _ => { unreachable!() }
[INFO] [stdout]    |                     ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/instruction_compiler.rs:232:61
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 Statement::FunctionDefinition { name, args, mut body } => {
[INFO] [stdout]     |                                                             ----^^^^
[INFO] [stdout]     |                                                             |
[INFO] [stdout]     |                                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ForLoop` is never constructed
[INFO] [stdout]   --> src/parser.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Statement {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 40 |     ForLoop {
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_int`, `get_float`, `get_bool`, `get_string`, and `get_reference` are never used
[INFO] [stdout]   --> src/eval_parser.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl EvalValue {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 36 |     pub fn get_int(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn get_float(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn get_bool(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn get_reference(&self, hash: HashMap<String, EvalValue>) -> EvalValue {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ValueBool` is never constructed
[INFO] [stdout]    --> src/eval_parser.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | enum StackItems{
[INFO] [stdout]     |      ---------- variant in this enum
[INFO] [stdout] 219 |     Value(EvalValue),
[INFO] [stdout] 220 |     ValueBool(bool),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StackItems` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_expressions` is never used
[INFO] [stdout]    --> src/eval_parser.rs:473:8
[INFO] [stdout]     |
[INFO] [stdout] 473 | pub fn parse_expressions(rules: Pairs<Rule>) -> Vec<ExprAst>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOOP_LIMIT` is never used
[INFO] [stdout]  --> src/node_runner.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const LOOP_LIMIT: usize = 100000;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NodeRunner` is never constructed
[INFO] [stdout]  --> src/node_runner.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct NodeRunner {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/node_runner.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl NodeRunner {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  17 |     pub fn new() -> NodeRunner {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  25 |     pub fn get_value_type(&self, val: &EvalValue) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     pub fn evaluate_expr(&mut self, expr: ExprAst) -> EvalValue {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn handle_function_call(&mut self, name: String, mut args: Vec<ExprAst>) -> Option<EvalValue> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn call_builtin_function(&mut self, name: String, mut args: VecDeque<ExprAst>) -> Option<EvalValue> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     fn execute(&mut self, statement: Statement, from_loop: bool) -> Option<u8>{
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn run(&mut self, stmts: Block, from_loop: bool) -> Option<u8>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CharValue` is never used
[INFO] [stdout]   --> src/virtual_machine.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | enum CharValue {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_int_val` and `from_bool` are never used
[INFO] [stdout]   --> src/virtual_machine.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl Value {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn from_int_val(val: IntValue) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn from_bool(val: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Pop`, `Clone`, `Swap`, `Rotate`, and `MoveBack` are never constructed
[INFO] [stdout]    --> src/virtual_machine.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub enum Instruction {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 125 |     Pop,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     Clone,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 129 |     Swap,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 130 |     Rotate,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 131 |     MoveBack(usize)
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `emulate` and `get_heap` are never used
[INFO] [stdout]     --> src/virtual_machine.rs:1024:12
[INFO] [stdout]      |
[INFO] [stdout] 1010 | impl VirtualMachine {
[INFO] [stdout]      | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1024 |     pub fn emulate(instructions: Vec<Instruction>, functions: HashMap<String, usize>, classes: HashMap<String, ObjectCreator>) {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1469 |     pub fn get_heap(&self) -> &HashMap<String, Object> {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `function_translations` is never read
[INFO] [stdout]   --> src/instruction_compiler.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct InstructionCompiler {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 14 |     instructions: Vec<Instruction>,
[INFO] [stdout] 15 |     function_translations: Vec<Translation>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.86s
[INFO] running `Command { std: "docker" "inspect" "3abdbaa17a57e84479d845912c0d06a1d8b796fa6695d9294aa1c63c3a617f5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3abdbaa17a57e84479d845912c0d06a1d8b796fa6695d9294aa1c63c3a617f5c", kill_on_drop: false }`
[INFO] [stdout] 3abdbaa17a57e84479d845912c0d06a1d8b796fa6695d9294aa1c63c3a617f5c
