[INFO] cloning repository https://github.com/Error401-UsernameNotFound/compiler [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Error401-UsernameNotFound/compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FError401-UsernameNotFound%2Fcompiler", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FError401-UsernameNotFound%2Fcompiler'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0d64f22b058b0f50ab7f44ef12f501eac5f00d50 [INFO] checking Error401-UsernameNotFound/compiler/0d64f22b058b0f50ab7f44ef12f501eac5f00d50 against master#eeb94be79adc9df7a09ad0b2421f16e60e6d932c for pr-152971 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FError401-UsernameNotFound%2Fcompiler" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Error401-UsernameNotFound/compiler [INFO] finished tweaking git repo https://github.com/Error401-UsernameNotFound/compiler [INFO] tweaked toml for git repo https://github.com/Error401-UsernameNotFound/compiler written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Error401-UsernameNotFound/compiler on toolchain eeb94be79adc9df7a09ad0b2421f16e60e6d932c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eeb94be79adc9df7a09ad0b2421f16e60e6d932c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Error401-UsernameNotFound/compiler 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" "+eeb94be79adc9df7a09ad0b2421f16e60e6d932c" "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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+eeb94be79adc9df7a09ad0b2421f16e60e6d932c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7b0caf5120b9ac601c0df06876e8ea08751d7548e622a85ff328ed8a8c6959f8 [INFO] running `Command { std: "docker" "start" "-a" "7b0caf5120b9ac601c0df06876e8ea08751d7548e622a85ff328ed8a8c6959f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7b0caf5120b9ac601c0df06876e8ea08751d7548e622a85ff328ed8a8c6959f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7b0caf5120b9ac601c0df06876e8ea08751d7548e622a85ff328ed8a8c6959f8", kill_on_drop: false }` [INFO] [stdout] 7b0caf5120b9ac601c0df06876e8ea08751d7548e622a85ff328ed8a8c6959f8 [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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+eeb94be79adc9df7a09ad0b2421f16e60e6d932c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ace7206717d45aaa2a174115a67ad08b6197ad6d84c93665de0f2a68d0192e3f [INFO] running `Command { std: "docker" "start" "-a" "ace7206717d45aaa2a174115a67ad08b6197ad6d84c93665de0f2a68d0192e3f", kill_on_drop: false }` [INFO] [stderr] Checking COMPILER v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `cell::RefCell` and `ptr::eq` [INFO] [stdout] --> src/lexical_analyzer.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{cell::RefCell, ptr::eq, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tokens` should have an upper camel case name [INFO] [stdout] --> src/lexical_analyzer.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum tokens{ [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `Tokens` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/syntax_evaluator.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Weak` [INFO] [stdout] --> src/syntax_evaluator.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | use std::rc::{Rc, Weak}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell` and `ptr::eq` [INFO] [stdout] --> src/lexical_analyzer.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{cell::RefCell, ptr::eq, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tokens` should have an upper camel case name [INFO] [stdout] --> src/lexical_analyzer.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum tokens{ [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `Tokens` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/syntax_evaluator.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Weak` [INFO] [stdout] --> src/syntax_evaluator.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | use std::rc::{Rc, Weak}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/Intermideate_generator.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::symbol_table::StaticAddressedEnv` [INFO] [stdout] --> src/Intermideate_generator.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::symbol_table::StaticAddressedEnv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Env` [INFO] [stdout] --> src/Intermideate_generator.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | use super::symbol_table::{Env,Value, AddressedEnv}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/lexical_analyzer.rs:295:21 [INFO] [stdout] | [INFO] [stdout] 295 | x => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/lexical_analyzer.rs:313:37 [INFO] [stdout] | [INFO] [stdout] 313 | fn compile_arr(out:&Vec,env:&Rc) -> Result{ [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/parser.rs:261:13 [INFO] [stdout] | [INFO] [stdout] 261 | r => {return format!("Not Implemented {:?}", r);} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/parser.rs:261:13 [INFO] [stdout] | [INFO] [stdout] 193 | Rules::ProgramToBlock => { return "program -> { block }".to_string()}, [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 194 | Rules::BlockToStmtBlock => { return "block -> stmt block".to_string()}, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 195 | Rules::BlockToEpsilon => { return "block -> ε".to_string()}, [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 196 | Rules::StmtToBlock => { return "stmt -> { block }".to_string()}, [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 261 | r => {return format!("Not Implemented {:?}", r);} [INFO] [stdout] | ^ ...and 53 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/parser.rs:477:39 [INFO] [stdout] | [INFO] [stdout] 477 | tokens::Basic(v) => 'inner: { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/type_checker.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | _v => { [INFO] [stdout] | ^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/type_checker.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 62 | Value::AnyInt | Value::Int(_) | Value::Null=> { [INFO] [stdout] | ------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 65 | Value::AnyBool | Value::Bool(_) => { [INFO] [stdout] | ------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 68 | Value::AnyFloat | Value::Float(_) => { [INFO] [stdout] | --------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 71 | Value::ArrayOf(_, _) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 74 | _v => { [INFO] [stdout] | ^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/syntax_evaluator.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | let mut gp_node = tree_vec[gp_index].borrow_mut(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/syntax_evaluator.rs:501:21 [INFO] [stdout] | [INFO] [stdout] 501 | let mut tree = self.make_tree(id_node)?; // Base ID node [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> src/syntax_evaluator.rs:807:14 [INFO] [stdout] | [INFO] [stdout] 807 | let (op, should_rotate, _should_sink_unary) = { // removed check for should_sink_unary [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/syntax_evaluator.rs:1008:70 [INFO] [stdout] | [INFO] [stdout] 1008 | ... } else if matches!(tok, tokens::Real(r)) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/Intermideate_generator.rs:1299:13 [INFO] [stdout] | [INFO] [stdout] 1299 | let mut tree_vec = Rc::new(RefCell::new(vec![ [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `print_down` is never used [INFO] [stdout] --> src/symbol_table.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl Env { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn print_down(scope:&Rc){ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `renderer` is never used [INFO] [stdout] --> src/lexical_analyzer.rs:371:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl Lexer{ [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 371 | pub fn renderer(tok_list:Vec) -> String{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `valuetype` is never read [INFO] [stdout] --> src/parser.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct TreeNode { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | valuetype: Value [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TreeNode` 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 `render` is never used [INFO] [stdout] --> src/parser.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 19 | impl TreeNode { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 38 | fn render(self) -> String{ [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `all_scopes` is never read [INFO] [stdout] --> src/parser.rs:311:9 [INFO] [stdout] | [INFO] [stdout] 310 | pub struct Parser{ [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 311 | pub all_scopes: Vec>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `is_end_token` and `detect_id_array` are never used [INFO] [stdout] --> src/parser.rs:1366:8 [INFO] [stdout] | [INFO] [stdout] 314 | impl Parser { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 1366 | fn is_end_token(t: &tokens) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1375 | fn detect_id_array(input: &Vec, offset:usize) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `expected_type` is never read [INFO] [stdout] --> src/syntax_evaluator.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct SyntaxTreeNode { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | pub expected_type:Value, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyntaxTreeNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `put_left`, `put_right`, `get_left_child_index`, and `get_right_child_index` are never used [INFO] [stdout] --> src/syntax_evaluator.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 92 | impl SyntaxTree { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn put_left(&self, parent_index: IndexBox, op:Opperator, value:Value) -> Result{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn put_right(&self, parent_index: IndexBox, op:Opperator, value:Value) -> Result{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn get_left_child_index(&self,ind: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn get_right_child_index(&self,ind: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sink_left_unary_helper` is never used [INFO] [stdout] --> src/syntax_evaluator.rs:293:8 [INFO] [stdout] | [INFO] [stdout] 293 | pub fn sink_left_unary_helper( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_type` is never used [INFO] [stdout] --> src/Intermideate_generator.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 74 | impl Constent { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn get_type(&self) -> Value { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get_record`, `print_record_vec`, `get_array_metadata`, and `generate_expression_stub` are never used [INFO] [stdout] --> src/Intermideate_generator.rs:178:12 [INFO] [stdout] | [INFO] [stdout] 168 | impl RecordManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 178 | pub fn get_record(&self, rec_num:usize) -> &Record { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | fn print_record_vec(vec:&Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | fn get_array_metadata(&self, array_id: String, current_scope:usize) -> Result<(Vec, usize), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 442 | fn generate_expression_stub( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Intermideate_generator` should have a snake case name [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | mod Intermideate_generator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `intermideate_generator` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/lexical_analyzer.rs:295:21 [INFO] [stdout] | [INFO] [stdout] 295 | x => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/lexical_analyzer.rs:313:37 [INFO] [stdout] | [INFO] [stdout] 313 | fn compile_arr(out:&Vec,env:&Rc) -> Result{ [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/parser.rs:261:13 [INFO] [stdout] | [INFO] [stdout] 261 | r => {return format!("Not Implemented {:?}", r);} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/parser.rs:261:13 [INFO] [stdout] | [INFO] [stdout] 193 | Rules::ProgramToBlock => { return "program -> { block }".to_string()}, [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 194 | Rules::BlockToStmtBlock => { return "block -> stmt block".to_string()}, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 195 | Rules::BlockToEpsilon => { return "block -> ε".to_string()}, [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 196 | Rules::StmtToBlock => { return "stmt -> { block }".to_string()}, [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 261 | r => {return format!("Not Implemented {:?}", r);} [INFO] [stdout] | ^ ...and 53 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/parser.rs:477:39 [INFO] [stdout] | [INFO] [stdout] 477 | tokens::Basic(v) => 'inner: { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/type_checker.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | _v => { [INFO] [stdout] | ^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/type_checker.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 62 | Value::AnyInt | Value::Int(_) | Value::Null=> { [INFO] [stdout] | ------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 65 | Value::AnyBool | Value::Bool(_) => { [INFO] [stdout] | ------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 68 | Value::AnyFloat | Value::Float(_) => { [INFO] [stdout] | --------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 71 | Value::ArrayOf(_, _) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 74 | _v => { [INFO] [stdout] | ^^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/syntax_evaluator.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | let mut gp_node = tree_vec[gp_index].borrow_mut(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/syntax_evaluator.rs:501:21 [INFO] [stdout] | [INFO] [stdout] 501 | let mut tree = self.make_tree(id_node)?; // Base ID node [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> src/syntax_evaluator.rs:807:14 [INFO] [stdout] | [INFO] [stdout] 807 | let (op, should_rotate, _should_sink_unary) = { // removed check for should_sink_unary [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/syntax_evaluator.rs:1008:70 [INFO] [stdout] | [INFO] [stdout] 1008 | ... } else if matches!(tok, tokens::Real(r)) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `print_down` is never used [INFO] [stdout] --> src/symbol_table.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl Env { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn print_down(scope:&Rc){ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get` is never used [INFO] [stdout] --> src/symbol_table.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 139 | impl StaticAddressedEnv { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn get(&self, id:String) -> Option
{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `renderer` is never used [INFO] [stdout] --> src/lexical_analyzer.rs:371:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl Lexer{ [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 371 | pub fn renderer(tok_list:Vec) -> String{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `valuetype` is never read [INFO] [stdout] --> src/parser.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct TreeNode { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | valuetype: Value [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TreeNode` 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 `render` is never used [INFO] [stdout] --> src/parser.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 19 | impl TreeNode { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 38 | fn render(self) -> String{ [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `all_scopes` is never read [INFO] [stdout] --> src/parser.rs:311:9 [INFO] [stdout] | [INFO] [stdout] 310 | pub struct Parser{ [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 311 | pub all_scopes: Vec>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `is_end_token` and `detect_id_array` are never used [INFO] [stdout] --> src/parser.rs:1366:8 [INFO] [stdout] | [INFO] [stdout] 314 | impl Parser { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 1366 | fn is_end_token(t: &tokens) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1375 | fn detect_id_array(input: &Vec, offset:usize) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `expected_type` is never read [INFO] [stdout] --> src/syntax_evaluator.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct SyntaxTreeNode { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | pub expected_type:Value, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyntaxTreeNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `render_node` is never used [INFO] [stdout] --> src/syntax_evaluator.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl SyntaxTreeNode { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn render_node(&self, tree_vector:&Vec>>, depth:usize, right:bool){ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `put_left`, `put_right`, `get_left_child_index`, and `get_right_child_index` are never used [INFO] [stdout] --> src/syntax_evaluator.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 92 | impl SyntaxTree { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn put_left(&self, parent_index: IndexBox, op:Opperator, value:Value) -> Result{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn put_right(&self, parent_index: IndexBox, op:Opperator, value:Value) -> Result{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn get_left_child_index(&self,ind: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn get_right_child_index(&self,ind: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sink_left_unary_helper` is never used [INFO] [stdout] --> src/syntax_evaluator.rs:293:8 [INFO] [stdout] | [INFO] [stdout] 293 | pub fn sink_left_unary_helper( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_type` is never used [INFO] [stdout] --> src/Intermideate_generator.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 74 | impl Constent { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn get_type(&self) -> Value { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `get_record`, `print_record_vec`, `get_array_metadata`, and `generate_expression_stub` are never used [INFO] [stdout] --> src/Intermideate_generator.rs:178:12 [INFO] [stdout] | [INFO] [stdout] 168 | impl RecordManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 178 | pub fn get_record(&self, rec_num:usize) -> &Record { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | fn print_record_vec(vec:&Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | fn get_array_metadata(&self, array_id: String, current_scope:usize) -> Result<(Vec, usize), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 442 | fn generate_expression_stub( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Intermideate_generator` should have a snake case name [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | mod Intermideate_generator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `intermideate_generator` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.70s [INFO] running `Command { std: "docker" "inspect" "ace7206717d45aaa2a174115a67ad08b6197ad6d84c93665de0f2a68d0192e3f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ace7206717d45aaa2a174115a67ad08b6197ad6d84c93665de0f2a68d0192e3f", kill_on_drop: false }` [INFO] [stdout] ace7206717d45aaa2a174115a67ad08b6197ad6d84c93665de0f2a68d0192e3f