[INFO] cloning repository https://github.com/jesko7/mama_lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jesko7/mama_lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjesko7%2Fmama_lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjesko7%2Fmama_lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a4f8c041a40103216cdf0c1d5488f67b2dc21b69
[INFO] checking jesko7/mama_lang against try#ae258e1fcbee4a062f5f3d869f06004d7cea088e for pr-135272
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjesko7%2Fmama_lang" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/jesko7/mama_lang on toolchain ae258e1fcbee4a062f5f3d869f06004d7cea088e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ae258e1fcbee4a062f5f3d869f06004d7cea088e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/jesko7/mama_lang
[INFO] finished tweaking git repo https://github.com/jesko7/mama_lang
[INFO] tweaked toml for git repo https://github.com/jesko7/mama_lang written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/jesko7/mama_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" "+ae258e1fcbee4a062f5f3d869f06004d7cea088e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+ae258e1fcbee4a062f5f3d869f06004d7cea088e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 848652dbd146a555ba774f2576bb9a5f009f7db5f19ecdc523c8ce0cac7b5668
[INFO] running `Command { std: "docker" "start" "-a" "848652dbd146a555ba774f2576bb9a5f009f7db5f19ecdc523c8ce0cac7b5668", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "848652dbd146a555ba774f2576bb9a5f009f7db5f19ecdc523c8ce0cac7b5668", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "848652dbd146a555ba774f2576bb9a5f009f7db5f19ecdc523c8ce0cac7b5668", kill_on_drop: false }`
[INFO] [stdout] 848652dbd146a555ba774f2576bb9a5f009f7db5f19ecdc523c8ce0cac7b5668
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+ae258e1fcbee4a062f5f3d869f06004d7cea088e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ae47d41a919105feb7e20baa0c763c4ea5e80afa865bd2ef6f162dd96ff540a3
[INFO] running `Command { std: "docker" "start" "-a" "ae47d41a919105feb7e20baa0c763c4ea5e80afa865bd2ef6f162dd96ff540a3", kill_on_drop: false }`
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking programmin_language v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `process::Output`
[INFO] [stdout]  --> src/ast.rs:1:52
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, io::{self, Write}, process::Output};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lexer`
[INFO] [stdout]  --> src/ast.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{get_PG, interpret, lexer, parser::{EvalVal, Node}};
[INFO] [stdout]   |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast::line_index`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::ast::line_index;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `process::Output`
[INFO] [stdout]  --> src/ast.rs:1:52
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, io::{self, Write}, process::Output};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lexer`
[INFO] [stdout]  --> src/ast.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{get_PG, interpret, lexer, parser::{EvalVal, Node}};
[INFO] [stdout]   |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast::line_index`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::ast::line_index;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/readfile.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::{self, BufRead, Read, Write};
[INFO] [stdout]   |                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/main.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, BufRead, Read};
[INFO] [stdout]   |                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/lexer.rs:87:21
[INFO] [stdout]    |
[INFO] [stdout] 87 |                     other => write!(f, ""),
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_of_number`
[INFO] [stdout]    --> src/lexer.rs:121:32
[INFO] [stdout]     |
[INFO] [stdout] 121 |             Token::NUM(number, type_of_number) => Some(*number),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_of_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/lexer.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |             other => None
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number`
[INFO] [stdout]    --> src/lexer.rs:127:24
[INFO] [stdout]     |
[INFO] [stdout] 127 |             Token::NUM(number, type_of_number) => Some(type_of_number.clone()),
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/lexer.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             other => None
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/lexer.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |             other => None
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/lexer.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |             other => None
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/readfile.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::{self, BufRead, Read, Write};
[INFO] [stdout]   |                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/main.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, BufRead, Read};
[INFO] [stdout]   |                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/lexer.rs:87:21
[INFO] [stdout]    |
[INFO] [stdout] 87 |                     other => write!(f, ""),
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lexer.rs:110:21
[INFO] [stdout]     |
[INFO] [stdout] 110 |                       _ => panic!("Variant not included in macro call"),
[INFO] [stdout]     |                       ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 161 | / impl_variant_name!
[INFO] [stdout] 162 | | (
[INFO] [stdout] 163 | |     Token, 
[INFO] [stdout] 164 | |     NUM(f32, NumType),
[INFO] [stdout] ...   |
[INFO] [stdout] 221 | |     FLOAT
[INFO] [stdout] 222 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/lexer.rs:110:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |                           $enum::$variant$(($($field),+))? => stringify!($variant),
[INFO] [stdout]     |                           ------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           matches some of the same values
[INFO] [stdout]     |                           matches some of the same values
[INFO] [stdout]     |                           matches some of the same values
[INFO] [stdout]     |                           matches some of the same values
[INFO] [stdout] 109 |                       )*
[INFO] [stdout] 110 |                       _ => panic!("Variant not included in macro call"),
[INFO] [stdout]     |                       ^ ...and 50 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 161 | / impl_variant_name!
[INFO] [stdout] 162 | | (
[INFO] [stdout] 163 | |     Token, 
[INFO] [stdout] 164 | |     NUM(f32, NumType),
[INFO] [stdout] ...   |
[INFO] [stdout] 221 | |     FLOAT
[INFO] [stdout] 222 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_variant_name` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `type_of_number`
[INFO] [stdout]    --> src/lexer.rs:121:32
[INFO] [stdout]     |
[INFO] [stdout] 121 |             Token::NUM(number, type_of_number) => Some(*number),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_of_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/lexer.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |             other => None
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f32`
[INFO] [stdout]    --> src/lexer.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     NUM(f32, NumType),
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: `f32` is captured in macro and introduced a unused variable
[INFO] [stdout]    --> src/lexer.rs:108:45
[INFO] [stdout]     |
[INFO] [stdout] 108 |                           $enum::$variant$(($($field),+))? => stringify!($variant),
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | / impl_variant_name!
[INFO] [stdout] 162 | | (
[INFO] [stdout] 163 | |     Token, 
[INFO] [stdout] 164 | |     NUM(f32, NumType),
[INFO] [stdout] ...   |
[INFO] [stdout] 221 | |     FLOAT
[INFO] [stdout] 222 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `impl_variant_name` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number`
[INFO] [stdout]    --> src/lexer.rs:127:24
[INFO] [stdout]     |
[INFO] [stdout] 127 |             Token::NUM(number, type_of_number) => Some(type_of_number.clone()),
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/lexer.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             other => None
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/lexer.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |             other => None
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/lexer.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |             other => None
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `NumType`
[INFO] [stdout]    --> src/lexer.rs:164:14
[INFO] [stdout]     |
[INFO] [stdout] 164 |     NUM(f32, NumType),
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: `NumType` is captured in macro and introduced a unused variable
[INFO] [stdout]    --> src/lexer.rs:108:45
[INFO] [stdout]     |
[INFO] [stdout] 108 |                           $enum::$variant$(($($field),+))? => stringify!($variant),
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | / impl_variant_name!
[INFO] [stdout] 162 | | (
[INFO] [stdout] 163 | |     Token, 
[INFO] [stdout] 164 | |     NUM(f32, NumType),
[INFO] [stdout] ...   |
[INFO] [stdout] 221 | |     FLOAT
[INFO] [stdout] 222 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `impl_variant_name` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `String`
[INFO] [stdout]    --> src/lexer.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 |     STRING(String),
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: `String` is captured in macro and introduced a unused variable
[INFO] [stdout]    --> src/lexer.rs:108:45
[INFO] [stdout]     |
[INFO] [stdout] 108 |                           $enum::$variant$(($($field),+))? => stringify!($variant),
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | / impl_variant_name!
[INFO] [stdout] 162 | | (
[INFO] [stdout] 163 | |     Token, 
[INFO] [stdout] 164 | |     NUM(f32, NumType),
[INFO] [stdout] ...   |
[INFO] [stdout] 221 | |     FLOAT
[INFO] [stdout] 222 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `impl_variant_name` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `String`
[INFO] [stdout]    --> src/lexer.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 |     NAME(String),
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: `String` is captured in macro and introduced a unused variable
[INFO] [stdout]    --> src/lexer.rs:108:45
[INFO] [stdout]     |
[INFO] [stdout] 108 |                           $enum::$variant$(($($field),+))? => stringify!($variant),
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | / impl_variant_name!
[INFO] [stdout] 162 | | (
[INFO] [stdout] 163 | |     Token, 
[INFO] [stdout] 164 | |     NUM(f32, NumType),
[INFO] [stdout] ...   |
[INFO] [stdout] 221 | |     FLOAT
[INFO] [stdout] 222 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `impl_variant_name` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `index` is assigned to, but never used
[INFO] [stdout]    --> src/lexer.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let mut index = 0;
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_index` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num` is never read
[INFO] [stdout]    --> src/lexer.rs:453:24
[INFO] [stdout]     |
[INFO] [stdout] 453 |     add_num_to_tokens!(num, tokens, index);
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lexer.rs:110:21
[INFO] [stdout]     |
[INFO] [stdout] 110 |                       _ => panic!("Variant not included in macro call"),
[INFO] [stdout]     |                       ^ no value can reach this
[INFO] [stdout] ...
[INFO] [stdout] 161 | / impl_variant_name!
[INFO] [stdout] 162 | | (
[INFO] [stdout] 163 | |     Token, 
[INFO] [stdout] 164 | |     NUM(f32, NumType),
[INFO] [stdout] ...   |
[INFO] [stdout] 221 | |     FLOAT
[INFO] [stdout] 222 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/lexer.rs:110:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |                           $enum::$variant$(($($field),+))? => stringify!($variant),
[INFO] [stdout]     |                           ------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           matches some of the same values
[INFO] [stdout]     |                           matches some of the same values
[INFO] [stdout]     |                           matches some of the same values
[INFO] [stdout]     |                           matches some of the same values
[INFO] [stdout] 109 |                       )*
[INFO] [stdout] 110 |                       _ => panic!("Variant not included in macro call"),
[INFO] [stdout]     |                       ^ ...and 50 other patterns collectively make this unreachable
[INFO] [stdout] ...
[INFO] [stdout] 161 | / impl_variant_name!
[INFO] [stdout] 162 | | (
[INFO] [stdout] 163 | |     Token, 
[INFO] [stdout] 164 | |     NUM(f32, NumType),
[INFO] [stdout] ...   |
[INFO] [stdout] 221 | |     FLOAT
[INFO] [stdout] 222 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_variant_name` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f32`
[INFO] [stdout]    --> src/lexer.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     NUM(f32, NumType),
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: `f32` is captured in macro and introduced a unused variable
[INFO] [stdout]    --> src/lexer.rs:108:45
[INFO] [stdout]     |
[INFO] [stdout] 108 |                           $enum::$variant$(($($field),+))? => stringify!($variant),
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | / impl_variant_name!
[INFO] [stdout] 162 | | (
[INFO] [stdout] 163 | |     Token, 
[INFO] [stdout] 164 | |     NUM(f32, NumType),
[INFO] [stdout] ...   |
[INFO] [stdout] 221 | |     FLOAT
[INFO] [stdout] 222 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `impl_variant_name` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/parser.rs:51:27
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn partial_cmp(&self, other: &Self) -> Option<std::cmp::Ordering> {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/parser.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |             other => panic!("node eval not implemented: {}", self.class_name)
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/parser.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 |                 other => panic!()
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `NumType`
[INFO] [stdout]    --> src/lexer.rs:164:14
[INFO] [stdout]     |
[INFO] [stdout] 164 |     NUM(f32, NumType),
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: `NumType` is captured in macro and introduced a unused variable
[INFO] [stdout]    --> src/lexer.rs:108:45
[INFO] [stdout]     |
[INFO] [stdout] 108 |                           $enum::$variant$(($($field),+))? => stringify!($variant),
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | / impl_variant_name!
[INFO] [stdout] 162 | | (
[INFO] [stdout] 163 | |     Token, 
[INFO] [stdout] 164 | |     NUM(f32, NumType),
[INFO] [stdout] ...   |
[INFO] [stdout] 221 | |     FLOAT
[INFO] [stdout] 222 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `impl_variant_name` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `String`
[INFO] [stdout]    --> src/lexer.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 |     STRING(String),
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: `String` is captured in macro and introduced a unused variable
[INFO] [stdout]    --> src/lexer.rs:108:45
[INFO] [stdout]     |
[INFO] [stdout] 108 |                           $enum::$variant$(($($field),+))? => stringify!($variant),
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | / impl_variant_name!
[INFO] [stdout] 162 | | (
[INFO] [stdout] 163 | |     Token, 
[INFO] [stdout] 164 | |     NUM(f32, NumType),
[INFO] [stdout] ...   |
[INFO] [stdout] 221 | |     FLOAT
[INFO] [stdout] 222 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `impl_variant_name` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `String`
[INFO] [stdout]    --> src/lexer.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 |     NAME(String),
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: `String` is captured in macro and introduced a unused variable
[INFO] [stdout]    --> src/lexer.rs:108:45
[INFO] [stdout]     |
[INFO] [stdout] 108 |                           $enum::$variant$(($($field),+))? => stringify!($variant),
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | / impl_variant_name!
[INFO] [stdout] 162 | | (
[INFO] [stdout] 163 | |     Token, 
[INFO] [stdout] 164 | |     NUM(f32, NumType),
[INFO] [stdout] ...   |
[INFO] [stdout] 221 | |     FLOAT
[INFO] [stdout] 222 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `impl_variant_name` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `index` is assigned to, but never used
[INFO] [stdout]    --> src/lexer.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let mut index = 0;
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_index` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num` is never read
[INFO] [stdout]    --> src/lexer.rs:453:24
[INFO] [stdout]     |
[INFO] [stdout] 453 |     add_num_to_tokens!(num, tokens, index);
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/parser.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 |                     other => panic!()
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/parser.rs:51:27
[INFO] [stdout]    |
[INFO] [stdout] 51 |     fn partial_cmp(&self, other: &Self) -> Option<std::cmp::Ordering> {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/parser.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |             other => panic!("node eval not implemented: {}", self.class_name)
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/parser.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 |                 other => panic!()
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/parser.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 |                     other => panic!()
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/ast.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn NoneNode(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/ast.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         other => panic!()
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/ast.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |         other => panic!()
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast.rs:476:9
[INFO] [stdout]     |
[INFO] [stdout] 476 |     let mut prev_lines = unsafe {
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast.rs:479:9
[INFO] [stdout]     |
[INFO] [stdout] 479 |     let mut prev_index = unsafe {
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/ast.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn NoneNode(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/ast.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         other => panic!()
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/ast.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |         other => panic!()
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast.rs:476:9
[INFO] [stdout]     |
[INFO] [stdout] 476 |     let mut prev_lines = unsafe {
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast.rs:479:9
[INFO] [stdout]     |
[INFO] [stdout] 479 |     let mut prev_index = unsafe {
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Minus` is never used
[INFO] [stdout]   --> src/ast.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn Minus(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_PG` should have a snake case name
[INFO] [stdout]   --> src/main.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn get_PG() -> parser::Parser {
[INFO] [stdout]    |        ^^^^^^ help: convert the identifier to snake case: `get_pg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PG` should have a snake case name
[INFO] [stdout]   --> src/main.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut PG = parser::Parser::new();
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `pg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PG` should have a snake case name
[INFO] [stdout]    --> src/main.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let PG = get_PG();
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `pg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/main.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |         while ast::line_index < ast::lines.len() {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NumType` should have a snake case name
[INFO] [stdout]    --> src/lexer.rs:164:14
[INFO] [stdout]     |
[INFO] [stdout] 164 |     NUM(f32, NumType),
[INFO] [stdout]     |              ^^^^^^^ help: convert the identifier to snake case: `num_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `String` should have a snake case name
[INFO] [stdout]    --> src/lexer.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 |     STRING(String),
[INFO] [stdout]     |            ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `String` should have a snake case name
[INFO] [stdout]    --> src/lexer.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 |     NAME(String),
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `vars` should have an upper case name
[INFO] [stdout]  --> src/ast.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub static mut vars: once_cell::unsync::Lazy<HashMap<String, Option<EvalVal>>> = Lazy::new(HashMap::new);
[INFO] [stdout]   |                ^^^^ help: convert the identifier to upper case: `VARS`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `line_index` should have an upper case name
[INFO] [stdout]  --> src/ast.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub static mut line_index: usize = 0;
[INFO] [stdout]   |                ^^^^^^^^^^ help: convert the identifier to upper case: `LINE_INDEX`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `lines` should have an upper case name
[INFO] [stdout]  --> src/ast.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub static mut lines: Vec<String> = vec![];
[INFO] [stdout]   |                ^^^^^ help: convert the identifier to upper case: `LINES`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Add` should have a snake case name
[INFO] [stdout]   --> src/ast.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn Add(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `add`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Minus` should have a snake case name
[INFO] [stdout]   --> src/ast.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn Minus(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^^^ help: convert the identifier to snake case: `minus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Mul` should have a snake case name
[INFO] [stdout]   --> src/ast.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn Mul(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `mul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Div` should have a snake case name
[INFO] [stdout]   --> src/ast.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn Div(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `div`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Pow` should have a snake case name
[INFO] [stdout]   --> src/ast.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn Pow(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `pow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Num` should have a snake case name
[INFO] [stdout]   --> src/ast.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn Num(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `String` should have a snake case name
[INFO] [stdout]   --> src/ast.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn String(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Var` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn Var(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^ help: convert the identifier to snake case (notice the capitalization): `var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/ast.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |         var = vars.get(&output);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `NoneNode` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn NoneNode(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `none_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Name` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn Name(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^ help: convert the identifier to snake case: `name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Print` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn Print(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^ help: convert the identifier to snake case: `print`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Input` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:176:8
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub fn Input(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^ help: convert the identifier to snake case (notice the capitalization): `input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `AssignVar` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn AssignVar(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^^^^^ help: convert the identifier to snake case: `assign_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/ast.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 218 |         vars.insert(name, val);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Asstr` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:228:8
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub fn Asstr(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^ help: convert the identifier to snake case: `asstr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Asint` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub fn Asint(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^ help: convert the identifier to snake case: `asint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Paren` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:284:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub fn Paren(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^ help: convert the identifier to snake case: `paren`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PG` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |     let PG = get_PG();
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `pg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Condition` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:301:8
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub fn Condition(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `And` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:332:8
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub fn And(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^ help: convert the identifier to snake case: `and`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Or` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:343:8
[INFO] [stdout]     |
[INFO] [stdout] 343 | pub fn Or(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^ help: convert the identifier to snake case (notice the capitalization): `or`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Not` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub fn Not(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^ help: convert the identifier to snake case: `not`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Bool` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:366:8
[INFO] [stdout]     |
[INFO] [stdout] 366 | pub fn Bool(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^ help: convert the identifier to snake case: `bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `If` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:376:8
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub fn If(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^
[INFO] [stdout]     |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub fn r#if(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/ast.rs:413:9
[INFO] [stdout]     |
[INFO] [stdout] 413 |         lines.clone()
[INFO] [stdout]     |         ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/ast.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |         line_index.clone()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `While` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:441:8
[INFO] [stdout]     |
[INFO] [stdout] 441 | pub fn While(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]     |
[INFO] [stdout] 441 | pub fn r#while(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/ast.rs:477:9
[INFO] [stdout]     |
[INFO] [stdout] 477 |         lines.clone()
[INFO] [stdout]     |         ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/ast.rs:480:9
[INFO] [stdout]     |
[INFO] [stdout] 480 |         line_index.clone()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Break` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:532:8
[INFO] [stdout]     |
[INFO] [stdout] 532 | pub fn Break(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]     |
[INFO] [stdout] 532 | pub fn r#break(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Return` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:581:8
[INFO] [stdout]     |
[INFO] [stdout] 581 | pub fn Return(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]     |
[INFO] [stdout] 581 | pub fn r#return(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Minus` is never used
[INFO] [stdout]   --> src/ast.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn Minus(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_PG` should have a snake case name
[INFO] [stdout]   --> src/main.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn get_PG() -> parser::Parser {
[INFO] [stdout]    |        ^^^^^^ help: convert the identifier to snake case: `get_pg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PG` should have a snake case name
[INFO] [stdout]   --> src/main.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut PG = parser::Parser::new();
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `pg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PG` should have a snake case name
[INFO] [stdout]    --> src/main.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let PG = get_PG();
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `pg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/main.rs:113:33
[INFO] [stdout]     |
[INFO] [stdout] 113 |         while ast::line_index < ast::lines.len() {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NumType` should have a snake case name
[INFO] [stdout]    --> src/lexer.rs:164:14
[INFO] [stdout]     |
[INFO] [stdout] 164 |     NUM(f32, NumType),
[INFO] [stdout]     |              ^^^^^^^ help: convert the identifier to snake case: `num_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `String` should have a snake case name
[INFO] [stdout]    --> src/lexer.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 |     STRING(String),
[INFO] [stdout]     |            ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `String` should have a snake case name
[INFO] [stdout]    --> src/lexer.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 |     NAME(String),
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `vars` should have an upper case name
[INFO] [stdout]  --> src/ast.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub static mut vars: once_cell::unsync::Lazy<HashMap<String, Option<EvalVal>>> = Lazy::new(HashMap::new);
[INFO] [stdout]   |                ^^^^ help: convert the identifier to upper case: `VARS`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `line_index` should have an upper case name
[INFO] [stdout]  --> src/ast.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub static mut line_index: usize = 0;
[INFO] [stdout]   |                ^^^^^^^^^^ help: convert the identifier to upper case: `LINE_INDEX`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `lines` should have an upper case name
[INFO] [stdout]  --> src/ast.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub static mut lines: Vec<String> = vec![];
[INFO] [stdout]   |                ^^^^^ help: convert the identifier to upper case: `LINES`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Add` should have a snake case name
[INFO] [stdout]   --> src/ast.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn Add(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `add`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Minus` should have a snake case name
[INFO] [stdout]   --> src/ast.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn Minus(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^^^ help: convert the identifier to snake case: `minus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Mul` should have a snake case name
[INFO] [stdout]   --> src/ast.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn Mul(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `mul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Div` should have a snake case name
[INFO] [stdout]   --> src/ast.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn Div(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `div`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Pow` should have a snake case name
[INFO] [stdout]   --> src/ast.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn Pow(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `pow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Num` should have a snake case name
[INFO] [stdout]   --> src/ast.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn Num(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `String` should have a snake case name
[INFO] [stdout]   --> src/ast.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn String(node: Node) -> Option<EvalVal> {
[INFO] [stdout]    |        ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Var` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn Var(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^ help: convert the identifier to snake case (notice the capitalization): `var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/ast.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |         var = vars.get(&output);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `NoneNode` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn NoneNode(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `none_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Name` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn Name(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^ help: convert the identifier to snake case: `name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Print` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn Print(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^ help: convert the identifier to snake case: `print`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Input` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:176:8
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub fn Input(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^ help: convert the identifier to snake case (notice the capitalization): `input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `AssignVar` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn AssignVar(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^^^^^ help: convert the identifier to snake case: `assign_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/ast.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 218 |         vars.insert(name, val);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Asstr` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:228:8
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub fn Asstr(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^ help: convert the identifier to snake case: `asstr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Asint` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub fn Asint(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^ help: convert the identifier to snake case: `asint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Paren` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:284:8
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub fn Paren(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^ help: convert the identifier to snake case: `paren`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PG` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |     let PG = get_PG();
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `pg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Condition` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:301:8
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub fn Condition(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `condition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `And` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:332:8
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub fn And(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^ help: convert the identifier to snake case: `and`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Or` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:343:8
[INFO] [stdout]     |
[INFO] [stdout] 343 | pub fn Or(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^ help: convert the identifier to snake case (notice the capitalization): `or`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Not` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub fn Not(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^ help: convert the identifier to snake case: `not`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Bool` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:366:8
[INFO] [stdout]     |
[INFO] [stdout] 366 | pub fn Bool(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^ help: convert the identifier to snake case: `bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `If` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:376:8
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub fn If(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^
[INFO] [stdout]     |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub fn r#if(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/ast.rs:413:9
[INFO] [stdout]     |
[INFO] [stdout] 413 |         lines.clone()
[INFO] [stdout]     |         ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/ast.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |         line_index.clone()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `While` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:441:8
[INFO] [stdout]     |
[INFO] [stdout] 441 | pub fn While(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]     |
[INFO] [stdout] 441 | pub fn r#while(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/ast.rs:477:9
[INFO] [stdout]     |
[INFO] [stdout] 477 |         lines.clone()
[INFO] [stdout]     |         ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/ast.rs:480:9
[INFO] [stdout]     |
[INFO] [stdout] 480 |         line_index.clone()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Break` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:532:8
[INFO] [stdout]     |
[INFO] [stdout] 532 | pub fn Break(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]     |
[INFO] [stdout] 532 | pub fn r#break(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Return` should have a snake case name
[INFO] [stdout]    --> src/ast.rs:581:8
[INFO] [stdout]     |
[INFO] [stdout] 581 | pub fn Return(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]     |
[INFO] [stdout] 581 | pub fn r#return(node: Node) -> Option<EvalVal> {
[INFO] [stdout]     |        ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.46s
[INFO] running `Command { std: "docker" "inspect" "ae47d41a919105feb7e20baa0c763c4ea5e80afa865bd2ef6f162dd96ff540a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae47d41a919105feb7e20baa0c763c4ea5e80afa865bd2ef6f162dd96ff540a3", kill_on_drop: false }`
[INFO] [stdout] ae47d41a919105feb7e20baa0c763c4ea5e80afa865bd2ef6f162dd96ff540a3
