[INFO] cloning repository https://github.com/The-Amadeus-Project/Minimal-Lang [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/The-Amadeus-Project/Minimal-Lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThe-Amadeus-Project%2FMinimal-Lang", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThe-Amadeus-Project%2FMinimal-Lang'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 351c2115de9ad226ae3f2717101489b92e61f6ed [INFO] checking The-Amadeus-Project/Minimal-Lang/351c2115de9ad226ae3f2717101489b92e61f6ed against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThe-Amadeus-Project%2FMinimal-Lang" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/The-Amadeus-Project/Minimal-Lang on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/The-Amadeus-Project/Minimal-Lang [INFO] finished tweaking git repo https://github.com/The-Amadeus-Project/Minimal-Lang [INFO] tweaked toml for git repo https://github.com/The-Amadeus-Project/Minimal-Lang written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/The-Amadeus-Project/Minimal-Lang already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2722eb23d5e6b93d87d126a5747c6165e212cf6dddc2c9620e1396ccfc7ac481 [INFO] running `Command { std: "docker" "start" "-a" "2722eb23d5e6b93d87d126a5747c6165e212cf6dddc2c9620e1396ccfc7ac481", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2722eb23d5e6b93d87d126a5747c6165e212cf6dddc2c9620e1396ccfc7ac481", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2722eb23d5e6b93d87d126a5747c6165e212cf6dddc2c9620e1396ccfc7ac481", kill_on_drop: false }` [INFO] [stdout] 2722eb23d5e6b93d87d126a5747c6165e212cf6dddc2c9620e1396ccfc7ac481 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f91b0638d42fef4e3822fdb07d8d8d7ca75d2b114c75b9a95b3843c30c19c4bb [INFO] running `Command { std: "docker" "start" "-a" "f91b0638d42fef4e3822fdb07d8d8d7ca75d2b114c75b9a95b3843c30c19c4bb", kill_on_drop: false }` [INFO] [stderr] Checking minimal_lang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/lexer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/lexer.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/lexer.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/lexer.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Token` [INFO] [stdout] --> src/minimal_lang.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::lexer::{Lexer, Token}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Token` [INFO] [stdout] --> src/minimal_lang.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::lexer::{Lexer, Token}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `last_register` is never read [INFO] [stdout] --> src/compiler.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | last_register = self.bin_op(*left, op, *right); [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: `op` [INFO] [stdout] --> src/compiler.rs:55:42 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn bin_op(&mut self, left: Node, op: BinaryOperation, right: Node) -> String{ [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int_value` [INFO] [stdout] --> src/compiler.rs:161:25 [INFO] [stdout] | [INFO] [stdout] 161 | let mut int_value = 0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_int_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/compiler.rs:161:21 [INFO] [stdout] | [INFO] [stdout] 161 | let mut int_value = 0; [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: unused variable: `file_path` [INFO] [stdout] --> src/minimal_lang.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn compile(file_path: &str, debug: bool) -> String { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `debug` [INFO] [stdout] --> src/minimal_lang.rs:17:33 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn compile(file_path: &str, debug: bool) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_debug` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `last_register` is never read [INFO] [stdout] --> src/compiler.rs:147:17 [INFO] [stdout] | [INFO] [stdout] 147 | last_register = self.bin_op(*left, op, *right); [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: `op` [INFO] [stdout] --> src/compiler.rs:55:42 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn bin_op(&mut self, left: Node, op: BinaryOperation, right: Node) -> String{ [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int_value` [INFO] [stdout] --> src/compiler.rs:161:25 [INFO] [stdout] | [INFO] [stdout] 161 | let mut int_value = 0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_int_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/compiler.rs:161:21 [INFO] [stdout] | [INFO] [stdout] 161 | let mut int_value = 0; [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/parser.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | let mut current_scope = self.program.pop().unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_path` [INFO] [stdout] --> src/minimal_lang.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn compile(file_path: &str, debug: bool) -> String { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `debug` [INFO] [stdout] --> src/minimal_lang.rs:17:33 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn compile(file_path: &str, debug: bool) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_debug` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | let mut current_scope = self.program.pop().unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `word_reg` is never used [INFO] [stdout] --> src/compiler.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn word_reg(register: String) -> String{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `compile` is never used [INFO] [stdout] --> src/compiler.rs:330:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Compiler { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn compile(ast: Node) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/lexer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum TokenType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 6 | // types [INFO] [stdout] 7 | String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | Integer, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 9 | Character, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 10 | FloatingPoint, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | Boolean, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | [INFO] [stdout] 13 | Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | MathOperation, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 17 | VariableMathOperation, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | AssignmentArrow, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | DirectMemberSelection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | ComparisonOperation, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | Import, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 24 | Return, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 25 | Fun, [INFO] [stdout] | ^^^ [INFO] [stdout] 26 | And, [INFO] [stdout] | ^^^ [INFO] [stdout] 27 | If, [INFO] [stdout] | ^^ [INFO] [stdout] 28 | Else, [INFO] [stdout] | ^^^^ [INFO] [stdout] 29 | Or, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 32 | EndLine, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 33 | EndOfFile, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 34 | BracketOpen, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | BracketClose, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 36 | CurlyBracketOpen, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 37 | CurlyBracketClose, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 38 | ParenthesisOpen, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | ParenthesisClose, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | SeparatorComma, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 41 | ReturnTypeArrow, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 42 | [INFO] [stdout] 43 | NullForParser, [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: multiple associated items are never used [INFO] [stdout] --> src/lexer.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl Token { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 55 | pub fn new(token_type: TokenType, value: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn is_string(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn is_integer(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn is_float(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn is_bool(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn is_data_type(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn true_value(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lexer` is never constructed [INFO] [stdout] --> src/lexer.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct Lexer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/lexer.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl Lexer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 102 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn pos_starter(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn next_char(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn get_next_char_ignore_space(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn get_char(&self, ahead: i32) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn get_next_char(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn add_base(&mut self, tok_type: TokenType, value: String) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn add_special(&mut self, tok_type: TokenType) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn add_special_bare(&mut self, tok_type: TokenType, value: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn add_string(&mut self, value: String) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn add_integer(&mut self, value: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn add_float(&mut self, value: String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn add_identifier(&mut self, value: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn lex(&mut self) -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 512 | pub fn lex_text(&mut self, text: String) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `single_test` is never used [INFO] [stdout] --> src/lexer.rs:518:4 [INFO] [stdout] | [INFO] [stdout] 518 | fn single_test(expected: Vec<(TokenType, String)>, to_lex: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lexer_test` is never used [INFO] [stdout] --> src/lexer.rs:536:8 [INFO] [stdout] | [INFO] [stdout] 536 | pub fn lexer_test() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pre_compile` is never used [INFO] [stdout] --> src/minimal_lang.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn pre_compile(file_path: &str, debug: bool) -> Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `token_type_to_variable_type` is never used [INFO] [stdout] --> src/parser.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn token_type_to_variable_type(token_type: TokenType) -> VariableType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string_to_variable_type` is never used [INFO] [stdout] --> src/parser.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn string_to_variable_type(string: &str) -> VariableType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `token_as_constant_node` is never used [INFO] [stdout] --> src/parser.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn token_as_constant_node(tok: Token) -> Node { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `String`, `Boolean`, and `FloatingPoint` are never constructed [INFO] [stdout] --> src/parser.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum ConstValue { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 67 | String { value: String }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 68 | Integer { value: i128 }, [INFO] [stdout] 69 | Boolean { value: bool }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 70 | FloatingPoint { value: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConstValue` 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: variants `String`, `Boolean`, `FloatingPoint`, and `Void` are never constructed [INFO] [stdout] --> src/parser.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 74 | pub enum VariableType { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 75 | String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 76 | Integer, [INFO] [stdout] 77 | Boolean, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 78 | FloatingPoint, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 79 | [INFO] [stdout] 80 | Void, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VariableType` 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: variants `Sub`, `Mul`, and `Div` are never constructed [INFO] [stdout] --> src/parser.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub enum BinaryOperation { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 84 | Add, [INFO] [stdout] 85 | Sub, [INFO] [stdout] | ^^^ [INFO] [stdout] 86 | Mul, [INFO] [stdout] | ^^^ [INFO] [stdout] 87 | Div, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BinaryOperation` 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: variants `Return` and `Blank` are never constructed [INFO] [stdout] --> src/parser.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub enum Node { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 119 | Return { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | Blank, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` 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: struct `Parser` is never constructed [INFO] [stdout] --> src/parser.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | pub struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/parser.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 138 | impl Parser { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 139 | pub fn new(tokens: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | fn error(&mut self, error_title: &str, error_body: &str) -> ! { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | fn next_token(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | fn peek_next(&self) -> TokenType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn current_token_allowed_for_expr(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn push_top_program(&mut self, node: Node) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn parse(&mut self) -> Node { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 470 | pub fn parse_tokens(tokens: Vec) -> Node { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ASM_BASE_END` is never used [INFO] [stdout] --> src/builder_dir/builder_nasm.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const ASM_BASE_END: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/builder_dir/builder_nasm.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Builder { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 21 | text: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 22 | bss: String, [INFO] [stdout] | ^^^ [INFO] [stdout] 23 | data: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 24 | function_body: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 25 | function_head: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 26 | is_function_currently: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | local_variables: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | local_variables_offset: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | local_offset: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 30 | pub(crate) func_args_order: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 31 | syscall_args_ordering: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/builder_dir/builder_nasm.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 66 | impl Builder { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 67 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn new_program(start_function: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn set_func_args_order(&mut self, order: Vec) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn add_line_text(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn add_value_text(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn add_line_function(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn add_value_function(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn add_line_function_head(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn add_value_function_head(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn add_line_bss(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn add_value_bss(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn add_line_data(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn add_value_data(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn add_built_in_function(&mut self, function: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn open_function(&mut self, function_name: &str) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn close_function(&mut self) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn local_word_assign(&mut self, loc_offset: u32, word_size: &str, value_or_register: &str) -> Return{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn new_local_word(&mut self, value: u16) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_local_dword(&mut self, value: u32) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn new_local_qword(&mut self, value: u64) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn get_local_word_size_and_offset(&self, id: usize) -> (Return, u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn new_len_addr(&mut self, new_addr: &str, from_addr: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn new_string_literal(&mut self, addr: &str, value: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn new_string_literal_with_len(&mut self, addr: &str, value: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn call_function(&mut self, function: &str, arguments: Vec<&str>) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn extern_add(&mut self, function_or_address: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn new_syscall(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | pub fn pop(&mut self, register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn push(&mut self, value_or_register: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | pub fn call(&mut self, function: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn mov(&mut self, register: &str, value_or_register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn add(&mut self, register: &str, value_or_register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub fn sub(&mut self, register: &str, value_or_register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn div(&mut self, register: &str, value_or_register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn mul(&mut self, register: &str, value_or_register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn add_raw_asm1(&mut self, op: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn add_raw_asm2(&mut self, op: &str, left: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | pub fn add_raw_asm3(&mut self, op: &str, left: &str, right: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub fn syscall(&mut self, arguments: Vec<&str>) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 304 | pub fn build(&mut self) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | pub fn build_no_start(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NameErr` and `BadArguments` are never constructed [INFO] [stdout] --> src/builder_dir/return_code.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 1 | pub enum Code { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 2 | Good, [INFO] [stdout] 3 | NameErr, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 4 | OutOfRange, [INFO] [stdout] 5 | BadArguments, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `message` and `code` are never read [INFO] [stdout] --> src/builder_dir/return_code.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Return { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 12 | pub message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 13 | pub code: Code, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ASM_BASE_END` is never used [INFO] [stdout] --> src/builder_dir/builder_gas.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const ASM_BASE_END: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `syscall_args_ordering` is never read [INFO] [stdout] --> src/builder_dir/builder_gas.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Builder { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 31 | syscall_args_ordering: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/builder_dir/builder_gas.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 66 | impl Builder { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 67 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn set_func_args_order(&mut self, order: Vec) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn add_value_text(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn add_line_function(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn add_line_function_head(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn add_line_bss(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn add_value_bss(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn add_value_data(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn add_built_in_function(&mut self, function: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn new_local_word(&mut self, value: u16) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn new_local_qword(&mut self, value: u64) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn new_len_addr(&mut self, new_addr: &str, from_addr: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn new_syscall(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn push(&mut self, value_or_register: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn add(&mut self, value_or_register: &str, register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub fn sub(&mut self, value_or_register: &str, register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn div(&mut self, value_or_register: &str, register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn mul(&mut self, value_or_register: &str, register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn add_raw_asm1(&mut self, op: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub fn syscall(&mut self, arguments: Vec<&str>) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 304 | pub fn build(&mut self) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/builder_dir/builder_nasm.rs:214:31 [INFO] [stdout] | [INFO] [stdout] 214 | for character in value.clone().chars() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/builder_dir/builder_gas.rs:214:31 [INFO] [stdout] | [INFO] [stdout] 214 | for character in value.clone().chars() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 38 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `word_reg` is never used [INFO] [stdout] --> src/compiler.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn word_reg(register: String) -> String{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `compile` is never used [INFO] [stdout] --> src/compiler.rs:330:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Compiler { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn compile(ast: Node) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/lexer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum TokenType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 6 | // types [INFO] [stdout] 7 | String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | Integer, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 9 | Character, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 10 | FloatingPoint, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | Boolean, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | [INFO] [stdout] 13 | Identifier, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | MathOperation, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 17 | VariableMathOperation, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | AssignmentArrow, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | DirectMemberSelection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | ComparisonOperation, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | Import, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 24 | Return, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 25 | Fun, [INFO] [stdout] | ^^^ [INFO] [stdout] 26 | And, [INFO] [stdout] | ^^^ [INFO] [stdout] 27 | If, [INFO] [stdout] | ^^ [INFO] [stdout] 28 | Else, [INFO] [stdout] | ^^^^ [INFO] [stdout] 29 | Or, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 32 | EndLine, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 33 | EndOfFile, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 34 | BracketOpen, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | BracketClose, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 36 | CurlyBracketOpen, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 37 | CurlyBracketClose, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 38 | ParenthesisOpen, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | ParenthesisClose, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | SeparatorComma, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 41 | ReturnTypeArrow, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 42 | [INFO] [stdout] 43 | NullForParser, [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: multiple associated items are never used [INFO] [stdout] --> src/lexer.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl Token { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 55 | pub fn new(token_type: TokenType, value: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn is_string(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn is_integer(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn is_float(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn is_bool(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn is_data_type(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn true_value(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lexer` is never constructed [INFO] [stdout] --> src/lexer.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct Lexer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/lexer.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl Lexer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 102 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn pos_starter(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn next_char(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn get_next_char_ignore_space(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn get_char(&self, ahead: i32) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn get_next_char(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn add_base(&mut self, tok_type: TokenType, value: String) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn add_special(&mut self, tok_type: TokenType) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn add_special_bare(&mut self, tok_type: TokenType, value: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn add_string(&mut self, value: String) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn add_integer(&mut self, value: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn add_float(&mut self, value: String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn add_identifier(&mut self, value: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn lex(&mut self) -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 512 | pub fn lex_text(&mut self, text: String) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `single_test` is never used [INFO] [stdout] --> src/lexer.rs:518:4 [INFO] [stdout] | [INFO] [stdout] 518 | fn single_test(expected: Vec<(TokenType, String)>, to_lex: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lexer_test` is never used [INFO] [stdout] --> src/lexer.rs:536:8 [INFO] [stdout] | [INFO] [stdout] 536 | pub fn lexer_test() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pre_compile` is never used [INFO] [stdout] --> src/minimal_lang.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn pre_compile(file_path: &str, debug: bool) -> Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `token_type_to_variable_type` is never used [INFO] [stdout] --> src/parser.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn token_type_to_variable_type(token_type: TokenType) -> VariableType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string_to_variable_type` is never used [INFO] [stdout] --> src/parser.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn string_to_variable_type(string: &str) -> VariableType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `token_as_constant_node` is never used [INFO] [stdout] --> src/parser.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn token_as_constant_node(tok: Token) -> Node { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `String`, `Boolean`, and `FloatingPoint` are never constructed [INFO] [stdout] --> src/parser.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum ConstValue { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 67 | String { value: String }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 68 | Integer { value: i128 }, [INFO] [stdout] 69 | Boolean { value: bool }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 70 | FloatingPoint { value: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConstValue` 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: variants `String`, `Boolean`, `FloatingPoint`, and `Void` are never constructed [INFO] [stdout] --> src/parser.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 74 | pub enum VariableType { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 75 | String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 76 | Integer, [INFO] [stdout] 77 | Boolean, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 78 | FloatingPoint, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 79 | [INFO] [stdout] 80 | Void, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VariableType` 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: variants `Sub`, `Mul`, and `Div` are never constructed [INFO] [stdout] --> src/parser.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 83 | pub enum BinaryOperation { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 84 | Add, [INFO] [stdout] 85 | Sub, [INFO] [stdout] | ^^^ [INFO] [stdout] 86 | Mul, [INFO] [stdout] | ^^^ [INFO] [stdout] 87 | Div, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BinaryOperation` 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: variants `Return` and `Blank` are never constructed [INFO] [stdout] --> src/parser.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub enum Node { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 119 | Return { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | Blank, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Node` 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: struct `Parser` is never constructed [INFO] [stdout] --> src/parser.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | pub struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/parser.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 138 | impl Parser { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 139 | pub fn new(tokens: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | fn error(&mut self, error_title: &str, error_body: &str) -> ! { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | fn next_token(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | fn peek_next(&self) -> TokenType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn current_token_allowed_for_expr(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn push_top_program(&mut self, node: Node) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn parse(&mut self) -> Node { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 470 | pub fn parse_tokens(tokens: Vec) -> Node { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ASM_BASE_END` is never used [INFO] [stdout] --> src/builder_dir/builder_nasm.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const ASM_BASE_END: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/builder_dir/builder_nasm.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Builder { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 21 | text: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 22 | bss: String, [INFO] [stdout] | ^^^ [INFO] [stdout] 23 | data: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 24 | function_body: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 25 | function_head: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 26 | is_function_currently: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | local_variables: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | local_variables_offset: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | local_offset: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 30 | pub(crate) func_args_order: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 31 | syscall_args_ordering: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/builder_dir/builder_nasm.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 66 | impl Builder { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 67 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn new_program(start_function: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn set_func_args_order(&mut self, order: Vec) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn add_line_text(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn add_value_text(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn add_line_function(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn add_value_function(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn add_line_function_head(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn add_value_function_head(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn add_line_bss(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn add_value_bss(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn add_line_data(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn add_value_data(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn add_built_in_function(&mut self, function: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn open_function(&mut self, function_name: &str) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn close_function(&mut self) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn local_word_assign(&mut self, loc_offset: u32, word_size: &str, value_or_register: &str) -> Return{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn new_local_word(&mut self, value: u16) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn new_local_dword(&mut self, value: u32) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn new_local_qword(&mut self, value: u64) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn get_local_word_size_and_offset(&self, id: usize) -> (Return, u32, u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn new_len_addr(&mut self, new_addr: &str, from_addr: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn new_string_literal(&mut self, addr: &str, value: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn new_string_literal_with_len(&mut self, addr: &str, value: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn call_function(&mut self, function: &str, arguments: Vec<&str>) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn extern_add(&mut self, function_or_address: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn new_syscall(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | pub fn pop(&mut self, register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn push(&mut self, value_or_register: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | pub fn call(&mut self, function: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn mov(&mut self, register: &str, value_or_register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn add(&mut self, register: &str, value_or_register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub fn sub(&mut self, register: &str, value_or_register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn div(&mut self, register: &str, value_or_register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn mul(&mut self, register: &str, value_or_register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn add_raw_asm1(&mut self, op: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn add_raw_asm2(&mut self, op: &str, left: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | pub fn add_raw_asm3(&mut self, op: &str, left: &str, right: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub fn syscall(&mut self, arguments: Vec<&str>) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 304 | pub fn build(&mut self) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | pub fn build_no_start(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `NameErr` and `BadArguments` are never constructed [INFO] [stdout] --> src/builder_dir/return_code.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 1 | pub enum Code { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 2 | Good, [INFO] [stdout] 3 | NameErr, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 4 | OutOfRange, [INFO] [stdout] 5 | BadArguments, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `message` and `code` are never read [INFO] [stdout] --> src/builder_dir/return_code.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Return { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 12 | pub message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 13 | pub code: Code, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ASM_BASE_END` is never used [INFO] [stdout] --> src/builder_dir/builder_gas.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const ASM_BASE_END: &str = r#" [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `syscall_args_ordering` is never read [INFO] [stdout] --> src/builder_dir/builder_gas.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Builder { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 31 | syscall_args_ordering: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/builder_dir/builder_gas.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 66 | impl Builder { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 67 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn set_func_args_order(&mut self, order: Vec) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn add_value_text(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn add_line_function(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn add_line_function_head(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn add_line_bss(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn add_value_bss(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn add_value_data(&mut self, line: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn add_built_in_function(&mut self, function: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn new_local_word(&mut self, value: u16) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn new_local_qword(&mut self, value: u64) -> Return { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn new_len_addr(&mut self, new_addr: &str, from_addr: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn new_syscall(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn push(&mut self, value_or_register: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn add(&mut self, value_or_register: &str, register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub fn sub(&mut self, value_or_register: &str, register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn div(&mut self, value_or_register: &str, register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn mul(&mut self, value_or_register: &str, register: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn add_raw_asm1(&mut self, op: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub fn syscall(&mut self, arguments: Vec<&str>) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 304 | pub fn build(&mut self) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/builder_dir/builder_nasm.rs:214:31 [INFO] [stdout] | [INFO] [stdout] 214 | for character in value.clone().chars() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/builder_dir/builder_gas.rs:214:31 [INFO] [stdout] | [INFO] [stdout] 214 | for character in value.clone().chars() { [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 38 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.63s [INFO] running `Command { std: "docker" "inspect" "f91b0638d42fef4e3822fdb07d8d8d7ca75d2b114c75b9a95b3843c30c19c4bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f91b0638d42fef4e3822fdb07d8d8d7ca75d2b114c75b9a95b3843c30c19c4bb", kill_on_drop: false }` [INFO] [stdout] f91b0638d42fef4e3822fdb07d8d8d7ca75d2b114c75b9a95b3843c30c19c4bb