[INFO] fetching crate numeron 0.1.0... [INFO] testing numeron-0.1.0 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate numeron 0.1.0 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate numeron 0.1.0 [INFO] finished tweaking crates.io crate numeron 0.1.0 [INFO] tweaked toml for crates.io crate numeron 0.1.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate numeron 0.1.0 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate numeron 0.1.0 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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "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-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b3045b3935ada446cba6ca5ffb05f815159ee971893f1f4f53efba80c87b7b89 [INFO] running `Command { std: "docker" "start" "-a" "b3045b3935ada446cba6ca5ffb05f815159ee971893f1f4f53efba80c87b7b89", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b3045b3935ada446cba6ca5ffb05f815159ee971893f1f4f53efba80c87b7b89", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b3045b3935ada446cba6ca5ffb05f815159ee971893f1f4f53efba80c87b7b89", kill_on_drop: false }` [INFO] [stdout] b3045b3935ada446cba6ca5ffb05f815159ee971893f1f4f53efba80c87b7b89 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] e5357bb678cb7725d05d3b6216cc925ab5246b779cfaa672585633b9801b65ed [INFO] running `Command { std: "docker" "start" "-a" "e5357bb678cb7725d05d3b6216cc925ab5246b779cfaa672585633b9801b65ed", kill_on_drop: false }` [INFO] [stderr] Compiling numeron v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `borrow::Borrow` [INFO] [stdout] --> src/parser/parser.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{borrow::Borrow, process::exit}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `vm` should have an upper camel case name [INFO] [stdout] --> src/vm/vm.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct vm { [INFO] [stdout] | ^^ help: convert the identifier to upper camel case (notice the capitalization): `Vm` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vm::*` [INFO] [stdout] --> src/vm/mod.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub use vm::*; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ex` [INFO] [stdout] --> src/parser/parser.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 94 | let ex = self.statement(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ex` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expression` [INFO] [stdout] --> src/vm/vm.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | for expression in &self.expressions { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/vm/vm.rs:52:33 [INFO] [stdout] | [INFO] [stdout] 49 | ... add => { [INFO] [stdout] | --- matches any value [INFO] [stdout] ... [INFO] [stdout] 52 | ... _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: there is a binding of the same name; if you meant to pattern match against the value of that binding, that is a feature of constants that is not available for `let` bindings [INFO] [stdout] --> src/vm/vm.rs:47:33 [INFO] [stdout] | [INFO] [stdout] 47 | ... let add = "+".to_string(); [INFO] [stdout] | ^^^ [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `add` [INFO] [stdout] --> src/vm/vm.rs:47:33 [INFO] [stdout] | [INFO] [stdout] 47 | ... let add = "+".to_string(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_add` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `add` [INFO] [stdout] --> src/vm/vm.rs:49:33 [INFO] [stdout] | [INFO] [stdout] 49 | ... add => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_add` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/lexer/lexer.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum OperatorKind { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 17 | Equal, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 18 | NotEqual, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | GreaterThanOrEqual, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | LessThanOrEqual, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | AddAssign, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 28 | SubtractAssign, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 29 | MultiplyAssign, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 30 | DivideAssign, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 31 | ModuloAssign, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OperatorKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `CloseBrace` is never constructed [INFO] [stdout] --> src/lexer/lexer.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeparatorKind { [INFO] [stdout] | ------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 43 | CloseBrace, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SeparatorKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Comment` is never constructed [INFO] [stdout] --> src/lexer/lexer.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 101 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 108 | Comment(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` 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: field `line` is never read [INFO] [stdout] --> src/lexer/lexer.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub struct Token { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 116 | line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` 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: associated items `new` and `to_string` are never used [INFO] [stdout] --> src/lexer/lexer.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 119 | impl Token { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 120 | pub fn new(kind: TokenKind, lexeme: String, line: usize) -> Token { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/parser/parser.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum Literal { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 13 | Integer(i64), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 14 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 15 | Char(char), [INFO] [stdout] | ^^^^ [INFO] [stdout] 16 | Complex(f64, f64), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 17 | Imaginary(f64), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | Rational(f64, f64), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 19 | IRational(i64, i64), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 20 | Range(i64, i64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 21 | Symbol(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 22 | Operator(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 23 | String(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 24 | Boolean(bool), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 25 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Literal` 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: associated function `from_token` is never used [INFO] [stdout] --> src/parser/parser.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Literal { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 29 | pub fn from_token(token: Token) -> Literal { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Binary`, `Grouped`, `Literal`, and `Unary` are never constructed [INFO] [stdout] --> src/parser/parser.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum Expression { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 46 | Binary { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | Grouped { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | Literal { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | Unary { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` 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: multiple methods are never used [INFO] [stdout] --> src/parser/parser.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 67 | impl Parser { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn is_end(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn next(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn previous(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn expression(&mut self) -> Expression { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | fn equality(&mut self) -> Expression { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | fn comparison(&mut self) -> Expression { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | fn term(&mut self) -> Expression { // + - [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | fn factor(&mut self) -> Expression { // * / [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | fn unary(&mut self) -> Expression { // - [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | fn primary(&self) -> Expression { // [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | fn consume(&mut self, kind: TokenKind) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | fn assest(&mut self, kind: TokenKind) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `expressions`, `stack`, `heap`, and `current` are never read [INFO] [stdout] --> src/vm/vm.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct vm { [INFO] [stdout] | -- fields in this struct [INFO] [stdout] 6 | pub expressions: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 7 | pub stack: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | pub heap: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | pub current: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `execute`, `peek`, `pop`, and `push` are never used [INFO] [stdout] --> src/vm/vm.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl vm { [INFO] [stdout] | ------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn execute(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | fn peek(&self) -> f64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fn pop(&mut self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | fn push(&mut self, value: f64) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.32s [INFO] running `Command { std: "docker" "inspect" "e5357bb678cb7725d05d3b6216cc925ab5246b779cfaa672585633b9801b65ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e5357bb678cb7725d05d3b6216cc925ab5246b779cfaa672585633b9801b65ed", kill_on_drop: false }` [INFO] [stdout] e5357bb678cb7725d05d3b6216cc925ab5246b779cfaa672585633b9801b65ed [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] c9035a350ab5711d3bc08df66a9c18edf1f168866af38697eb1f355794ac8f37 [INFO] running `Command { std: "docker" "start" "-a" "c9035a350ab5711d3bc08df66a9c18edf1f168866af38697eb1f355794ac8f37", kill_on_drop: false }` [INFO] [stderr] Compiling numeron v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `borrow::Borrow` [INFO] [stdout] --> src/parser/parser.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{borrow::Borrow, process::exit}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `vm` should have an upper camel case name [INFO] [stdout] --> src/vm/vm.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct vm { [INFO] [stdout] | ^^ help: convert the identifier to upper camel case (notice the capitalization): `Vm` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vm::*` [INFO] [stdout] --> src/vm/mod.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub use vm::*; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ex` [INFO] [stdout] --> src/parser/parser.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 94 | let ex = self.statement(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ex` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expression` [INFO] [stdout] --> src/vm/vm.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | for expression in &self.expressions { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/vm/vm.rs:52:33 [INFO] [stdout] | [INFO] [stdout] 49 | ... add => { [INFO] [stdout] | --- matches any value [INFO] [stdout] ... [INFO] [stdout] 52 | ... _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: there is a binding of the same name; if you meant to pattern match against the value of that binding, that is a feature of constants that is not available for `let` bindings [INFO] [stdout] --> src/vm/vm.rs:47:33 [INFO] [stdout] | [INFO] [stdout] 47 | ... let add = "+".to_string(); [INFO] [stdout] | ^^^ [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `add` [INFO] [stdout] --> src/vm/vm.rs:47:33 [INFO] [stdout] | [INFO] [stdout] 47 | ... let add = "+".to_string(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_add` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `add` [INFO] [stdout] --> src/vm/vm.rs:49:33 [INFO] [stdout] | [INFO] [stdout] 49 | ... add => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_add` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/lexer/lexer.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum OperatorKind { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 17 | Equal, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 18 | NotEqual, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | GreaterThanOrEqual, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | LessThanOrEqual, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | AddAssign, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 28 | SubtractAssign, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 29 | MultiplyAssign, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 30 | DivideAssign, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 31 | ModuloAssign, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OperatorKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `CloseBrace` is never constructed [INFO] [stdout] --> src/lexer/lexer.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 35 | pub enum SeparatorKind { [INFO] [stdout] | ------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 43 | CloseBrace, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SeparatorKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Comment` is never constructed [INFO] [stdout] --> src/lexer/lexer.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 101 | pub enum TokenKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 108 | Comment(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenKind` 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: field `line` is never read [INFO] [stdout] --> src/lexer/lexer.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub struct Token { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 116 | line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` 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: associated items `new` and `to_string` are never used [INFO] [stdout] --> src/lexer/lexer.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 119 | impl Token { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 120 | pub fn new(kind: TokenKind, lexeme: String, line: usize) -> Token { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/parser/parser.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum Literal { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 13 | Integer(i64), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 14 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 15 | Char(char), [INFO] [stdout] | ^^^^ [INFO] [stdout] 16 | Complex(f64, f64), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 17 | Imaginary(f64), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | Rational(f64, f64), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 19 | IRational(i64, i64), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 20 | Range(i64, i64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 21 | Symbol(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 22 | Operator(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 23 | String(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 24 | Boolean(bool), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 25 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Literal` 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: associated function `from_token` is never used [INFO] [stdout] --> src/parser/parser.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Literal { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 29 | pub fn from_token(token: Token) -> Literal { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Binary`, `Grouped`, `Literal`, and `Unary` are never constructed [INFO] [stdout] --> src/parser/parser.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 45 | pub enum Expression { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 46 | Binary { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | Grouped { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | Literal { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | Unary { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` 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: multiple methods are never used [INFO] [stdout] --> src/parser/parser.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 67 | impl Parser { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn is_end(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn next(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn previous(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn expression(&mut self) -> Expression { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | fn equality(&mut self) -> Expression { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | fn comparison(&mut self) -> Expression { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | fn term(&mut self) -> Expression { // + - [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | fn factor(&mut self) -> Expression { // * / [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | fn unary(&mut self) -> Expression { // - [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | fn primary(&self) -> Expression { // [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | fn consume(&mut self, kind: TokenKind) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | fn assest(&mut self, kind: TokenKind) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `expressions`, `stack`, `heap`, and `current` are never read [INFO] [stdout] --> src/vm/vm.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct vm { [INFO] [stdout] | -- fields in this struct [INFO] [stdout] 6 | pub expressions: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 7 | pub stack: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | pub heap: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | pub current: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `execute`, `peek`, `pop`, and `push` are never used [INFO] [stdout] --> src/vm/vm.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl vm { [INFO] [stdout] | ------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn execute(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | fn peek(&self) -> f64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fn pop(&mut self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | fn push(&mut self, value: f64) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s [INFO] running `Command { std: "docker" "inspect" "c9035a350ab5711d3bc08df66a9c18edf1f168866af38697eb1f355794ac8f37", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c9035a350ab5711d3bc08df66a9c18edf1f168866af38697eb1f355794ac8f37", kill_on_drop: false }` [INFO] [stdout] c9035a350ab5711d3bc08df66a9c18edf1f168866af38697eb1f355794ac8f37 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 8d47275ce0895884dec4f0166a9f9ce1bc9a645b4abb0681af34dcb07343675c [INFO] running `Command { std: "docker" "start" "-a" "8d47275ce0895884dec4f0166a9f9ce1bc9a645b4abb0681af34dcb07343675c", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `borrow::Borrow` [INFO] [stderr] --> src/parser/parser.rs:1:11 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{borrow::Borrow, process::exit}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: type `vm` should have an upper camel case name [INFO] [stderr] --> src/vm/vm.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct vm { [INFO] [stderr] | ^^ help: convert the identifier to upper camel case (notice the capitalization): `Vm` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `vm::*` [INFO] [stderr] --> src/vm/mod.rs:2:9 [INFO] [stderr] | [INFO] [stderr] 2 | pub use vm::*; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ex` [INFO] [stderr] --> src/parser/parser.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | let ex = self.statement(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_ex` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `expression` [INFO] [stderr] --> src/vm/vm.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | for expression in &self.expressions { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expression` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/vm/vm.rs:52:33 [INFO] [stderr] | [INFO] [stderr] 49 | ... add => { [INFO] [stderr] | --- matches any value [INFO] [stderr] ... [INFO] [stderr] 52 | ... _ => {} [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: there is a binding of the same name; if you meant to pattern match against the value of that binding, that is a feature of constants that is not available for `let` bindings [INFO] [stderr] --> src/vm/vm.rs:47:33 [INFO] [stderr] | [INFO] [stderr] 47 | ... let add = "+".to_string(); [INFO] [stderr] | ^^^ [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `add` [INFO] [stderr] --> src/vm/vm.rs:47:33 [INFO] [stderr] | [INFO] [stderr] 47 | ... let add = "+".to_string(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_add` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `add` [INFO] [stderr] --> src/vm/vm.rs:49:33 [INFO] [stderr] | [INFO] [stderr] 49 | ... add => { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_add` [INFO] [stderr] [INFO] [stderr] warning: multiple variants are never constructed [INFO] [stderr] --> src/lexer/lexer.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 11 | pub enum OperatorKind { [INFO] [stderr] | ------------ variants in this enum [INFO] [stderr] ... [INFO] [stderr] 17 | Equal, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 18 | NotEqual, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 21 | GreaterThanOrEqual, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 22 | LessThanOrEqual, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 27 | AddAssign, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 28 | SubtractAssign, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 29 | MultiplyAssign, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 30 | DivideAssign, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 31 | ModuloAssign, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `OperatorKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `CloseBrace` is never constructed [INFO] [stderr] --> src/lexer/lexer.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 35 | pub enum SeparatorKind { [INFO] [stderr] | ------------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 43 | CloseBrace, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SeparatorKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variant `Comment` is never constructed [INFO] [stderr] --> src/lexer/lexer.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 101 | pub enum TokenKind { [INFO] [stderr] | --------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 108 | Comment(String), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TokenKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `line` is never read [INFO] [stderr] --> src/lexer/lexer.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 113 | pub struct Token { [INFO] [stderr] | ----- field in this struct [INFO] [stderr] ... [INFO] [stderr] 116 | line: usize, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Token` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `to_string` are never used [INFO] [stderr] --> src/lexer/lexer.rs:120:12 [INFO] [stderr] | [INFO] [stderr] 119 | impl Token { [INFO] [stderr] | ---------- associated items in this implementation [INFO] [stderr] 120 | pub fn new(kind: TokenKind, lexeme: String, line: usize) -> Token { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 124 | pub fn to_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple variants are never constructed [INFO] [stderr] --> src/parser/parser.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 12 | pub enum Literal { [INFO] [stderr] | ------- variants in this enum [INFO] [stderr] 13 | Integer(i64), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 14 | Float(f64), [INFO] [stderr] | ^^^^^ [INFO] [stderr] 15 | Char(char), [INFO] [stderr] | ^^^^ [INFO] [stderr] 16 | Complex(f64, f64), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 17 | Imaginary(f64), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 18 | Rational(f64, f64), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 19 | IRational(i64, i64), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 20 | Range(i64, i64), [INFO] [stderr] | ^^^^^ [INFO] [stderr] 21 | Symbol(String), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 22 | Operator(String), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 23 | String(String), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 24 | Boolean(bool), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 25 | Null, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Literal` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `from_token` is never used [INFO] [stderr] --> src/parser/parser.rs:29:12 [INFO] [stderr] | [INFO] [stderr] 28 | impl Literal { [INFO] [stderr] | ------------ associated function in this implementation [INFO] [stderr] 29 | pub fn from_token(token: Token) -> Literal { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Binary`, `Grouped`, `Literal`, and `Unary` are never constructed [INFO] [stderr] --> src/parser/parser.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 45 | pub enum Expression { [INFO] [stderr] | ---------- variants in this enum [INFO] [stderr] 46 | Binary { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 51 | Grouped { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 54 | Literal { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 57 | Unary { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Expression` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/parser/parser.rs:72:12 [INFO] [stderr] | [INFO] [stderr] 67 | impl Parser { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 72 | pub fn is_end(&self) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 76 | pub fn next(&mut self) -> Option { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 81 | pub fn previous(&mut self) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 117 | fn expression(&mut self) -> Expression { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 121 | fn equality(&mut self) -> Expression { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 142 | fn comparison(&mut self) -> Expression { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 162 | fn term(&mut self) -> Expression { // + - [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 182 | fn factor(&mut self) -> Expression { // * / [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 222 | fn unary(&mut self) -> Expression { // - [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 240 | fn primary(&self) -> Expression { // [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 245 | fn consume(&mut self, kind: TokenKind) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 254 | fn assest(&mut self, kind: TokenKind) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `expressions`, `stack`, `heap`, and `current` are never read [INFO] [stderr] --> src/vm/vm.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct vm { [INFO] [stderr] | -- fields in this struct [INFO] [stderr] 6 | pub expressions: Vec, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 7 | pub stack: Vec, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 8 | pub heap: Vec, [INFO] [stderr] | ^^^^ [INFO] [stderr] 9 | pub current: usize, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `execute`, `peek`, `pop`, and `push` are never used [INFO] [stderr] --> src/vm/vm.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 12 | impl vm { [INFO] [stderr] | ------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 18 | pub fn execute(&mut self) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 24 | fn peek(&self) -> f64 { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 28 | fn pop(&mut self) -> f64 { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 33 | fn push(&mut self, value: f64) { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: `numeron` (bin "numeron" test) generated 19 warnings (run `cargo fix --bin "numeron" --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/numeron-400de73ddf2f3dc2) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "8d47275ce0895884dec4f0166a9f9ce1bc9a645b4abb0681af34dcb07343675c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8d47275ce0895884dec4f0166a9f9ce1bc9a645b4abb0681af34dcb07343675c", kill_on_drop: false }` [INFO] [stdout] 8d47275ce0895884dec4f0166a9f9ce1bc9a645b4abb0681af34dcb07343675c