[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), [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) [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), [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) [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::>()[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::>()[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::::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::>()[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::>()[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::::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 { [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, right: Box, operator: Operator}, [INFO] [stdout] 12 | Stmt, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | DefineBounds{identifier: Box, bound: Box}, [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} // 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>, 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>) { [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 { [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 = 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 = 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 = 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 { [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 { [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 { [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 { [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 { [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 { [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), [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 [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)> = 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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 { [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, right: Box, operator: Operator}, [INFO] [stdout] 12 | Stmt, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | DefineBounds{identifier: Box, bound: Box}, [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} // 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>, 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>) { [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 { [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 = 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 = 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 = 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 { [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 { [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 { [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 { [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 { [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 { [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), [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 [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)> = 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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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