[INFO] cloning repository https://github.com/edhubbard1994/letscript [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/edhubbard1994/letscript" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fedhubbard1994%2Fletscript", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fedhubbard1994%2Fletscript'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8cd88a4ef4df1b3170ba4c8d382d81b0130353f1 [INFO] building edhubbard1994/letscript against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fedhubbard1994%2Fletscript" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/edhubbard1994/letscript on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/edhubbard1994/letscript [INFO] finished tweaking git repo https://github.com/edhubbard1994/letscript [INFO] tweaked toml for git repo https://github.com/edhubbard1994/letscript written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/edhubbard1994/letscript 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fd31b8eb163bddf07d1e8e1568c4b800095efb88b8a1e83076f40da1d233bf9c [INFO] running `Command { std: "docker" "start" "-a" "fd31b8eb163bddf07d1e8e1568c4b800095efb88b8a1e83076f40da1d233bf9c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fd31b8eb163bddf07d1e8e1568c4b800095efb88b8a1e83076f40da1d233bf9c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fd31b8eb163bddf07d1e8e1568c4b800095efb88b8a1e83076f40da1d233bf9c", kill_on_drop: false }` [INFO] [stdout] fd31b8eb163bddf07d1e8e1568c4b800095efb88b8a1e83076f40da1d233bf9c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d8ca263a464dbfb72728ebfe1b1820855cac53b7e15566abbb9cbf0f642cb4f3 [INFO] running `Command { std: "docker" "start" "-a" "d8ca263a464dbfb72728ebfe1b1820855cac53b7e15566abbb9cbf0f642cb4f3", kill_on_drop: false }` [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling typenum v1.15.0 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling siphasher v0.3.10 [INFO] [stderr] Compiling opaque-debug v0.3.0 [INFO] [stderr] Compiling cpufeatures v0.2.5 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling regex-syntax v0.6.26 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling uwl v0.6.0 [INFO] [stderr] Compiling generic-array v0.14.6 [INFO] [stderr] Compiling phf_shared v0.11.1 [INFO] [stderr] Compiling phf v0.11.1 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling block-buffer v0.9.0 [INFO] [stderr] Compiling regex v1.5.6 [INFO] [stderr] Compiling sha2 v0.9.9 [INFO] [stderr] Compiling interp v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::token::TokenType` [INFO] [stdout] --> src/ast.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::token::TokenType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> src/ast.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::ops::DerefMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::token` [INFO] [stdout] --> src/parser.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::token; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/parser.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Scope`, `SymbolType`, and `tokenizer::tokenize` [INFO] [stdout] --> src/test_ast.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | ast::{Scope, SymbolType}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] 3 | tokenizer::tokenize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/main.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | mod test_ast; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::expr::operate` [INFO] [stdout] --> src/test_expr.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::expr::operate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/main.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test_expr; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::collect_expression_tokens` [INFO] [stdout] --> src/test_expr.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::parser::collect_expression_tokens; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/main.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test_expr; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::infix_to_postfix` [INFO] [stdout] --> src/test_expr.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::infix_to_postfix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/main.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test_expr; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::precedence` [INFO] [stdout] --> src/test_expr.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::parser::precedence; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/main.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test_expr; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::token::TokenType` [INFO] [stdout] --> src/test_expr.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::token::TokenType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/main.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test_expr; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::tokenizer::tokenize` [INFO] [stdout] --> src/test_expr.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::tokenizer::tokenize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/main.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod test_expr; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::collect_expression_tokens` [INFO] [stdout] --> src/test_parser.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::parser::collect_expression_tokens; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/main.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod test_parser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::eval_expression` [INFO] [stdout] --> src/test_parser.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::parser::eval_expression; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/main.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod test_parser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::infix_to_postfix` [INFO] [stdout] --> src/test_parser.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::infix_to_postfix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/main.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod test_parser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::parse_logical_iter` [INFO] [stdout] --> src/test_parser.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::parser::parse_logical_iter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/main.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | mod test_parser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ast.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | let mut scope = stack.back_mut().unwrap(); [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: `undef_regx` [INFO] [stdout] --> src/expr.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | let undef_regx = Regex::new(r"^undefined$").unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_undef_regx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expr` is never read [INFO] [stdout] --> src/expr.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut expr = LSExpr::Undefined; [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: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | let mut token = itr.next(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/parser.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let mut block = Vec::::new(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current` [INFO] [stdout] --> src/parser.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | let mut current = token.next(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | let mut block = Vec::::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | let mut current = token.next(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | let mut tok = tokens.peek_mut(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let mut val: ast::SymbolType; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | let mut toks: Box>>; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | let mut i = tok.unwrap(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:199:21 [INFO] [stdout] | [INFO] [stdout] 199 | let mut arr; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:222:21 [INFO] [stdout] | [INFO] [stdout] 222 | let mut str; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sym` [INFO] [stdout] --> src/parser.rs:359:26 [INFO] [stdout] | [INFO] [stdout] 359 | Some(sym) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sym` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_token` [INFO] [stdout] --> src/parser.rs:385:5 [INFO] [stdout] | [INFO] [stdout] 385 | current_token: &'a Token, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:411:9 [INFO] [stdout] | [INFO] [stdout] 411 | let mut token = itr.next(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/parser.rs:514:9 [INFO] [stdout] | [INFO] [stdout] 505 | TokenType::Equals => 252, [INFO] [stdout] | ----------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 514 | TokenType::Equals => 250, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/main.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | fn parse_args(args: Vec) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/main.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let args: Vec = env::args().collect(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pasrsed_tokens` [INFO] [stdout] --> src/main.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let pasrsed_tokens = parser::parse(&mut tokens); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pasrsed_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_args` is never used [INFO] [stdout] --> src/main.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn parse_args(args: Vec) {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Object` and `Function` are never constructed [INFO] [stdout] --> src/ast.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum SymbolType { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 23 | Object(BTreeMap), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 24 | Array(Vec), [INFO] [stdout] 25 | Function(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SymbolType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FunctionSymbolArgs` is never constructed [INFO] [stdout] --> src/ast.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct FunctionSymbolArgs { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunctionSymbolArgs` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ObjectSymbolArgs` is never constructed [INFO] [stdout] --> src/ast.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct ObjectSymbolArgs { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ObjectSymbolArgs` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ArraySymbolArgs` is never constructed [INFO] [stdout] --> src/ast.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct ArraySymbolArgs { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ArraySymbolArgs` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `push` and `pop` are never used [INFO] [stdout] --> src/ast.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 63 | impl CALL_STACK { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 64 | pub fn push(&self, scope: Scope) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn pop(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/expr.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum LSExpr { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 18 | SubtractF64I32(f64, i32), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | ModF64I32(f64, i32), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | Equal(bool, bool), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 33 | NotEqual(bool, bool), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 34 | Gt(bool, bool), [INFO] [stdout] | ^^ [INFO] [stdout] 35 | Lt(bool, bool), [INFO] [stdout] | ^^ [INFO] [stdout] 36 | Gte(bool, bool), [INFO] [stdout] | ^^^ [INFO] [stdout] 37 | Lte(bool, bool), [INFO] [stdout] | ^^^ [INFO] [stdout] 38 | EqualI32(i32, i32), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 39 | NotEqualI32(i32, i32), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 40 | GtI32(i32, i32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 41 | LtI32(i32, i32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 42 | GteI32(i32, i32), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 43 | LteI32(i32, i32), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 44 | EqualF64(f64, f64), [INFO] [stdout] 45 | NotEqualF64(f64, f64), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LSExpr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cast_to_int` is never used [INFO] [stdout] --> src/expr.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 53 | impl LSExpr { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 136 | fn cast_to_int(&self) -> LSExpr { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_assignment` is never used [INFO] [stdout] --> src/parser.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn parse_assignment(tokens: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_block` is never used [INFO] [stdout] --> src/parser.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn parse_block(tokens: Vec) -> ast::SymbolType { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_expression` is never used [INFO] [stdout] --> src/parser.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn parse_expression(expr: &mut Vec) -> ast::SymbolType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_string` is never used [INFO] [stdout] --> src/parser.rs:234:4 [INFO] [stdout] | [INFO] [stdout] 234 | fn parse_string(tokens: Vec) -> ast::SymbolType { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_array` is never used [INFO] [stdout] --> src/parser.rs:269:4 [INFO] [stdout] | [INFO] [stdout] 269 | fn parse_array(tokens: Vec) -> ast::SymbolType { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_object` is never used [INFO] [stdout] --> src/parser.rs:311:4 [INFO] [stdout] | [INFO] [stdout] 311 | fn parse_object(tokens: Vec) -> ast::SymbolType { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_expression_tokens` is never used [INFO] [stdout] --> src/parser.rs:384:8 [INFO] [stdout] | [INFO] [stdout] 384 | pub fn collect_expression_tokens<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_number_sign_helper` is never used [INFO] [stdout] --> src/parser.rs:410:8 [INFO] [stdout] | [INFO] [stdout] 410 | pub fn find_number_sign_helper(mut itr: std::vec::IntoIter) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `expr_type_factory` is never used [INFO] [stdout] --> src/parser.rs:519:8 [INFO] [stdout] | [INFO] [stdout] 519 | pub fn expr_type_factory(mut itr: vec::IntoIter) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_resolve_unary_operators_4` is never used [INFO] [stdout] --> src/test_parser.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn test_resolve_unary_operators_4() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Period`, `Object`, and `TokenError` are never constructed [INFO] [stdout] --> src/token.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum TokenType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 30 | Period, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | Object, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | TokenError, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_regex_token` is never used [INFO] [stdout] --> src/tokenizer.rs:208:4 [INFO] [stdout] | [INFO] [stdout] 208 | fn generate_regex_token( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.81s [INFO] running `Command { std: "docker" "inspect" "d8ca263a464dbfb72728ebfe1b1820855cac53b7e15566abbb9cbf0f642cb4f3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d8ca263a464dbfb72728ebfe1b1820855cac53b7e15566abbb9cbf0f642cb4f3", kill_on_drop: false }` [INFO] [stdout] d8ca263a464dbfb72728ebfe1b1820855cac53b7e15566abbb9cbf0f642cb4f3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 00112c42b38f1f37003495450b6426cd9db371ad7a963d693d67ff0d2a16928b [INFO] running `Command { std: "docker" "start" "-a" "00112c42b38f1f37003495450b6426cd9db371ad7a963d693d67ff0d2a16928b", kill_on_drop: false }` [INFO] [stderr] Compiling interp v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::token::TokenType` [INFO] [stdout] --> src/ast.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::token::TokenType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> src/ast.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::ops::DerefMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::token` [INFO] [stdout] --> src/parser.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::token; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/parser.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Scope`, `SymbolType`, and `tokenizer::tokenize` [INFO] [stdout] --> src/test_ast.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | ast::{Scope, SymbolType}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] 3 | tokenizer::tokenize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::collect_expression_tokens` [INFO] [stdout] --> src/test_expr.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::parser::collect_expression_tokens; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::infix_to_postfix` [INFO] [stdout] --> src/test_expr.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::infix_to_postfix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::precedence` [INFO] [stdout] --> src/test_expr.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::parser::precedence; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ast.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | let mut scope = stack.back_mut().unwrap(); [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: `undef_regx` [INFO] [stdout] --> src/expr.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | let undef_regx = Regex::new(r"^undefined$").unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_undef_regx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expr` is never read [INFO] [stdout] --> src/expr.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut expr = LSExpr::Undefined; [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: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | let mut token = itr.next(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/parser.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let mut block = Vec::::new(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current` [INFO] [stdout] --> src/parser.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | let mut current = token.next(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | let mut block = Vec::::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | let mut current = token.next(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | let mut tok = tokens.peek_mut(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let mut val: ast::SymbolType; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | let mut toks: Box>>; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | let mut i = tok.unwrap(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:199:21 [INFO] [stdout] | [INFO] [stdout] 199 | let mut arr; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:222:21 [INFO] [stdout] | [INFO] [stdout] 222 | let mut str; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sym` [INFO] [stdout] --> src/parser.rs:359:26 [INFO] [stdout] | [INFO] [stdout] 359 | Some(sym) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sym` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_token` [INFO] [stdout] --> src/parser.rs:385:5 [INFO] [stdout] | [INFO] [stdout] 385 | current_token: &'a Token, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:411:9 [INFO] [stdout] | [INFO] [stdout] 411 | let mut token = itr.next(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/parser.rs:514:9 [INFO] [stdout] | [INFO] [stdout] 505 | TokenType::Equals => 252, [INFO] [stdout] | ----------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 514 | TokenType::Equals => 250, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `x` is assigned to, but never used [INFO] [stdout] --> src/test_parser.rs:249:13 [INFO] [stdout] | [INFO] [stdout] 249 | let mut x; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_x` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `x` is never read [INFO] [stdout] --> src/test_parser.rs:251:6 [INFO] [stdout] | [INFO] [stdout] 251 | (x, y) = parse_logical_iter(Box::new(tokens.peekable())); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/test_parser.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | let mut tokens = binding.iter(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/test_parser.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | let mut x; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/main.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | fn parse_args(args: Vec) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/main.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let args: Vec = env::args().collect(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pasrsed_tokens` [INFO] [stdout] --> src/main.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let pasrsed_tokens = parser::parse(&mut tokens); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pasrsed_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_args` is never used [INFO] [stdout] --> src/main.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn parse_args(args: Vec) {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Object` and `Function` are never constructed [INFO] [stdout] --> src/ast.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum SymbolType { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 23 | Object(BTreeMap), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 24 | Array(Vec), [INFO] [stdout] 25 | Function(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SymbolType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FunctionSymbolArgs` is never constructed [INFO] [stdout] --> src/ast.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct FunctionSymbolArgs { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunctionSymbolArgs` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ObjectSymbolArgs` is never constructed [INFO] [stdout] --> src/ast.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct ObjectSymbolArgs { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ObjectSymbolArgs` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ArraySymbolArgs` is never constructed [INFO] [stdout] --> src/ast.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct ArraySymbolArgs { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ArraySymbolArgs` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `push` and `pop` are never used [INFO] [stdout] --> src/ast.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 63 | impl CALL_STACK { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 64 | pub fn push(&self, scope: Scope) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn pop(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/expr.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum LSExpr { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 18 | SubtractF64I32(f64, i32), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | ModF64I32(f64, i32), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | Equal(bool, bool), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 33 | NotEqual(bool, bool), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 34 | Gt(bool, bool), [INFO] [stdout] | ^^ [INFO] [stdout] 35 | Lt(bool, bool), [INFO] [stdout] | ^^ [INFO] [stdout] 36 | Gte(bool, bool), [INFO] [stdout] | ^^^ [INFO] [stdout] 37 | Lte(bool, bool), [INFO] [stdout] | ^^^ [INFO] [stdout] 38 | EqualI32(i32, i32), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 39 | NotEqualI32(i32, i32), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 40 | GtI32(i32, i32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 41 | LtI32(i32, i32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 42 | GteI32(i32, i32), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 43 | LteI32(i32, i32), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 44 | EqualF64(f64, f64), [INFO] [stdout] 45 | NotEqualF64(f64, f64), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LSExpr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cast_to_int` is never used [INFO] [stdout] --> src/expr.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 53 | impl LSExpr { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 136 | fn cast_to_int(&self) -> LSExpr { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_assignment` is never used [INFO] [stdout] --> src/parser.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn parse_assignment(tokens: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_block` is never used [INFO] [stdout] --> src/parser.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn parse_block(tokens: Vec) -> ast::SymbolType { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_expression` is never used [INFO] [stdout] --> src/parser.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn parse_expression(expr: &mut Vec) -> ast::SymbolType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_string` is never used [INFO] [stdout] --> src/parser.rs:234:4 [INFO] [stdout] | [INFO] [stdout] 234 | fn parse_string(tokens: Vec) -> ast::SymbolType { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_array` is never used [INFO] [stdout] --> src/parser.rs:269:4 [INFO] [stdout] | [INFO] [stdout] 269 | fn parse_array(tokens: Vec) -> ast::SymbolType { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_object` is never used [INFO] [stdout] --> src/parser.rs:311:4 [INFO] [stdout] | [INFO] [stdout] 311 | fn parse_object(tokens: Vec) -> ast::SymbolType { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_number_sign_helper` is never used [INFO] [stdout] --> src/parser.rs:410:8 [INFO] [stdout] | [INFO] [stdout] 410 | pub fn find_number_sign_helper(mut itr: std::vec::IntoIter) -> Token { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `expr_type_factory` is never used [INFO] [stdout] --> src/parser.rs:519:8 [INFO] [stdout] | [INFO] [stdout] 519 | pub fn expr_type_factory(mut itr: vec::IntoIter) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_resolve_unary_operators_4` is never used [INFO] [stdout] --> src/test_parser.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn test_resolve_unary_operators_4() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Period`, `Object`, and `TokenError` are never constructed [INFO] [stdout] --> src/token.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum TokenType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 30 | Period, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | Object, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | TokenError, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.80s [INFO] running `Command { std: "docker" "inspect" "00112c42b38f1f37003495450b6426cd9db371ad7a963d693d67ff0d2a16928b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "00112c42b38f1f37003495450b6426cd9db371ad7a963d693d67ff0d2a16928b", kill_on_drop: false }` [INFO] [stdout] 00112c42b38f1f37003495450b6426cd9db371ad7a963d693d67ff0d2a16928b