[INFO] cloning repository https://github.com/FokoHetman/FokCord
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/FokoHetman/FokCord" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFokoHetman%2FFokCord", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFokoHetman%2FFokCord'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cb286deff7be86cba9eff9bce06308631c2df6d2
[INFO] checking FokoHetman/FokCord against try#987a165cfab916796a8315782b83ac460a651ce2 for pr-145262
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFokoHetman%2FFokCord" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/FokoHetman/FokCord
[INFO] finished tweaking git repo https://github.com/FokoHetman/FokCord
[INFO] tweaked toml for git repo https://github.com/FokoHetman/FokCord written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/FokoHetman/FokCord on toolchain 987a165cfab916796a8315782b83ac460a651ce2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/FokoHetman/FokCord 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" "+987a165cfab916796a8315782b83ac460a651ce2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded emojis v0.6.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2fca3e64623bb2f8295f767b2c8f0fd3e642a72efaaf1578194f89994c197bd6
[INFO] running `Command { std: "docker" "start" "-a" "2fca3e64623bb2f8295f767b2c8f0fd3e642a72efaaf1578194f89994c197bd6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2fca3e64623bb2f8295f767b2c8f0fd3e642a72efaaf1578194f89994c197bd6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2fca3e64623bb2f8295f767b2c8f0fd3e642a72efaaf1578194f89994c197bd6", kill_on_drop: false }`
[INFO] [stdout] 2fca3e64623bb2f8295f767b2c8f0fd3e642a72efaaf1578194f89994c197bd6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b8e29ebef0ca9f91c8d8166682d689fe55665c98e4f31a208d1448e89ee8fec7
[INFO] running `Command { std: "docker" "start" "-a" "b8e29ebef0ca9f91c8d8166682d689fe55665c98e4f31a208d1448e89ee8fec7", kill_on_drop: false }`
[INFO] [stderr]     Checking siphasher v1.0.1
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]     Checking json v0.12.4
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking phf_shared v0.11.3
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking emojis v0.6.4
[INFO] [stderr]     Checking FokCord v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Read`, `Write`, `cmp`, `env`, `fs`, and `self`
[INFO] [stdout]  --> src/foklang/foklang.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 3 |   cmp, env, fs, io::{self, Read, Write}
[INFO] [stdout]   |   ^^^  ^^^  ^^       ^^^^  ^^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyEvent` and `State`
[INFO] [stdout]  --> src/foklang/core/builtins.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{KeyEvent, Fokcord, State};
[INFO] [stdout]   |             ^^^^^^^^           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `zerum` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:735:3
[INFO] [stdout]     |
[INFO] [stdout] 735 |   zerum(),
[INFO] [stdout]     |   ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Zerum`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `single` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:736:3
[INFO] [stdout]     |
[INFO] [stdout] 736 |   single(Proventus),
[INFO] [stdout]     |   ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Single`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `double` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:737:3
[INFO] [stdout]     |
[INFO] [stdout] 737 |   double(Proventus, Proventus),
[INFO] [stdout]     |   ^^^^^^ help: convert the identifier to upper camel case: `Double`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `triple` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:738:3
[INFO] [stdout]     |
[INFO] [stdout] 738 |   triple(Proventus, Proventus, Proventus),
[INFO] [stdout]     |   ^^^^^^ help: convert the identifier to upper camel case: `Triple`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `many` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:739:3
[INFO] [stdout]     |
[INFO] [stdout] 739 |   many(Vec<Proventus>),
[INFO] [stdout]     |   ^^^^ help: convert the identifier to upper camel case: `Many`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `fmap` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:740:3
[INFO] [stdout]     |
[INFO] [stdout] 740 |   fmap(Proventus, Proventus, Environment, Interpreter, Fokcord),
[INFO] [stdout]     |   ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Fmap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `load_file` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:741:3
[INFO] [stdout]     |
[INFO] [stdout] 741 |   load_file(Proventus, Environment, Interpreter, Fokcord),
[INFO] [stdout]     |   ^^^^^^^^^ help: convert the identifier to upper camel case: `LoadFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `zerumFokcord` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:743:3
[INFO] [stdout]     |
[INFO] [stdout] 743 |   zerumFokcord(Fokcord),
[INFO] [stdout]     |   ^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `ZerumFokcord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `singleFokcord` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:744:3
[INFO] [stdout]     |
[INFO] [stdout] 744 |   singleFokcord(Proventus, Fokcord),
[INFO] [stdout]     |   ^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `SingleFokcord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `doubleFokcord` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:745:3
[INFO] [stdout]     |
[INFO] [stdout] 745 |   doubleFokcord(Proventus, Proventus, Fokcord),
[INFO] [stdout]     |   ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DoubleFokcord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:605:28
[INFO] [stdout]     |
[INFO] [stdout] 605 |                   for x in (i..i64::MAX) {
[INFO] [stdout]     |                            ^           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 605 -                   for x in (i..i64::MAX) {
[INFO] [stdout] 605 +                   for x in i..i64::MAX {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `returnfn` should have an upper camel case name
[INFO] [stdout]  --> src/foklang/core/compiler.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 5 |   returnfn
[INFO] [stdout]   |   ^^^^^^^^ help: convert the identifier to upper camel case: `Returnfn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `returnfn` should have an upper camel case name
[INFO] [stdout]   --> src/foklang/core/compiler.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 10 |   returnfn(Box<ANode>)
[INFO] [stdout]    |   ^^^^^^^^ help: convert the identifier to upper camel case: `Returnfn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Operator` and `TokenType`
[INFO] [stdout]  --> src/foklang/core/error_handler.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::foklang::core::tokenizer::{Operator,TokenType};
[INFO] [stdout]   |                                       ^^^^^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeValue` and `Node`
[INFO] [stdout]  --> src/foklang/core/error_handler.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::foklang::core::AST::{Node,NodeValue};
[INFO] [stdout]   |                                 ^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `path::Path` and `unicode_segmentation::UnicodeSegmentation`
[INFO] [stdout]  --> src/main.rs:3:119
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...inal,Read, Write}, path::Path, process::Command, str, sync::{Arc,Mutex}}, unicode_segmentation::UnicodeSegmentation
[INFO] [stdout]   |                       ^^^^^^^^^^                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read`, `Write`, `cmp`, `env`, `fs`, and `self`
[INFO] [stdout]  --> src/foklang/foklang.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 3 |   cmp, env, fs, io::{self, Read, Write}
[INFO] [stdout]   |   ^^^  ^^^  ^^       ^^^^  ^^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyEvent` and `State`
[INFO] [stdout]  --> src/foklang/core/builtins.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{KeyEvent, Fokcord, State};
[INFO] [stdout]   |             ^^^^^^^^           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `zerum` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:735:3
[INFO] [stdout]     |
[INFO] [stdout] 735 |   zerum(),
[INFO] [stdout]     |   ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Zerum`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `single` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:736:3
[INFO] [stdout]     |
[INFO] [stdout] 736 |   single(Proventus),
[INFO] [stdout]     |   ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Single`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `double` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:737:3
[INFO] [stdout]     |
[INFO] [stdout] 737 |   double(Proventus, Proventus),
[INFO] [stdout]     |   ^^^^^^ help: convert the identifier to upper camel case: `Double`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `triple` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:738:3
[INFO] [stdout]     |
[INFO] [stdout] 738 |   triple(Proventus, Proventus, Proventus),
[INFO] [stdout]     |   ^^^^^^ help: convert the identifier to upper camel case: `Triple`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `many` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:739:3
[INFO] [stdout]     |
[INFO] [stdout] 739 |   many(Vec<Proventus>),
[INFO] [stdout]     |   ^^^^ help: convert the identifier to upper camel case: `Many`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `fmap` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:740:3
[INFO] [stdout]     |
[INFO] [stdout] 740 |   fmap(Proventus, Proventus, Environment, Interpreter, Fokcord),
[INFO] [stdout]     |   ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Fmap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `load_file` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:741:3
[INFO] [stdout]     |
[INFO] [stdout] 741 |   load_file(Proventus, Environment, Interpreter, Fokcord),
[INFO] [stdout]     |   ^^^^^^^^^ help: convert the identifier to upper camel case: `LoadFile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `zerumFokcord` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:743:3
[INFO] [stdout]     |
[INFO] [stdout] 743 |   zerumFokcord(Fokcord),
[INFO] [stdout]     |   ^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `ZerumFokcord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `singleFokcord` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:744:3
[INFO] [stdout]     |
[INFO] [stdout] 744 |   singleFokcord(Proventus, Fokcord),
[INFO] [stdout]     |   ^^^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `SingleFokcord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `doubleFokcord` should have an upper camel case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:745:3
[INFO] [stdout]     |
[INFO] [stdout] 745 |   doubleFokcord(Proventus, Proventus, Fokcord),
[INFO] [stdout]     |   ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DoubleFokcord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:605:28
[INFO] [stdout]     |
[INFO] [stdout] 605 |                   for x in (i..i64::MAX) {
[INFO] [stdout]     |                            ^           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 605 -                   for x in (i..i64::MAX) {
[INFO] [stdout] 605 +                   for x in i..i64::MAX {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `returnfn` should have an upper camel case name
[INFO] [stdout]  --> src/foklang/core/compiler.rs:5:3
[INFO] [stdout]   |
[INFO] [stdout] 5 |   returnfn
[INFO] [stdout]   |   ^^^^^^^^ help: convert the identifier to upper camel case: `Returnfn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `returnfn` should have an upper camel case name
[INFO] [stdout]   --> src/foklang/core/compiler.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout] 10 |   returnfn(Box<ANode>)
[INFO] [stdout]    |   ^^^^^^^^ help: convert the identifier to upper camel case: `Returnfn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Operator` and `TokenType`
[INFO] [stdout]  --> src/foklang/core/error_handler.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::foklang::core::tokenizer::{Operator,TokenType};
[INFO] [stdout]   |                                       ^^^^^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeValue` and `Node`
[INFO] [stdout]  --> src/foklang/core/error_handler.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::foklang::core::AST::{Node,NodeValue};
[INFO] [stdout]   |                                 ^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `path::Path` and `unicode_segmentation::UnicodeSegmentation`
[INFO] [stdout]  --> src/main.rs:3:119
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...inal,Read, Write}, path::Path, process::Command, str, sync::{Arc,Mutex}}, unicode_segmentation::UnicodeSegmentation
[INFO] [stdout]   |                       ^^^^^^^^^^                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/foklang/foklang.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut parser = core::parser::Parser {};
[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/foklang/foklang.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let mut interpreter = core::interpreter::Interpreter {error_handler, tokenizer, parser};
[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/foklang/foklang.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut tokenized_input = self.tokenizer.tokenize(input);
[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/foklang/foklang.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut parsed_input = self.parser.parse(tokenized_input);
[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/foklang/foklang.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut interpreted_input = self.interpreter.evaluate(parsed_input, &mut self.env, program.clone());
[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/foklang/foklang.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 |   let mut tokenized_input = tokenizer.tokenize(input);
[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/foklang/foklang.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 |   let mut parsed_input = parser.parse(tokenized_input);
[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/foklang/foklang.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 |   let mut interpreted_input = interpreter.evaluate(parsed_input, &mut env, program);
[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/foklang/core/parser.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut left = self.parse_hstmts(tokens, depth);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `left` is never read
[INFO] [stdout]   --> src/foklang/core/parser.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut left = AST::Node{kind: AST::NodeKind::NullLiteral{value: AST::NodeValue::Nullus}};
[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: `id`
[INFO] [stdout]    --> src/foklang/core/builtins.rs:296:26
[INFO] [stdout]     |
[INFO] [stdout] 296 |     FunctionArgs::triple(id, params, env) => {
[INFO] [stdout]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/foklang/core/builtins.rs:296:30
[INFO] [stdout]     |
[INFO] [stdout] 296 |     FunctionArgs::triple(id, params, env) => {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/foklang/core/builtins.rs:296:38
[INFO] [stdout]     |
[INFO] [stdout] 296 |     FunctionArgs::triple(id, params, env) => {
[INFO] [stdout]     |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/foklang/core/builtins.rs:392:11
[INFO] [stdout]     |
[INFO] [stdout] 392 |       let mut program = program;
[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/foklang/foklang.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut parser = core::parser::Parser {};
[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/foklang/foklang.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let mut interpreter = core::interpreter::Interpreter {error_handler, tokenizer, parser};
[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/foklang/foklang.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let mut tokenized_input = self.tokenizer.tokenize(input);
[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/foklang/foklang.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut parsed_input = self.parser.parse(tokenized_input);
[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/foklang/foklang.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut interpreted_input = self.interpreter.evaluate(parsed_input, &mut self.env, program.clone());
[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/foklang/foklang.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 |   let mut tokenized_input = tokenizer.tokenize(input);
[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/foklang/foklang.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 |   let mut parsed_input = parser.parse(tokenized_input);
[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/foklang/core/builtins.rs:477:11
[INFO] [stdout]     |
[INFO] [stdout] 477 |       let mut program = program;
[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/foklang/foklang.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 |   let mut interpreted_input = interpreter.evaluate(parsed_input, &mut env, program);
[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/foklang/core/builtins.rs:592:7
[INFO] [stdout]     |
[INFO] [stdout] 592 |   let mut s_kernel_version = fs::read_to_string("/proc/version").unwrap().split(" ").collect::<Vec<&str>>()[2].to_string();
[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/foklang/core/builtins.rs:594:7
[INFO] [stdout]     |
[INFO] [stdout] 594 |   let mut cpuinfo = parseCPUInfo(fs::read_to_string("/proc/cpuinfo").unwrap().split("\n\n").collect::<Vec<&str>>()[0].to_string());
[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/foklang/core/builtins.rs:609:7
[INFO] [stdout]     |
[INFO] [stdout] 609 |   let mut s_id = os_release.get("ID").unwrap().replace("\n","");
[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/foklang/core/parser.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut left = self.parse_hstmts(tokens, depth);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `left` is never read
[INFO] [stdout]   --> src/foklang/core/parser.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut left = AST::Node{kind: AST::NodeKind::NullLiteral{value: AST::NodeValue::Nullus}};
[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: `statement`
[INFO] [stdout]    --> src/foklang/core/AST.rs:198:42
[INFO] [stdout]     |
[INFO] [stdout] 198 |   pub fn evaluate_identifier_type(&self, statement: Node) -> String {
[INFO] [stdout]     |                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/foklang/core/AST.rs:216:35
[INFO] [stdout]     |
[INFO] [stdout] 216 |       NodeKind::Config{arguments, flags} => {
[INFO] [stdout]     |                                   ^^^^^ help: try ignoring the field: `flags: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]    --> src/foklang/core/AST.rs:227:47
[INFO] [stdout]     |
[INFO] [stdout] 227 |       NodeKind::BinaryExpression{left, right, operator} => {
[INFO] [stdout]     |                                               ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/foklang/core/AST.rs:348:9
[INFO] [stdout]     |
[INFO] [stdout] 348 |     let mut boxed = Box::<Node>::new(node);
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/foklang/core/interpreter.rs:99:48
[INFO] [stdout]    |
[INFO] [stdout] 99 |   fn evaluate_bool(&mut self, node: AST::Node, env: &mut Environment, program: Fokcord) -> AST::Proventus {
[INFO] [stdout]    |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]   --> src/foklang/core/interpreter.rs:99:71
[INFO] [stdout]    |
[INFO] [stdout] 99 |   fn evaluate_bool(&mut self, node: AST::Node, env: &mut Environment, program: Fokcord) -> AST::Proventus {
[INFO] [stdout]    |                                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:107:48
[INFO] [stdout]     |
[INFO] [stdout] 107 |   fn evaluate_char(&mut self, node: AST::Node, env: &mut Environment, program: Fokcord) -> AST::Proventus {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:107:71
[INFO] [stdout]     |
[INFO] [stdout] 107 |   fn evaluate_char(&mut self, node: AST::Node, env: &mut Environment, program: Fokcord) -> AST::Proventus {
[INFO] [stdout]     |                                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/foklang/core/builtins.rs:296:26
[INFO] [stdout]     |
[INFO] [stdout] 296 |     FunctionArgs::triple(id, params, env) => {
[INFO] [stdout]     |                          ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/foklang/core/builtins.rs:296:30
[INFO] [stdout]     |
[INFO] [stdout] 296 |     FunctionArgs::triple(id, params, env) => {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/foklang/core/builtins.rs:296:38
[INFO] [stdout]     |
[INFO] [stdout] 296 |     FunctionArgs::triple(id, params, env) => {
[INFO] [stdout]     |                                      ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:167:51
[INFO] [stdout]     |
[INFO] [stdout] 167 |             AST::NodeKind::BinaryExpression{left, right, ..} => {
[INFO] [stdout]     |                                                   ^^^^^-
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |                     for i in 0..list2.len()-1 {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/foklang/core/builtins.rs:392:11
[INFO] [stdout]     |
[INFO] [stdout] 392 |       let mut program = program;
[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/foklang/core/builtins.rs:477:11
[INFO] [stdout]     |
[INFO] [stdout] 477 |       let mut program = program;
[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/foklang/core/interpreter.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 |           let mut definitive = id.1[0].clone();
[INFO] [stdout]     |               ----^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:333:44
[INFO] [stdout]     |
[INFO] [stdout] 333 |       AST::NodeKind::Config{ref arguments, flags} => {
[INFO] [stdout]     |                                            ^^^^^ help: try ignoring the field: `flags: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `identifier`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:375:38
[INFO] [stdout]     |
[INFO] [stdout] 375 |       AST::NodeKind::TypeDeclaration{identifier, ftype} => {
[INFO] [stdout]     |                                      ^^^^^^^^^^ help: try ignoring the field: `identifier: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ftype`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:375:50
[INFO] [stdout]     |
[INFO] [stdout] 375 |       AST::NodeKind::TypeDeclaration{identifier, ftype} => {
[INFO] [stdout]     |                                                  ^^^^^ help: try ignoring the field: `ftype: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `childs`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:390:37
[INFO] [stdout]     |
[INFO] [stdout] 390 |           AST::NodeKind::Identifier{ref childs, ..} => {
[INFO] [stdout]     |                                     ^^^^^^^^^^-
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/foklang/core/builtins.rs:592:7
[INFO] [stdout]     |
[INFO] [stdout] 592 |   let mut s_kernel_version = fs::read_to_string("/proc/version").unwrap().split(" ").collect::<Vec<&str>>()[2].to_string();
[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/foklang/core/builtins.rs:594:7
[INFO] [stdout]     |
[INFO] [stdout] 594 |   let mut cpuinfo = parseCPUInfo(fs::read_to_string("/proc/cpuinfo").unwrap().split("\n\n").collect::<Vec<&str>>()[0].to_string());
[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/foklang/core/builtins.rs:609:7
[INFO] [stdout]     |
[INFO] [stdout] 609 |   let mut s_id = os_release.get("ID").unwrap().replace("\n","");
[INFO] [stdout]     |       ----^^^^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `searched`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:647:9
[INFO] [stdout]     |
[INFO] [stdout] 647 |     let searched = id.clone();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_searched`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:646:9
[INFO] [stdout]     |
[INFO] [stdout] 646 |     let mut new_value = node.clone();
[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/foklang/core/interpreter.rs:679:13
[INFO] [stdout]     |
[INFO] [stdout] 679 |         let mut nleft = Box::new(self.soft_evaluate(*left.clone(), id.clone(), env));
[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/foklang/core/interpreter.rs:680:13
[INFO] [stdout]     |
[INFO] [stdout] 680 |         let mut nright = Box::new(self.soft_evaluate(*right.clone(), id.clone(), env));
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_env`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:740:19
[INFO] [stdout]     |
[INFO] [stdout] 740 |           let mut function_env = Environment{parent: Some(Box::new(env.clone())), error_handler: self.error_handler, ..Default::default()};
[INFO] [stdout]     |                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:760:39
[INFO] [stdout]     |
[INFO] [stdout] 760 |                   AST::NodeKind::List{body} => {
[INFO] [stdout]     |                                       ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:771:45
[INFO] [stdout]     |
[INFO] [stdout] 771 |                   AST::NodeKind::ListConcat{item, list} => {
[INFO] [stdout]     |                                             ^^^^ help: try ignoring the field: `item: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `list`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:771:51
[INFO] [stdout]     |
[INFO] [stdout] 771 |                   AST::NodeKind::ListConcat{item, list} => {
[INFO] [stdout]     |                                                   ^^^^ help: try ignoring the field: `list: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:773:47
[INFO] [stdout]     |
[INFO] [stdout] 773 |                       AST::Fructa::Inventarii(v) => {}
[INFO] [stdout]     |                                               ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:818:49
[INFO] [stdout]     |
[INFO] [stdout] 818 |                   AST::NodeKind::NumericLiteral{value,..} =>  {},
[INFO] [stdout]     |                                                 ^^^^^-
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `statement`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:833:94
[INFO] [stdout]     |
[INFO] [stdout] 833 | ...cta::Moenus(ref args, ref statement) => {let mut n_args = args.clone(); n_args.remove(0); n_args}, _ => panic!("gwuh")};
[INFO] [stdout]     |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:837:141
[INFO] [stdout]     |
[INFO] [stdout] 837 | ...ion.value {AST::Fructa::Moenus(args, statement) => statement, _ => panic!("huh")}, args[i].clone(), &mut one_arg_env));
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:840:123
[INFO] [stdout]     |
[INFO] [stdout] 840 | ...on.value { AST::Fructa::Moenus(args, statement) => statement, _ => panic!("??")});
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:843:149
[INFO] [stdout]     |
[INFO] [stdout] 843 | ...ion.value {AST::Fructa::Moenus(args, statement) => statement, _ => panic!("huh")}, *item.clone(), &mut one_arg_env));
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:844:141
[INFO] [stdout]     |
[INFO] [stdout] 844 | ...ion.value {AST::Fructa::Moenus(args, statement) => statement, _ => panic!("huh")}, *list.clone(), &mut one_arg_env));
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:847:121
[INFO] [stdout]     |
[INFO] [stdout] 847 | ...on.value { AST::Fructa::Moenus(args, statement) => statement, _ => panic!("??")});
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:852:78
[INFO] [stdout]     |
[INFO] [stdout] 852 | ...   childs: match final_call.kind {AST::NodeKind::Identifier{symbol, childs} => {let mut rch = childs.clone(); rch.remove(0); rch}, _ =...
[INFO] [stdout]     |                                                                ^^^^^^ help: try ignoring the field: `symbol: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:864:88
[INFO] [stdout]     |
[INFO] [stdout] 864 | ...ion.value {AST::Fructa::Moenus(args, statement) => statement, _ => panic!(">>>")}, env, program.clone());
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:893:37
[INFO] [stdout]     |
[INFO] [stdout] 893 |           AST::NodeKind::Identifier{ref symbol, ref childs} => {
[INFO] [stdout]     |                                     ^^^^^^^^^^ help: try ignoring the field: `symbol: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `null_filler`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:912:13
[INFO] [stdout]     |
[INFO] [stdout] 912 |         let null_filler = AST::Proventus{value: AST::Fructa::Nullus, id: -2};
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_null_filler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:740:15
[INFO] [stdout]     |
[INFO] [stdout] 740 |           let mut function_env = Environment{parent: Some(Box::new(env.clone())), error_handler: self.error_handler, ..Default::default()};
[INFO] [stdout]     |               ----^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `statement`
[INFO] [stdout]    --> src/foklang/core/AST.rs:198:42
[INFO] [stdout]     |
[INFO] [stdout] 198 |   pub fn evaluate_identifier_type(&self, statement: Node) -> String {
[INFO] [stdout]     |                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/foklang/core/AST.rs:216:35
[INFO] [stdout]     |
[INFO] [stdout] 216 |       NodeKind::Config{arguments, flags} => {
[INFO] [stdout]     |                                   ^^^^^ help: try ignoring the field: `flags: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `operator`
[INFO] [stdout]    --> src/foklang/core/AST.rs:227:47
[INFO] [stdout]     |
[INFO] [stdout] 227 |       NodeKind::BinaryExpression{left, right, operator} => {
[INFO] [stdout]     |                                               ^^^^^^^^ help: try ignoring the field: `operator: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/foklang/core/compiler.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 |   for i in 0..times {
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/foklang/core/AST.rs:348:9
[INFO] [stdout]     |
[INFO] [stdout] 348 |     let mut boxed = Box::<Node>::new(node);
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]    --> src/foklang/core/compiler.rs:177:41
[INFO] [stdout]     |
[INFO] [stdout] 177 |   pub fn code_gen(&mut self, ast: AAST, file: String, env: &mut Environment) -> String {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/foklang/core/compiler.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let mut indent = 2;
[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/foklang/core/compiler.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let mut indent = 2;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ev_indent`
[INFO] [stdout]    --> src/foklang/core/compiler.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |     let ev_indent = mul_string(indent, String::from(" "));
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ev_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/foklang/core/compiler.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let location = env.get(identifier.clone());
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp`
[INFO] [stdout]    --> src/foklang/core/compiler.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let temp = self.parse_c_node(*statement.clone(), current, indent, &mut t_env);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_temp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/foklang/core/interpreter.rs:99:48
[INFO] [stdout]    |
[INFO] [stdout] 99 |   fn evaluate_bool(&mut self, node: AST::Node, env: &mut Environment, program: Fokcord) -> AST::Proventus {
[INFO] [stdout]    |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]   --> src/foklang/core/interpreter.rs:99:71
[INFO] [stdout]    |
[INFO] [stdout] 99 |   fn evaluate_bool(&mut self, node: AST::Node, env: &mut Environment, program: Fokcord) -> AST::Proventus {
[INFO] [stdout]    |                                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:107:48
[INFO] [stdout]     |
[INFO] [stdout] 107 |   fn evaluate_char(&mut self, node: AST::Node, env: &mut Environment, program: Fokcord) -> AST::Proventus {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:107:71
[INFO] [stdout]     |
[INFO] [stdout] 107 |   fn evaluate_char(&mut self, node: AST::Node, env: &mut Environment, program: Fokcord) -> AST::Proventus {
[INFO] [stdout]     |                                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indent`
[INFO] [stdout]    --> src/foklang/core/compiler.rs:305:66
[INFO] [stdout]     |
[INFO] [stdout] 305 |   pub fn inject_label(&mut self, current: String, label: String, indent: i64) -> String {
[INFO] [stdout]     |                                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:167:51
[INFO] [stdout]     |
[INFO] [stdout] 167 |             AST::NodeKind::BinaryExpression{left, right, ..} => {
[INFO] [stdout]     |                                                   ^^^^^-
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |                     for i in 0..list2.len()-1 {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/compiler.rs:318:25
[INFO] [stdout]     |
[INFO] [stdout] 318 |       ANodeKind::Moenus(args, identifier) => {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/compiler.rs:424:31
[INFO] [stdout]     |
[INFO] [stdout] 424 |             ANodeKind::Moenus(args, ..) => {
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 |           let mut definitive = id.1[0].clone();
[INFO] [stdout]     |               ----^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]   --> src/foklang/core/error_handler.rs:14:40
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub fn check_binary_expression(self, left: i32, right: i32) -> Peritia {
[INFO] [stdout]    |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:333:44
[INFO] [stdout]     |
[INFO] [stdout] 333 |       AST::NodeKind::Config{ref arguments, flags} => {
[INFO] [stdout]     |                                            ^^^^^ help: try ignoring the field: `flags: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/foklang/core/error_handler.rs:14:51
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub fn check_binary_expression(self, left: i32, right: i32) -> Peritia {
[INFO] [stdout]    |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]   --> src/foklang/core/error_handler.rs:18:49
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub fn check_binary_expression_division(self, left: i32, right: i32) -> Peritia {
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]   --> src/foklang/core/env.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 |               AST::NodeKind::Identifier{symbol, childs: c2} => {
[INFO] [stdout]    |                                         ^^^^^^ help: try ignoring the field: `symbol: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `identifier`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:375:38
[INFO] [stdout]     |
[INFO] [stdout] 375 |       AST::NodeKind::TypeDeclaration{identifier, ftype} => {
[INFO] [stdout]     |                                      ^^^^^^^^^^ help: try ignoring the field: `identifier: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ftype`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:375:50
[INFO] [stdout]     |
[INFO] [stdout] 375 |       AST::NodeKind::TypeDeclaration{identifier, ftype} => {
[INFO] [stdout]     |                                                  ^^^^^ help: try ignoring the field: `ftype: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `childs`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:390:37
[INFO] [stdout]     |
[INFO] [stdout] 390 |           AST::NodeKind::Identifier{ref childs, ..} => {
[INFO] [stdout]     |                                     ^^^^^^^^^^-
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]   --> src/foklang/core/asm_env.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 |               AST::NodeKind::Identifier{symbol, childs: c2} => {
[INFO] [stdout]    |                                         ^^^^^^ help: try ignoring the field: `symbol: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `searched`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:647:9
[INFO] [stdout]     |
[INFO] [stdout] 647 |     let searched = id.clone();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_searched`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:646:9
[INFO] [stdout]     |
[INFO] [stdout] 646 |     let mut new_value = node.clone();
[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/foklang/core/interpreter.rs:679:13
[INFO] [stdout]     |
[INFO] [stdout] 679 |         let mut nleft = Box::new(self.soft_evaluate(*left.clone(), id.clone(), env));
[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/foklang/core/interpreter.rs:680:13
[INFO] [stdout]     |
[INFO] [stdout] 680 |         let mut nright = Box::new(self.soft_evaluate(*right.clone(), id.clone(), env));
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_env`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:740:19
[INFO] [stdout]     |
[INFO] [stdout] 740 |           let mut function_env = Environment{parent: Some(Box::new(env.clone())), error_handler: self.error_handler, ..Default::default()};
[INFO] [stdout]     |                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:760:39
[INFO] [stdout]     |
[INFO] [stdout] 760 |                   AST::NodeKind::List{body} => {
[INFO] [stdout]     |                                       ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:771:45
[INFO] [stdout]     |
[INFO] [stdout] 771 |                   AST::NodeKind::ListConcat{item, list} => {
[INFO] [stdout]     |                                             ^^^^ help: try ignoring the field: `item: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `list`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:771:51
[INFO] [stdout]     |
[INFO] [stdout] 771 |                   AST::NodeKind::ListConcat{item, list} => {
[INFO] [stdout]     |                                                   ^^^^ help: try ignoring the field: `list: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:773:47
[INFO] [stdout]     |
[INFO] [stdout] 773 |                       AST::Fructa::Inventarii(v) => {}
[INFO] [stdout]     |                                               ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:818:49
[INFO] [stdout]     |
[INFO] [stdout] 818 |                   AST::NodeKind::NumericLiteral{value,..} =>  {},
[INFO] [stdout]     |                                                 ^^^^^-
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `statement`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:833:94
[INFO] [stdout]     |
[INFO] [stdout] 833 | ...cta::Moenus(ref args, ref statement) => {let mut n_args = args.clone(); n_args.remove(0); n_args}, _ => panic!("gwuh")};
[INFO] [stdout]     |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:837:141
[INFO] [stdout]     |
[INFO] [stdout] 837 | ...ion.value {AST::Fructa::Moenus(args, statement) => statement, _ => panic!("huh")}, args[i].clone(), &mut one_arg_env));
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:840:123
[INFO] [stdout]     |
[INFO] [stdout] 840 | ...on.value { AST::Fructa::Moenus(args, statement) => statement, _ => panic!("??")});
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:843:149
[INFO] [stdout]     |
[INFO] [stdout] 843 | ...ion.value {AST::Fructa::Moenus(args, statement) => statement, _ => panic!("huh")}, *item.clone(), &mut one_arg_env));
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:844:141
[INFO] [stdout]     |
[INFO] [stdout] 844 | ...ion.value {AST::Fructa::Moenus(args, statement) => statement, _ => panic!("huh")}, *list.clone(), &mut one_arg_env));
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:847:121
[INFO] [stdout]     |
[INFO] [stdout] 847 | ...on.value { AST::Fructa::Moenus(args, statement) => statement, _ => panic!("??")});
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:852:78
[INFO] [stdout]     |
[INFO] [stdout] 852 | ...   childs: match final_call.kind {AST::NodeKind::Identifier{symbol, childs} => {let mut rch = childs.clone(); rch.remove(0); rch}, _ =...
[INFO] [stdout]     |                                                                ^^^^^^ help: try ignoring the field: `symbol: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:864:88
[INFO] [stdout]     |
[INFO] [stdout] 864 | ...ion.value {AST::Fructa::Moenus(args, statement) => statement, _ => panic!(">>>")}, env, program.clone());
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:893:37
[INFO] [stdout]     |
[INFO] [stdout] 893 |           AST::NodeKind::Identifier{ref symbol, ref childs} => {
[INFO] [stdout]     |                                     ^^^^^^^^^^ help: try ignoring the field: `symbol: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `null_filler`
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:912:13
[INFO] [stdout]     |
[INFO] [stdout] 912 |         let null_filler = AST::Proventus{value: AST::Fructa::Nullus, id: -2};
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_null_filler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:311:7
[INFO] [stdout]     |
[INFO] [stdout] 311 |       _ => {}
[INFO] [stdout]     |       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:311:7
[INFO] [stdout]     |
[INFO] [stdout] 302 |       State::Control => {
[INFO] [stdout]     |       -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 305 |       State::Command => {
[INFO] [stdout]     |       -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 308 |       State::Message => {
[INFO] [stdout]     |       -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 311 |       _ => {}
[INFO] [stdout]     |       ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:740:15
[INFO] [stdout]     |
[INFO] [stdout] 740 |           let mut function_env = Environment{parent: Some(Box::new(env.clone())), error_handler: self.error_handler, ..Default::default()};
[INFO] [stdout]     |               ----^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/foklang/core/compiler.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 |   for i in 0..times {
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]    --> src/foklang/core/compiler.rs:177:41
[INFO] [stdout]     |
[INFO] [stdout] 177 |   pub fn code_gen(&mut self, ast: AAST, file: String, env: &mut Environment) -> String {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/foklang/core/compiler.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let mut indent = 2;
[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/foklang/core/compiler.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let mut indent = 2;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ev_indent`
[INFO] [stdout]    --> src/foklang/core/compiler.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |     let ev_indent = mul_string(indent, String::from(" "));
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ev_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/foklang/core/compiler.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let location = env.get(identifier.clone());
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `temp`
[INFO] [stdout]    --> src/foklang/core/compiler.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let temp = self.parse_c_node(*statement.clone(), current, indent, &mut t_env);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_temp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indent`
[INFO] [stdout]    --> src/foklang/core/compiler.rs:305:66
[INFO] [stdout]     |
[INFO] [stdout] 305 |   pub fn inject_label(&mut self, current: String, label: String, indent: i64) -> String {
[INFO] [stdout]     |                                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_indent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/compiler.rs:318:25
[INFO] [stdout]     |
[INFO] [stdout] 318 |       ANodeKind::Moenus(args, identifier) => {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/foklang/core/compiler.rs:424:31
[INFO] [stdout]     |
[INFO] [stdout] 424 |             ANodeKind::Moenus(args, ..) => {
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/main.rs:546:20
[INFO] [stdout]     |
[INFO] [stdout] 546 |     KeyCode::Arrow(d) => {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]   --> src/foklang/core/error_handler.rs:14:40
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub fn check_binary_expression(self, left: i32, right: i32) -> Peritia {
[INFO] [stdout]    |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> src/foklang/core/error_handler.rs:14:51
[INFO] [stdout]    |
[INFO] [stdout] 14 |   pub fn check_binary_expression(self, left: i32, right: i32) -> Peritia {
[INFO] [stdout]    |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]   --> src/foklang/core/error_handler.rs:18:49
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub fn check_binary_expression_division(self, left: i32, right: i32) -> Peritia {
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]   --> src/foklang/core/env.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 |               AST::NodeKind::Identifier{symbol, childs: c2} => {
[INFO] [stdout]    |                                         ^^^^^^ help: try ignoring the field: `symbol: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `raw_run` is never used
[INFO] [stdout]   --> src/foklang/foklang.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Foklang {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |   pub fn raw_run(&mut self, input: String, program: Fokcord) -> core::AST::Proventus {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/foklang/foklang.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn run(input: String, program: crate::Fokcord) -> String {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Nullus` is never constructed
[INFO] [stdout]   --> src/foklang/core/tokenizer.rs:59:3
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub enum TokenType {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 59 |   Nullus,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `eatExpectValue` is never used
[INFO] [stdout]   --> src/foklang/core/parser.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Parser {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |   pub fn eatExpectValue(&self, expectedTokenValue: TokenValue, err_msg: String, tokens: &mut Vec<Token>)-> Token {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol`
[INFO] [stdout]   --> src/foklang/core/asm_env.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 |               AST::NodeKind::Identifier{symbol, childs: c2} => {
[INFO] [stdout]    |                                         ^^^^^^ help: try ignoring the field: `symbol: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getw` is never used
[INFO] [stdout]    --> src/foklang/core/builtins.rs:536:4
[INFO] [stdout]     |
[INFO] [stdout] 536 | fn getw(config: Proventus, string: &str) -> Proventus {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identifier` is never used
[INFO] [stdout]    --> src/foklang/core/builtins.rs:549:4
[INFO] [stdout]     |
[INFO] [stdout] 549 | fn identifier(id: &str) -> Node {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `int` is never used
[INFO] [stdout]    --> src/foklang/core/builtins.rs:552:4
[INFO] [stdout]     |
[INFO] [stdout] 552 | fn int(int: i64) -> Proventus {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `doubleFokcord` is never constructed
[INFO] [stdout]    --> src/foklang/core/builtins.rs:745:3
[INFO] [stdout]     |
[INFO] [stdout] 734 | pub enum FunctionArgs {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 745 |   doubleFokcord(Proventus, Proventus, Fokcord),
[INFO] [stdout]     |   ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionArgs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Expression`, `Stmt`, and `DefineBounds` are never constructed
[INFO] [stdout]   --> src/foklang/core/AST.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum NodeKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |   Expression,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout] 11 |   BinaryExpression{ left: Box<Node>, right: Box<Node>, operator: Operator},
[INFO] [stdout] 12 |   Stmt,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |   DefineBounds{identifier: Box<Node>, bound: Box<Node>},
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeKind` 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: variant `String` is never constructed
[INFO] [stdout]   --> src/foklang/core/AST.rs:32:3
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum NodeValue {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 31 |   Integer(i64),
[INFO] [stdout] 32 |   String(String),
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ABuiltins` is never used
[INFO] [stdout]  --> src/foklang/core/compiler.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum ABuiltins {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AFunctions` is never used
[INFO] [stdout]  --> src/foklang/core/compiler.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | enum AFunctions {
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `declare_builtin` is never used
[INFO] [stdout]   --> src/foklang/core/compiler.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn declare_builtin(id: String, builtin: ABuiltins, env: &mut Environment) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `declare_builtins` is never used
[INFO] [stdout]   --> src/foklang/core/compiler.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn declare_builtins(env: &mut Environment) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ANodeKind` is never used
[INFO] [stdout]   --> src/foklang/core/compiler.rs:27:6
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum ANodeKind {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ANode` is never constructed
[INFO] [stdout]   --> src/foklang/core/compiler.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ANode {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AAST` is never constructed
[INFO] [stdout]   --> src/foklang/core/compiler.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct AAST {body: Vec<ANode>} // Assembly AST
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul_string` is never used
[INFO] [stdout]   --> src/foklang/core/compiler.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn mul_string(times: i64, string: String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Language` is never used
[INFO] [stdout]   --> src/foklang/core/compiler.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub enum Language {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Compiler` is never constructed
[INFO] [stdout]   --> src/foklang/core/compiler.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Compiler {pub stack_size: i64, pub language: Language}
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/foklang/core/compiler.rs:76:10
[INFO] [stdout]     |
[INFO] [stdout]  75 | impl Compiler {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout]  76 |   pub fn transform_program(&mut self, program: AST::Node, env: &mut Environment) -> AAST {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |   pub fn transform(&mut self, node: AST::Node, env: &mut Environment) -> ANode {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |   pub fn transform_function(&mut self, node: AST::Node, env: &mut Environment) -> ANode {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |   pub fn transform_identifier(&mut self, node: AST::Node, env: &mut Environment) -> ANode {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |   pub fn code_gen(&mut self, ast: AAST, file: String, env: &mut Environment) -> String {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |   pub fn parse_c_node(&mut self, node: ANode, current: &mut String, indent: i64, env: &mut Environment) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |   pub fn inject_label(&mut self, current: String, label: String, indent: i64) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |   pub fn parse_asm_node(&mut self, node: ANode, current: &mut String, indent: i64, env: &mut Environment) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 445 |   pub fn compile(&mut self, program: AST::Node, env: &mut Environment, file: String) -> String {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bool` is never read
[INFO] [stdout]  --> src/foklang/core/error_handler.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Peritia {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 8 |   pub bool: bool,
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `check_binary_expression` and `check_binary_expression_division` are never used
[INFO] [stdout]   --> src/foklang/core/error_handler.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ErrorHandler {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |   pub fn check_binary_expression(self, left: i32, right: i32) -> Peritia {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |   pub fn check_binary_expression_division(self, left: i32, right: i32) -> Peritia {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Environment` is never constructed
[INFO] [stdout]  --> src/foklang/core/asm_env.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Environment {pub parent: Option<Box<Environment>>, pub functions: Vec<(AST::Node, compiler::ANode)>, 
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `declare`, `push_args`, `resolve`, `has`, and `get` are never used
[INFO] [stdout]   --> src/foklang/core/asm_env.rs:9:10
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Environment {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout]  9 |   pub fn declare(&mut self, identifier: AST::Node, value: compiler::ANode) -> compiler::ANode {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |   pub fn push_args(&mut self, args: Vec<Box<AST::Node>>) {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |   pub fn resolve(&self, identifier: AST::Node) -> Environment {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |   pub fn has(&self, identifier: AST::Node) -> bool {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |   pub fn get(&self, identifier: AST::Node) -> Vec<compiler::ANode> {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `termios` should have an upper case name
[INFO] [stdout]  --> src/main.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | static termios: Mutex<libc::termios> = Mutex::new(libc::termios { c_iflag: 0, c_oflag: 0, c_cflag: 0, c_lflag: 0, c_line: 1, c_cc: [0 as ...
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 6 - static termios: Mutex<libc::termios> = Mutex::new(libc::termios { c_iflag: 0, c_oflag: 0, c_cflag: 0, c_lflag: 0, c_line: 1, c_cc: [0 as u8; 32], c_ispeed: 1, c_ospeed: 1 });
[INFO] [stdout] 6 + static TERMIOS: Mutex<libc::termios> = Mutex::new(libc::termios { c_iflag: 0, c_oflag: 0, c_cflag: 0, c_lflag: 0, c_line: 1, c_cc: [0 as u8; 32], c_ispeed: 1, c_ospeed: 1 });
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cURL` should have a snake case name
[INFO] [stdout]    --> src/main.rs:605:7
[INFO] [stdout]     |
[INFO] [stdout] 605 |   let cURL = format!("curl --request POST {} -d '{body}' https://discord.com/api/{}",/* params,*/ heads, path);
[INFO] [stdout]     |       ^^^^ help: convert the identifier to snake case: `c_url`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `AST` should have a snake case name
[INFO] [stdout]  --> src/foklang/core/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod AST;
[INFO] [stdout]   |         ^^^ help: convert the identifier to snake case: `ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `eatExpect` should have a snake case name
[INFO] [stdout]   --> src/foklang/core/parser.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 |   pub fn eatExpect(&mut self, expectedTokenType: TokenType, err_msg: String, tokens: &mut Vec<Token>) -> Token {
[INFO] [stdout]    |          ^^^^^^^^^ help: convert the identifier to snake case: `eat_expect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expectedTokenType` should have a snake case name
[INFO] [stdout]   --> src/foklang/core/parser.rs:15:31
[INFO] [stdout]    |
[INFO] [stdout] 15 |   pub fn eatExpect(&mut self, expectedTokenType: TokenType, err_msg: String, tokens: &mut Vec<Token>) -> Token {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_token_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `eatExpectValue` should have a snake case name
[INFO] [stdout]   --> src/foklang/core/parser.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |   pub fn eatExpectValue(&self, expectedTokenValue: TokenValue, err_msg: String, tokens: &mut Vec<Token>)-> Token {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eat_expect_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expectedTokenValue` should have a snake case name
[INFO] [stdout]   --> src/foklang/core/parser.rs:25:32
[INFO] [stdout]    |
[INFO] [stdout] 25 |   pub fn eatExpectValue(&self, expectedTokenValue: TokenValue, err_msg: String, tokens: &mut Vec<Token>)-> Token {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_token_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `uwInt` should have a snake case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:540:4
[INFO] [stdout]     |
[INFO] [stdout] 540 | fn uwInt(int: Proventus) -> i64 {
[INFO] [stdout]     |    ^^^^^ help: convert the identifier to snake case: `uw_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parseConf` should have a snake case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:567:4
[INFO] [stdout]     |
[INFO] [stdout] 567 | fn parseConf(conf: String) -> HashMap<String, String> {
[INFO] [stdout]     |    ^^^^^^^^^ help: convert the identifier to snake case: `parse_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parseCPUInfo` should have a snake case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:579:4
[INFO] [stdout]     |
[INFO] [stdout] 579 | fn parseCPUInfo(conf: String) -> HashMap<String, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_cpuinfo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/foklang/core/AST.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Clone,Debug, PartialEq)]
[INFO] [stdout]    |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 54 |   BuiltIn(fn(builtins::Arguments) -> Proventus, /*cached args*/ Vec<Node>),
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `appendToBody` should have a snake case name
[INFO] [stdout]    --> src/foklang/core/AST.rs:347:10
[INFO] [stdout]     |
[INFO] [stdout] 347 |   pub fn appendToBody(&mut self, node: Node) {
[INFO] [stdout]     |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `append_to_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `identifierBounds` should have a snake case name
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:164:17
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let mut identifierBounds: Vec<(AST::Node, Vec<AST::Proventus>)> = vec![];
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `identifier_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:913:12
[INFO] [stdout]     |
[INFO] [stdout] 913 |         if f == builtins::print {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 913 -         if f == builtins::print {
[INFO] [stdout] 913 +         if std::ptr::fn_addr_eq(f, builtins::print as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:922:19
[INFO] [stdout]     |
[INFO] [stdout] 922 |         } else if f == builtins::get {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 922 -         } else if f == builtins::get {
[INFO] [stdout] 922 +         } else if std::ptr::fn_addr_eq(f, builtins::get as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:932:19
[INFO] [stdout]     |
[INFO] [stdout] 932 |         } else if f == builtins::println {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 932 -         } else if f == builtins::println {
[INFO] [stdout] 932 +         } else if std::ptr::fn_addr_eq(f, builtins::println as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:940:19
[INFO] [stdout]     |
[INFO] [stdout] 940 |         } else if f == builtins::fmap {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 940 -         } else if f == builtins::fmap {
[INFO] [stdout] 940 +         } else if std::ptr::fn_addr_eq(f, builtins::fmap as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:947:19
[INFO] [stdout]     |
[INFO] [stdout] 947 |         } else if f == builtins::join {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 947 -         } else if f == builtins::join {
[INFO] [stdout] 947 +         } else if std::ptr::fn_addr_eq(f, builtins::join as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:954:19
[INFO] [stdout]     |
[INFO] [stdout] 954 |         } else if f == builtins::returnfn {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 954 -         } else if f == builtins::returnfn {
[INFO] [stdout] 954 +         } else if std::ptr::fn_addr_eq(f, builtins::returnfn as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:311:7
[INFO] [stdout]     |
[INFO] [stdout] 311 |       _ => {}
[INFO] [stdout]     |       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:311:7
[INFO] [stdout]     |
[INFO] [stdout] 302 |       State::Control => {
[INFO] [stdout]     |       -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 305 |       State::Command => {
[INFO] [stdout]     |       -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 308 |       State::Message => {
[INFO] [stdout]     |       -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 311 |       _ => {}
[INFO] [stdout]     |       ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:959:19
[INFO] [stdout]     |
[INFO] [stdout] 959 |         } else if f == builtins::type_of {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 959 -         } else if f == builtins::type_of {
[INFO] [stdout] 959 +         } else if std::ptr::fn_addr_eq(f, builtins::type_of as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:965:19
[INFO] [stdout]     |
[INFO] [stdout] 965 |         } else if f == builtins::head || f==builtins::tail {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 965 -         } else if f == builtins::head || f==builtins::tail {
[INFO] [stdout] 965 +         } else if std::ptr::fn_addr_eq(f, builtins::head as fn(builtins::Arguments) -> AST::Proventus) || f==builtins::tail {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:965:42
[INFO] [stdout]     |
[INFO] [stdout] 965 |         } else if f == builtins::head || f==builtins::tail {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 965 -         } else if f == builtins::head || f==builtins::tail {
[INFO] [stdout] 965 +         } else if f == builtins::head || std::ptr::fn_addr_eq(f, builtins::tail as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:970:19
[INFO] [stdout]     |
[INFO] [stdout] 970 |         } else if f == builtins::length {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 970 -         } else if f == builtins::length {
[INFO] [stdout] 970 +         } else if std::ptr::fn_addr_eq(f, builtins::length as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:975:19
[INFO] [stdout]     |
[INFO] [stdout] 975 |         } else if f == builtins::take {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 975 -         } else if f == builtins::take {
[INFO] [stdout] 975 +         } else if std::ptr::fn_addr_eq(f, builtins::take as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:982:19
[INFO] [stdout]     |
[INFO] [stdout] 982 |         } else if f == builtins::replace {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 982 -         } else if f == builtins::replace {
[INFO] [stdout] 982 +         } else if std::ptr::fn_addr_eq(f, builtins::replace as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:992:19
[INFO] [stdout]     |
[INFO] [stdout] 992 |         } else if f == builtins::split {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 992 -         } else if f == builtins::split {
[INFO] [stdout] 992 +         } else if std::ptr::fn_addr_eq(f, builtins::split as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:999:19
[INFO] [stdout]     |
[INFO] [stdout] 999 |         } else if f == builtins::to_int || f == builtins::to_string {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 999 -         } else if f == builtins::to_int || f == builtins::to_string {
[INFO] [stdout] 999 +         } else if std::ptr::fn_addr_eq(f, builtins::to_int as fn(builtins::Arguments) -> AST::Proventus) || f == builtins::to_string {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:999:44
[INFO] [stdout]     |
[INFO] [stdout] 999 |         } else if f == builtins::to_int || f == builtins::to_string {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 999 -         } else if f == builtins::to_int || f == builtins::to_string {
[INFO] [stdout] 999 +         } else if f == builtins::to_int || std::ptr::fn_addr_eq(f, builtins::to_string as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1004:19
[INFO] [stdout]      |
[INFO] [stdout] 1004 |         } else if f == builtins::globals {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1004 -         } else if f == builtins::globals {
[INFO] [stdout] 1004 +         } else if std::ptr::fn_addr_eq(f, builtins::globals as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1007:19
[INFO] [stdout]      |
[INFO] [stdout] 1007 |         } else if f == builtins::read_file || f == builtins::envf || f == builtins::exec {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1007 -         } else if f == builtins::read_file || f == builtins::envf || f == builtins::exec {
[INFO] [stdout] 1007 +         } else if std::ptr::fn_addr_eq(f, builtins::read_file as fn(builtins::Arguments) -> AST::Proventus) || f == builtins::envf || f == builtins::exec {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1007:47
[INFO] [stdout]      |
[INFO] [stdout] 1007 |         } else if f == builtins::read_file || f == builtins::envf || f == builtins::exec {
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1007 -         } else if f == builtins::read_file || f == builtins::envf || f == builtins::exec {
[INFO] [stdout] 1007 +         } else if f == builtins::read_file || std::ptr::fn_addr_eq(f, builtins::envf as fn(builtins::Arguments) -> AST::Proventus) || f == builtins::exec {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1007:70
[INFO] [stdout]      |
[INFO] [stdout] 1007 |         } else if f == builtins::read_file || f == builtins::envf || f == builtins::exec {
[INFO] [stdout]      |                                                                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1007 -         } else if f == builtins::read_file || f == builtins::envf || f == builtins::exec {
[INFO] [stdout] 1007 +         } else if f == builtins::read_file || f == builtins::envf || std::ptr::fn_addr_eq(f, builtins::exec as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1012:19
[INFO] [stdout]      |
[INFO] [stdout] 1012 |         } else if f == builtins::load_file || f == builtins::load_string {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1012 -         } else if f == builtins::load_file || f == builtins::load_string {
[INFO] [stdout] 1012 +         } else if std::ptr::fn_addr_eq(f, builtins::load_file as fn(builtins::Arguments) -> AST::Proventus) || f == builtins::load_string {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1012:47
[INFO] [stdout]      |
[INFO] [stdout] 1012 |         } else if f == builtins::load_file || f == builtins::load_string {
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1012 -         } else if f == builtins::load_file || f == builtins::load_string {
[INFO] [stdout] 1012 +         } else if f == builtins::load_file || std::ptr::fn_addr_eq(f, builtins::load_string as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1019:17
[INFO] [stdout]      |
[INFO] [stdout] 1019 |         else if f == builtins::quit || f == builtins::reload_cache {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1019 -         else if f == builtins::quit || f == builtins::reload_cache {
[INFO] [stdout] 1019 +         else if std::ptr::fn_addr_eq(f, builtins::quit as fn(builtins::Arguments) -> AST::Proventus) || f == builtins::reload_cache {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1019:40
[INFO] [stdout]      |
[INFO] [stdout] 1019 |         else if f == builtins::quit || f == builtins::reload_cache {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1019 -         else if f == builtins::quit || f == builtins::reload_cache {
[INFO] [stdout] 1019 +         else if f == builtins::quit || std::ptr::fn_addr_eq(f, builtins::reload_cache as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1021:19
[INFO] [stdout]      |
[INFO] [stdout] 1021 |         } else if f == builtins::change_server || f == builtins::change_channel {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1021 -         } else if f == builtins::change_server || f == builtins::change_channel {
[INFO] [stdout] 1021 +         } else if std::ptr::fn_addr_eq(f, builtins::change_server as fn(builtins::Arguments) -> AST::Proventus) || f == builtins::change_channel {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1021:51
[INFO] [stdout]      |
[INFO] [stdout] 1021 |         } else if f == builtins::change_server || f == builtins::change_channel {
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1021 -         } else if f == builtins::change_server || f == builtins::change_channel {
[INFO] [stdout] 1021 +         } else if f == builtins::change_server || std::ptr::fn_addr_eq(f, builtins::change_channel as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `symbol:` in this pattern is redundant
[INFO] [stdout]   --> src/foklang/core/env.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 |       AST::NodeKind::Identifier{symbol: ref symbol, ref childs} => {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref symbol`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_shorthand_field_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `symbolIteration` should have a snake case name
[INFO] [stdout]   --> src/foklang/core/env.rs:14:46
[INFO] [stdout]    |
[INFO] [stdout] 14 |             AST::NodeKind::Identifier{symbol:symbolIteration, ..} => *symbolIteration==*symbol,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `symbol_iteration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `symbol:` in this pattern is redundant
[INFO] [stdout]   --> src/foklang/core/asm_env.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 |       AST::NodeKind::Identifier{symbol: ref symbol, ref childs} => {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref symbol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `symbolIteration` should have a snake case name
[INFO] [stdout]   --> src/foklang/core/asm_env.rs:14:46
[INFO] [stdout]    |
[INFO] [stdout] 14 |             AST::NodeKind::Identifier{symbol:symbolIteration, ..} => *symbolIteration==*symbol,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `symbol_iteration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/main.rs:546:20
[INFO] [stdout]     |
[INFO] [stdout] 546 |     KeyCode::Arrow(d) => {
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `raw_run` is never used
[INFO] [stdout]   --> src/foklang/foklang.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Foklang {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |   pub fn raw_run(&mut self, input: String, program: Fokcord) -> core::AST::Proventus {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> src/foklang/foklang.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn run(input: String, program: crate::Fokcord) -> String {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Nullus` is never constructed
[INFO] [stdout]   --> src/foklang/core/tokenizer.rs:59:3
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub enum TokenType {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 59 |   Nullus,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `eatExpectValue` is never used
[INFO] [stdout]   --> src/foklang/core/parser.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Parser {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |   pub fn eatExpectValue(&self, expectedTokenValue: TokenValue, err_msg: String, tokens: &mut Vec<Token>)-> Token {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `getw` is never used
[INFO] [stdout]    --> src/foklang/core/builtins.rs:536:4
[INFO] [stdout]     |
[INFO] [stdout] 536 | fn getw(config: Proventus, string: &str) -> Proventus {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identifier` is never used
[INFO] [stdout]    --> src/foklang/core/builtins.rs:549:4
[INFO] [stdout]     |
[INFO] [stdout] 549 | fn identifier(id: &str) -> Node {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `int` is never used
[INFO] [stdout]    --> src/foklang/core/builtins.rs:552:4
[INFO] [stdout]     |
[INFO] [stdout] 552 | fn int(int: i64) -> Proventus {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `doubleFokcord` is never constructed
[INFO] [stdout]    --> src/foklang/core/builtins.rs:745:3
[INFO] [stdout]     |
[INFO] [stdout] 734 | pub enum FunctionArgs {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 745 |   doubleFokcord(Proventus, Proventus, Fokcord),
[INFO] [stdout]     |   ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionArgs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Expression`, `Stmt`, and `DefineBounds` are never constructed
[INFO] [stdout]   --> src/foklang/core/AST.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum NodeKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |   Expression,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout] 11 |   BinaryExpression{ left: Box<Node>, right: Box<Node>, operator: Operator},
[INFO] [stdout] 12 |   Stmt,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |   DefineBounds{identifier: Box<Node>, bound: Box<Node>},
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeKind` 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: variant `String` is never constructed
[INFO] [stdout]   --> src/foklang/core/AST.rs:32:3
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum NodeValue {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 31 |   Integer(i64),
[INFO] [stdout] 32 |   String(String),
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ABuiltins` is never used
[INFO] [stdout]  --> src/foklang/core/compiler.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum ABuiltins {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AFunctions` is never used
[INFO] [stdout]  --> src/foklang/core/compiler.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | enum AFunctions {
[INFO] [stdout]   |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `declare_builtin` is never used
[INFO] [stdout]   --> src/foklang/core/compiler.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn declare_builtin(id: String, builtin: ABuiltins, env: &mut Environment) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `declare_builtins` is never used
[INFO] [stdout]   --> src/foklang/core/compiler.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn declare_builtins(env: &mut Environment) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ANodeKind` is never used
[INFO] [stdout]   --> src/foklang/core/compiler.rs:27:6
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum ANodeKind {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ANode` is never constructed
[INFO] [stdout]   --> src/foklang/core/compiler.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ANode {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AAST` is never constructed
[INFO] [stdout]   --> src/foklang/core/compiler.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct AAST {body: Vec<ANode>} // Assembly AST
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul_string` is never used
[INFO] [stdout]   --> src/foklang/core/compiler.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn mul_string(times: i64, string: String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Language` is never used
[INFO] [stdout]   --> src/foklang/core/compiler.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub enum Language {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Compiler` is never constructed
[INFO] [stdout]   --> src/foklang/core/compiler.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Compiler {pub stack_size: i64, pub language: Language}
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/foklang/core/compiler.rs:76:10
[INFO] [stdout]     |
[INFO] [stdout]  75 | impl Compiler {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout]  76 |   pub fn transform_program(&mut self, program: AST::Node, env: &mut Environment) -> AAST {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |   pub fn transform(&mut self, node: AST::Node, env: &mut Environment) -> ANode {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |   pub fn transform_function(&mut self, node: AST::Node, env: &mut Environment) -> ANode {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |   pub fn transform_identifier(&mut self, node: AST::Node, env: &mut Environment) -> ANode {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |   pub fn code_gen(&mut self, ast: AAST, file: String, env: &mut Environment) -> String {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |   pub fn parse_c_node(&mut self, node: ANode, current: &mut String, indent: i64, env: &mut Environment) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |   pub fn inject_label(&mut self, current: String, label: String, indent: i64) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |   pub fn parse_asm_node(&mut self, node: ANode, current: &mut String, indent: i64, env: &mut Environment) -> String {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 445 |   pub fn compile(&mut self, program: AST::Node, env: &mut Environment, file: String) -> String {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bool` is never read
[INFO] [stdout]  --> src/foklang/core/error_handler.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Peritia {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 8 |   pub bool: bool,
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `check_binary_expression` and `check_binary_expression_division` are never used
[INFO] [stdout]   --> src/foklang/core/error_handler.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ErrorHandler {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |   pub fn check_binary_expression(self, left: i32, right: i32) -> Peritia {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |   pub fn check_binary_expression_division(self, left: i32, right: i32) -> Peritia {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Environment` is never constructed
[INFO] [stdout]  --> src/foklang/core/asm_env.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Environment {pub parent: Option<Box<Environment>>, pub functions: Vec<(AST::Node, compiler::ANode)>, 
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `declare`, `push_args`, `resolve`, `has`, and `get` are never used
[INFO] [stdout]   --> src/foklang/core/asm_env.rs:9:10
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Environment {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout]  9 |   pub fn declare(&mut self, identifier: AST::Node, value: compiler::ANode) -> compiler::ANode {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |   pub fn push_args(&mut self, args: Vec<Box<AST::Node>>) {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |   pub fn resolve(&self, identifier: AST::Node) -> Environment {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |   pub fn has(&self, identifier: AST::Node) -> bool {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |   pub fn get(&self, identifier: AST::Node) -> Vec<compiler::ANode> {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `termios` should have an upper case name
[INFO] [stdout]  --> src/main.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | static termios: Mutex<libc::termios> = Mutex::new(libc::termios { c_iflag: 0, c_oflag: 0, c_cflag: 0, c_lflag: 0, c_line: 1, c_cc: [0 as ...
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 6 - static termios: Mutex<libc::termios> = Mutex::new(libc::termios { c_iflag: 0, c_oflag: 0, c_cflag: 0, c_lflag: 0, c_line: 1, c_cc: [0 as u8; 32], c_ispeed: 1, c_ospeed: 1 });
[INFO] [stdout] 6 + static TERMIOS: Mutex<libc::termios> = Mutex::new(libc::termios { c_iflag: 0, c_oflag: 0, c_cflag: 0, c_lflag: 0, c_line: 1, c_cc: [0 as u8; 32], c_ispeed: 1, c_ospeed: 1 });
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cURL` should have a snake case name
[INFO] [stdout]    --> src/main.rs:605:7
[INFO] [stdout]     |
[INFO] [stdout] 605 |   let cURL = format!("curl --request POST {} -d '{body}' https://discord.com/api/{}",/* params,*/ heads, path);
[INFO] [stdout]     |       ^^^^ help: convert the identifier to snake case: `c_url`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `AST` should have a snake case name
[INFO] [stdout]  --> src/foklang/core/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod AST;
[INFO] [stdout]   |         ^^^ help: convert the identifier to snake case: `ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `eatExpect` should have a snake case name
[INFO] [stdout]   --> src/foklang/core/parser.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 |   pub fn eatExpect(&mut self, expectedTokenType: TokenType, err_msg: String, tokens: &mut Vec<Token>) -> Token {
[INFO] [stdout]    |          ^^^^^^^^^ help: convert the identifier to snake case: `eat_expect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expectedTokenType` should have a snake case name
[INFO] [stdout]   --> src/foklang/core/parser.rs:15:31
[INFO] [stdout]    |
[INFO] [stdout] 15 |   pub fn eatExpect(&mut self, expectedTokenType: TokenType, err_msg: String, tokens: &mut Vec<Token>) -> Token {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_token_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `eatExpectValue` should have a snake case name
[INFO] [stdout]   --> src/foklang/core/parser.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |   pub fn eatExpectValue(&self, expectedTokenValue: TokenValue, err_msg: String, tokens: &mut Vec<Token>)-> Token {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `eat_expect_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expectedTokenValue` should have a snake case name
[INFO] [stdout]   --> src/foklang/core/parser.rs:25:32
[INFO] [stdout]    |
[INFO] [stdout] 25 |   pub fn eatExpectValue(&self, expectedTokenValue: TokenValue, err_msg: String, tokens: &mut Vec<Token>)-> Token {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `expected_token_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `uwInt` should have a snake case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:540:4
[INFO] [stdout]     |
[INFO] [stdout] 540 | fn uwInt(int: Proventus) -> i64 {
[INFO] [stdout]     |    ^^^^^ help: convert the identifier to snake case: `uw_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parseConf` should have a snake case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:567:4
[INFO] [stdout]     |
[INFO] [stdout] 567 | fn parseConf(conf: String) -> HashMap<String, String> {
[INFO] [stdout]     |    ^^^^^^^^^ help: convert the identifier to snake case: `parse_conf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parseCPUInfo` should have a snake case name
[INFO] [stdout]    --> src/foklang/core/builtins.rs:579:4
[INFO] [stdout]     |
[INFO] [stdout] 579 | fn parseCPUInfo(conf: String) -> HashMap<String, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `parse_cpuinfo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/foklang/core/AST.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | #[derive(Clone,Debug, PartialEq)]
[INFO] [stdout]    |                       --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 54 |   BuiltIn(fn(builtins::Arguments) -> Proventus, /*cached args*/ Vec<Node>),
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `appendToBody` should have a snake case name
[INFO] [stdout]    --> src/foklang/core/AST.rs:347:10
[INFO] [stdout]     |
[INFO] [stdout] 347 |   pub fn appendToBody(&mut self, node: Node) {
[INFO] [stdout]     |          ^^^^^^^^^^^^ help: convert the identifier to snake case: `append_to_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `identifierBounds` should have a snake case name
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:164:17
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let mut identifierBounds: Vec<(AST::Node, Vec<AST::Proventus>)> = vec![];
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `identifier_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:913:12
[INFO] [stdout]     |
[INFO] [stdout] 913 |         if f == builtins::print {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 913 -         if f == builtins::print {
[INFO] [stdout] 913 +         if std::ptr::fn_addr_eq(f, builtins::print as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:922:19
[INFO] [stdout]     |
[INFO] [stdout] 922 |         } else if f == builtins::get {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 922 -         } else if f == builtins::get {
[INFO] [stdout] 922 +         } else if std::ptr::fn_addr_eq(f, builtins::get as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:932:19
[INFO] [stdout]     |
[INFO] [stdout] 932 |         } else if f == builtins::println {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 932 -         } else if f == builtins::println {
[INFO] [stdout] 932 +         } else if std::ptr::fn_addr_eq(f, builtins::println as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:940:19
[INFO] [stdout]     |
[INFO] [stdout] 940 |         } else if f == builtins::fmap {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 940 -         } else if f == builtins::fmap {
[INFO] [stdout] 940 +         } else if std::ptr::fn_addr_eq(f, builtins::fmap as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:947:19
[INFO] [stdout]     |
[INFO] [stdout] 947 |         } else if f == builtins::join {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 947 -         } else if f == builtins::join {
[INFO] [stdout] 947 +         } else if std::ptr::fn_addr_eq(f, builtins::join as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:954:19
[INFO] [stdout]     |
[INFO] [stdout] 954 |         } else if f == builtins::returnfn {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 954 -         } else if f == builtins::returnfn {
[INFO] [stdout] 954 +         } else if std::ptr::fn_addr_eq(f, builtins::returnfn as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:959:19
[INFO] [stdout]     |
[INFO] [stdout] 959 |         } else if f == builtins::type_of {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 959 -         } else if f == builtins::type_of {
[INFO] [stdout] 959 +         } else if std::ptr::fn_addr_eq(f, builtins::type_of as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:965:19
[INFO] [stdout]     |
[INFO] [stdout] 965 |         } else if f == builtins::head || f==builtins::tail {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 965 -         } else if f == builtins::head || f==builtins::tail {
[INFO] [stdout] 965 +         } else if std::ptr::fn_addr_eq(f, builtins::head as fn(builtins::Arguments) -> AST::Proventus) || f==builtins::tail {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:965:42
[INFO] [stdout]     |
[INFO] [stdout] 965 |         } else if f == builtins::head || f==builtins::tail {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 965 -         } else if f == builtins::head || f==builtins::tail {
[INFO] [stdout] 965 +         } else if f == builtins::head || std::ptr::fn_addr_eq(f, builtins::tail as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:970:19
[INFO] [stdout]     |
[INFO] [stdout] 970 |         } else if f == builtins::length {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 970 -         } else if f == builtins::length {
[INFO] [stdout] 970 +         } else if std::ptr::fn_addr_eq(f, builtins::length as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:975:19
[INFO] [stdout]     |
[INFO] [stdout] 975 |         } else if f == builtins::take {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 975 -         } else if f == builtins::take {
[INFO] [stdout] 975 +         } else if std::ptr::fn_addr_eq(f, builtins::take as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:982:19
[INFO] [stdout]     |
[INFO] [stdout] 982 |         } else if f == builtins::replace {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 982 -         } else if f == builtins::replace {
[INFO] [stdout] 982 +         } else if std::ptr::fn_addr_eq(f, builtins::replace as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:992:19
[INFO] [stdout]     |
[INFO] [stdout] 992 |         } else if f == builtins::split {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 992 -         } else if f == builtins::split {
[INFO] [stdout] 992 +         } else if std::ptr::fn_addr_eq(f, builtins::split as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:999:19
[INFO] [stdout]     |
[INFO] [stdout] 999 |         } else if f == builtins::to_int || f == builtins::to_string {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 999 -         } else if f == builtins::to_int || f == builtins::to_string {
[INFO] [stdout] 999 +         } else if std::ptr::fn_addr_eq(f, builtins::to_int as fn(builtins::Arguments) -> AST::Proventus) || f == builtins::to_string {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/foklang/core/interpreter.rs:999:44
[INFO] [stdout]     |
[INFO] [stdout] 999 |         } else if f == builtins::to_int || f == builtins::to_string {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 999 -         } else if f == builtins::to_int || f == builtins::to_string {
[INFO] [stdout] 999 +         } else if f == builtins::to_int || std::ptr::fn_addr_eq(f, builtins::to_string as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1004:19
[INFO] [stdout]      |
[INFO] [stdout] 1004 |         } else if f == builtins::globals {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1004 -         } else if f == builtins::globals {
[INFO] [stdout] 1004 +         } else if std::ptr::fn_addr_eq(f, builtins::globals as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1007:19
[INFO] [stdout]      |
[INFO] [stdout] 1007 |         } else if f == builtins::read_file || f == builtins::envf || f == builtins::exec {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1007 -         } else if f == builtins::read_file || f == builtins::envf || f == builtins::exec {
[INFO] [stdout] 1007 +         } else if std::ptr::fn_addr_eq(f, builtins::read_file as fn(builtins::Arguments) -> AST::Proventus) || f == builtins::envf || f == builtins::exec {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1007:47
[INFO] [stdout]      |
[INFO] [stdout] 1007 |         } else if f == builtins::read_file || f == builtins::envf || f == builtins::exec {
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1007 -         } else if f == builtins::read_file || f == builtins::envf || f == builtins::exec {
[INFO] [stdout] 1007 +         } else if f == builtins::read_file || std::ptr::fn_addr_eq(f, builtins::envf as fn(builtins::Arguments) -> AST::Proventus) || f == builtins::exec {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1007:70
[INFO] [stdout]      |
[INFO] [stdout] 1007 |         } else if f == builtins::read_file || f == builtins::envf || f == builtins::exec {
[INFO] [stdout]      |                                                                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1007 -         } else if f == builtins::read_file || f == builtins::envf || f == builtins::exec {
[INFO] [stdout] 1007 +         } else if f == builtins::read_file || f == builtins::envf || std::ptr::fn_addr_eq(f, builtins::exec as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1012:19
[INFO] [stdout]      |
[INFO] [stdout] 1012 |         } else if f == builtins::load_file || f == builtins::load_string {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1012 -         } else if f == builtins::load_file || f == builtins::load_string {
[INFO] [stdout] 1012 +         } else if std::ptr::fn_addr_eq(f, builtins::load_file as fn(builtins::Arguments) -> AST::Proventus) || f == builtins::load_string {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1012:47
[INFO] [stdout]      |
[INFO] [stdout] 1012 |         } else if f == builtins::load_file || f == builtins::load_string {
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1012 -         } else if f == builtins::load_file || f == builtins::load_string {
[INFO] [stdout] 1012 +         } else if f == builtins::load_file || std::ptr::fn_addr_eq(f, builtins::load_string as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1019:17
[INFO] [stdout]      |
[INFO] [stdout] 1019 |         else if f == builtins::quit || f == builtins::reload_cache {
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1019 -         else if f == builtins::quit || f == builtins::reload_cache {
[INFO] [stdout] 1019 +         else if std::ptr::fn_addr_eq(f, builtins::quit as fn(builtins::Arguments) -> AST::Proventus) || f == builtins::reload_cache {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1019:40
[INFO] [stdout]      |
[INFO] [stdout] 1019 |         else if f == builtins::quit || f == builtins::reload_cache {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1019 -         else if f == builtins::quit || f == builtins::reload_cache {
[INFO] [stdout] 1019 +         else if f == builtins::quit || std::ptr::fn_addr_eq(f, builtins::reload_cache as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1021:19
[INFO] [stdout]      |
[INFO] [stdout] 1021 |         } else if f == builtins::change_server || f == builtins::change_channel {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1021 -         } else if f == builtins::change_server || f == builtins::change_channel {
[INFO] [stdout] 1021 +         } else if std::ptr::fn_addr_eq(f, builtins::change_server as fn(builtins::Arguments) -> AST::Proventus) || f == builtins::change_channel {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]     --> src/foklang/core/interpreter.rs:1021:51
[INFO] [stdout]      |
[INFO] [stdout] 1021 |         } else if f == builtins::change_server || f == builtins::change_channel {
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: the address of the same function can vary between different codegen units
[INFO] [stdout]      = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]      = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]      |
[INFO] [stdout] 1021 -         } else if f == builtins::change_server || f == builtins::change_channel {
[INFO] [stdout] 1021 +         } else if f == builtins::change_server || std::ptr::fn_addr_eq(f, builtins::change_channel as fn(builtins::Arguments) -> AST::Proventus) {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `symbol:` in this pattern is redundant
[INFO] [stdout]   --> src/foklang/core/env.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 |       AST::NodeKind::Identifier{symbol: ref symbol, ref childs} => {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref symbol`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_shorthand_field_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `symbolIteration` should have a snake case name
[INFO] [stdout]   --> src/foklang/core/env.rs:14:46
[INFO] [stdout]    |
[INFO] [stdout] 14 |             AST::NodeKind::Identifier{symbol:symbolIteration, ..} => *symbolIteration==*symbol,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `symbol_iteration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `symbol:` in this pattern is redundant
[INFO] [stdout]   --> src/foklang/core/asm_env.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 |       AST::NodeKind::Identifier{symbol: ref symbol, ref childs} => {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref symbol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `symbolIteration` should have a snake case name
[INFO] [stdout]   --> src/foklang/core/asm_env.rs:14:46
[INFO] [stdout]    |
[INFO] [stdout] 14 |             AST::NodeKind::Identifier{symbol:symbolIteration, ..} => *symbolIteration==*symbol,
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `symbol_iteration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.92s
[INFO] running `Command { std: "docker" "inspect" "b8e29ebef0ca9f91c8d8166682d689fe55665c98e4f31a208d1448e89ee8fec7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8e29ebef0ca9f91c8d8166682d689fe55665c98e4f31a208d1448e89ee8fec7", kill_on_drop: false }`
[INFO] [stdout] b8e29ebef0ca9f91c8d8166682d689fe55665c98e4f31a208d1448e89ee8fec7
