[INFO] cloning repository https://github.com/uditaagarwal31/asa-language [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/uditaagarwal31/asa-language" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fuditaagarwal31%2Fasa-language", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fuditaagarwal31%2Fasa-language'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 840495a1a9e92582aa2aeddbd547f37db662716e [INFO] building uditaagarwal31/asa-language 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%2Fuditaagarwal31%2Fasa-language" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/uditaagarwal31/asa-language 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/uditaagarwal31/asa-language [INFO] finished tweaking git repo https://github.com/uditaagarwal31/asa-language [INFO] tweaked toml for git repo https://github.com/uditaagarwal31/asa-language written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/uditaagarwal31/asa-language 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-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] bb540c5145d6973b01566fa207e6145b2aa6e01f6f7beece3b67cfe974b21d72 [INFO] running `Command { std: "docker" "start" "-a" "bb540c5145d6973b01566fa207e6145b2aa6e01f6f7beece3b67cfe974b21d72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bb540c5145d6973b01566fa207e6145b2aa6e01f6f7beece3b67cfe974b21d72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bb540c5145d6973b01566fa207e6145b2aa6e01f6f7beece3b67cfe974b21d72", kill_on_drop: false }` [INFO] [stdout] bb540c5145d6973b01566fa207e6145b2aa6e01f6f7beece3b67cfe974b21d72 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 08c326dd42c1e56eaa01bf260836f785cefbf6a400fbfd3a2fbd517c399f68d7 [INFO] running `Command { std: "docker" "start" "-a" "08c326dd42c1e56eaa01bf260836f785cefbf6a400fbfd3a2fbd517c399f68d7", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling asalang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> src/interpreter.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/interpreter.rs:193:18 [INFO] [stdout] | [INFO] [stdout] 193 | _ => ("Operator error".to_string()) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 193 - _ => ("Operator error".to_string()) [INFO] [stdout] 193 + _ => "Operator error".to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:225:11 [INFO] [stdout] | [INFO] [stdout] 225 | if((lhs_bool && rhs_number) || (rhs_bool && lhs_number)){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 225 - if((lhs_bool && rhs_number) || (rhs_bool && lhs_number)){ [INFO] [stdout] 225 + if (lhs_bool && rhs_number) || (rhs_bool && lhs_number) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:230:12 [INFO] [stdout] | [INFO] [stdout] 230 | if (string_op_val == "<"){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 230 - if (string_op_val == "<"){ [INFO] [stdout] 230 + if string_op_val == "<" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:232:19 [INFO] [stdout] | [INFO] [stdout] 232 | } else if (string_op_val == ">"){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 232 - } else if (string_op_val == ">"){ [INFO] [stdout] 232 + } else if string_op_val == ">" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:234:19 [INFO] [stdout] | [INFO] [stdout] 234 | } else if (string_op_val == "=="){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 234 - } else if (string_op_val == "=="){ [INFO] [stdout] 234 + } else if string_op_val == "==" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:236:19 [INFO] [stdout] | [INFO] [stdout] 236 | } else if (string_op_val == "!="){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 236 - } else if (string_op_val == "!="){ [INFO] [stdout] 236 + } else if string_op_val == "!=" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:238:19 [INFO] [stdout] | [INFO] [stdout] 238 | } else if (string_op_val == ">="){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 238 - } else if (string_op_val == ">="){ [INFO] [stdout] 238 + } else if string_op_val == ">=" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:240:19 [INFO] [stdout] | [INFO] [stdout] 240 | } else if (string_op_val == "<="){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 240 - } else if (string_op_val == "<="){ [INFO] [stdout] 240 + } else if string_op_val == "<=" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:297:11 [INFO] [stdout] | [INFO] [stdout] 297 | if(condition){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 297 - if(condition){ [INFO] [stdout] 297 + if condition { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:328:11 [INFO] [stdout] | [INFO] [stdout] 328 | if(condition){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 328 - if(condition){ [INFO] [stdout] 328 + if condition { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `combinator::opt` [INFO] [stdout] --> src/parser.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | combinator::opt, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/interpreter.rs:69:29 [INFO] [stdout] | [INFO] [stdout] 69 | for i in 0..rhs { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `check_lhs` [INFO] [stdout] --> src/interpreter.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | let check_lhs = match lhs_val.clone().unwrap(){ [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_check_lhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs_val` [INFO] [stdout] --> src/interpreter.rs:203:25 [INFO] [stdout] | [INFO] [stdout] 203 | Value::Bool(lhs_val) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> src/interpreter.rs:206:27 [INFO] [stdout] | [INFO] [stdout] 206 | Value::Number(lhs) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_lhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `check_rhs` [INFO] [stdout] --> src/interpreter.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | let check_rhs = match rhs_val.clone().unwrap(){ [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_check_rhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs_val` [INFO] [stdout] --> src/interpreter.rs:214:25 [INFO] [stdout] | [INFO] [stdout] 214 | Value::Bool(rhs_val) =>{ [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rhs_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs_val` [INFO] [stdout] --> src/interpreter.rs:217:27 [INFO] [stdout] | [INFO] [stdout] 217 | Value::Number(rhs_val) =>{ [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rhs_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/interpreter.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 299 | let result = match c { // matches the children to Statement node [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/interpreter.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 330 | let result = match c { // matches each element to Statement node [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/interpreter.rs:345:17 [INFO] [stdout] | [INFO] [stdout] 345 | let result = match c { // matches each element to Statement node [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | let (input, mut args) = many0(arguments)(input)?; // applies parser 0 or more times to recognise arguments function and returns in args [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 `Result` that must be used [INFO] [stdout] --> src/interpreter.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | self.run(n); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 31 | let _ = self.run(n); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/interpreter.rs:262:13 [INFO] [stdout] | [INFO] [stdout] 262 | / match c { [INFO] [stdout] 263 | | Node::IfStatement { .. } => { [INFO] [stdout] 264 | | self.run(&children[0]) [INFO] [stdout] 265 | | }, [INFO] [stdout] ... | [INFO] [stdout] 272 | | _ => Err("Unknown Statement".to_string()), // if none match, returns error message [INFO] [stdout] 273 | | }; [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 262 | let _ = match c { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/interpreter.rs:434:3 [INFO] [stdout] | [INFO] [stdout] 434 | runtime.run(node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 434 | let _ = runtime.run(node); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Node` and `Runtime` [INFO] [stdout] --> src/main.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | use asalang::{program, Runtime, Node, start_interpreter}; [INFO] [stdout] | ^^^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.14s [INFO] running `Command { std: "docker" "inspect" "08c326dd42c1e56eaa01bf260836f785cefbf6a400fbfd3a2fbd517c399f68d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "08c326dd42c1e56eaa01bf260836f785cefbf6a400fbfd3a2fbd517c399f68d7", kill_on_drop: false }` [INFO] [stdout] 08c326dd42c1e56eaa01bf260836f785cefbf6a400fbfd3a2fbd517c399f68d7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] f998c1ceff6633bfbfdedb3d8e094e031966c8517b1b4c6a77f7c339ac7d04e2 [INFO] running `Command { std: "docker" "start" "-a" "f998c1ceff6633bfbfdedb3d8e094e031966c8517b1b4c6a77f7c339ac7d04e2", kill_on_drop: false }` [INFO] [stderr] Compiling asalang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> src/interpreter.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/interpreter.rs:193:18 [INFO] [stdout] | [INFO] [stdout] 193 | _ => ("Operator error".to_string()) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 193 - _ => ("Operator error".to_string()) [INFO] [stdout] 193 + _ => "Operator error".to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:225:11 [INFO] [stdout] | [INFO] [stdout] 225 | if((lhs_bool && rhs_number) || (rhs_bool && lhs_number)){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 225 - if((lhs_bool && rhs_number) || (rhs_bool && lhs_number)){ [INFO] [stdout] 225 + if (lhs_bool && rhs_number) || (rhs_bool && lhs_number) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:230:12 [INFO] [stdout] | [INFO] [stdout] 230 | if (string_op_val == "<"){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 230 - if (string_op_val == "<"){ [INFO] [stdout] 230 + if string_op_val == "<" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:232:19 [INFO] [stdout] | [INFO] [stdout] 232 | } else if (string_op_val == ">"){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 232 - } else if (string_op_val == ">"){ [INFO] [stdout] 232 + } else if string_op_val == ">" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:234:19 [INFO] [stdout] | [INFO] [stdout] 234 | } else if (string_op_val == "=="){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 234 - } else if (string_op_val == "=="){ [INFO] [stdout] 234 + } else if string_op_val == "==" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:236:19 [INFO] [stdout] | [INFO] [stdout] 236 | } else if (string_op_val == "!="){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 236 - } else if (string_op_val == "!="){ [INFO] [stdout] 236 + } else if string_op_val == "!=" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:238:19 [INFO] [stdout] | [INFO] [stdout] 238 | } else if (string_op_val == ">="){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 238 - } else if (string_op_val == ">="){ [INFO] [stdout] 238 + } else if string_op_val == ">=" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:240:19 [INFO] [stdout] | [INFO] [stdout] 240 | } else if (string_op_val == "<="){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 240 - } else if (string_op_val == "<="){ [INFO] [stdout] 240 + } else if string_op_val == "<=" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:297:11 [INFO] [stdout] | [INFO] [stdout] 297 | if(condition){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 297 - if(condition){ [INFO] [stdout] 297 + if condition { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:328:11 [INFO] [stdout] | [INFO] [stdout] 328 | if(condition){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 328 - if(condition){ [INFO] [stdout] 328 + if condition { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `combinator::opt` [INFO] [stdout] --> src/parser.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | combinator::opt, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/interpreter.rs:69:29 [INFO] [stdout] | [INFO] [stdout] 69 | for i in 0..rhs { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `check_lhs` [INFO] [stdout] --> src/interpreter.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | let check_lhs = match lhs_val.clone().unwrap(){ [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_check_lhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs_val` [INFO] [stdout] --> src/interpreter.rs:203:25 [INFO] [stdout] | [INFO] [stdout] 203 | Value::Bool(lhs_val) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> src/interpreter.rs:206:27 [INFO] [stdout] | [INFO] [stdout] 206 | Value::Number(lhs) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_lhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `check_rhs` [INFO] [stdout] --> src/interpreter.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | let check_rhs = match rhs_val.clone().unwrap(){ [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_check_rhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs_val` [INFO] [stdout] --> src/interpreter.rs:214:25 [INFO] [stdout] | [INFO] [stdout] 214 | Value::Bool(rhs_val) =>{ [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rhs_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs_val` [INFO] [stdout] --> src/interpreter.rs:217:27 [INFO] [stdout] | [INFO] [stdout] 217 | Value::Number(rhs_val) =>{ [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rhs_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/interpreter.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 299 | let result = match c { // matches the children to Statement node [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/interpreter.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 330 | let result = match c { // matches each element to Statement node [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/interpreter.rs:345:17 [INFO] [stdout] | [INFO] [stdout] 345 | let result = match c { // matches each element to Statement node [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | let (input, mut args) = many0(arguments)(input)?; // applies parser 0 or more times to recognise arguments function and returns in args [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 `Result` that must be used [INFO] [stdout] --> src/interpreter.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | self.run(n); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 31 | let _ = self.run(n); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/interpreter.rs:262:13 [INFO] [stdout] | [INFO] [stdout] 262 | / match c { [INFO] [stdout] 263 | | Node::IfStatement { .. } => { [INFO] [stdout] 264 | | self.run(&children[0]) [INFO] [stdout] 265 | | }, [INFO] [stdout] ... | [INFO] [stdout] 272 | | _ => Err("Unknown Statement".to_string()), // if none match, returns error message [INFO] [stdout] 273 | | }; [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 262 | let _ = match c { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/interpreter.rs:434:3 [INFO] [stdout] | [INFO] [stdout] 434 | runtime.run(node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 434 | let _ = runtime.run(node); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Node` and `Runtime` [INFO] [stdout] --> src/main.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | use asalang::{program, Runtime, Node, start_interpreter}; [INFO] [stdout] | ^^^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Node` and `Runtime` [INFO] [stdout] --> src/main.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | use asalang::{program, Runtime, Node, start_interpreter}; [INFO] [stdout] | ^^^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> src/interpreter.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/interpreter.rs:193:18 [INFO] [stdout] | [INFO] [stdout] 193 | _ => ("Operator error".to_string()) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 193 - _ => ("Operator error".to_string()) [INFO] [stdout] 193 + _ => "Operator error".to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:225:11 [INFO] [stdout] | [INFO] [stdout] 225 | if((lhs_bool && rhs_number) || (rhs_bool && lhs_number)){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 225 - if((lhs_bool && rhs_number) || (rhs_bool && lhs_number)){ [INFO] [stdout] 225 + if (lhs_bool && rhs_number) || (rhs_bool && lhs_number) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:230:12 [INFO] [stdout] | [INFO] [stdout] 230 | if (string_op_val == "<"){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 230 - if (string_op_val == "<"){ [INFO] [stdout] 230 + if string_op_val == "<" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:232:19 [INFO] [stdout] | [INFO] [stdout] 232 | } else if (string_op_val == ">"){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 232 - } else if (string_op_val == ">"){ [INFO] [stdout] 232 + } else if string_op_val == ">" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:234:19 [INFO] [stdout] | [INFO] [stdout] 234 | } else if (string_op_val == "=="){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 234 - } else if (string_op_val == "=="){ [INFO] [stdout] 234 + } else if string_op_val == "==" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:236:19 [INFO] [stdout] | [INFO] [stdout] 236 | } else if (string_op_val == "!="){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 236 - } else if (string_op_val == "!="){ [INFO] [stdout] 236 + } else if string_op_val == "!=" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:238:19 [INFO] [stdout] | [INFO] [stdout] 238 | } else if (string_op_val == ">="){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 238 - } else if (string_op_val == ">="){ [INFO] [stdout] 238 + } else if string_op_val == ">=" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:240:19 [INFO] [stdout] | [INFO] [stdout] 240 | } else if (string_op_val == "<="){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 240 - } else if (string_op_val == "<="){ [INFO] [stdout] 240 + } else if string_op_val == "<=" { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:297:11 [INFO] [stdout] | [INFO] [stdout] 297 | if(condition){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 297 - if(condition){ [INFO] [stdout] 297 + if condition { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/interpreter.rs:328:11 [INFO] [stdout] | [INFO] [stdout] 328 | if(condition){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 328 - if(condition){ [INFO] [stdout] 328 + if condition { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `combinator::opt` [INFO] [stdout] --> src/parser.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | combinator::opt, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Node` [INFO] [stdout] --> tests/test.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | use asalang::{program, Node, Value, Runtime}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::IResult` [INFO] [stdout] --> tests/test.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use nom::IResult; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 27 | test!(numeric, r#"123"#, Ok(Value::Number(123))); [INFO] [stdout] | ------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 27 | test!(numeric, r#"123"#, Ok(Value::Number(123))); [INFO] [stdout] | ------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 28 | test!(identifier, r#"x"#, Err("Undefined variable".to_string())); [INFO] [stdout] | ---------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 28 | test!(identifier, r#"x"#, Err("Undefined variable".to_string())); [INFO] [stdout] | ---------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 29 | test!(string, r#""hello world""#, Ok(Value::String("hello world".to_string()))); [INFO] [stdout] | ------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 29 | test!(string, r#""hello world""#, Ok(Value::String("hello world".to_string()))); [INFO] [stdout] | ------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 30 | test!(bool_true, r#"true"#, Ok(Value::Bool(true))); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 30 | test!(bool_true, r#"true"#, Ok(Value::Bool(true))); [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 31 | test!(bool_false, r#"false"#, Ok(Value::Bool(false))); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 31 | test!(bool_false, r#"false"#, Ok(Value::Bool(false))); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 32 | test!(function_call, r#"foo()"#, Err("Undefined function".to_string())); [INFO] [stdout] | ----------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 32 | test!(function_call, r#"foo()"#, Err("Undefined function".to_string())); [INFO] [stdout] | ----------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 33 | test!(function_call_one_arg, r#"foo(a)"#, Err("Undefined function".to_string())); [INFO] [stdout] | -------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 33 | test!(function_call_one_arg, r#"foo(a)"#, Err("Undefined function".to_string())); [INFO] [stdout] | -------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/interpreter.rs:69:29 [INFO] [stdout] | [INFO] [stdout] 69 | for i in 0..rhs { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `check_lhs` [INFO] [stdout] --> src/interpreter.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | let check_lhs = match lhs_val.clone().unwrap(){ [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_check_lhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs_val` [INFO] [stdout] --> src/interpreter.rs:203:25 [INFO] [stdout] | [INFO] [stdout] 203 | Value::Bool(lhs_val) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs` [INFO] [stdout] --> src/interpreter.rs:206:27 [INFO] [stdout] | [INFO] [stdout] 206 | Value::Number(lhs) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_lhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `check_rhs` [INFO] [stdout] --> src/interpreter.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | let check_rhs = match rhs_val.clone().unwrap(){ [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_check_rhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs_val` [INFO] [stdout] --> src/interpreter.rs:214:25 [INFO] [stdout] | [INFO] [stdout] 214 | Value::Bool(rhs_val) =>{ [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rhs_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs_val` [INFO] [stdout] --> src/interpreter.rs:217:27 [INFO] [stdout] | [INFO] [stdout] 217 | Value::Number(rhs_val) =>{ [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rhs_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/interpreter.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 299 | let result = match c { // matches the children to Statement node [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/interpreter.rs:330:21 [INFO] [stdout] | [INFO] [stdout] 330 | let result = match c { // matches each element to Statement node [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/interpreter.rs:345:17 [INFO] [stdout] | [INFO] [stdout] 345 | let result = match c { // matches each element to Statement node [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 34 | test!(function_call_more_args, r#"foo(a,b,c)"#, Err("Undefined function".to_string())); [INFO] [stdout] | -------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 34 | test!(function_call_more_args, r#"foo(a,b,c)"#, Err("Undefined function".to_string())); [INFO] [stdout] | -------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 35 | test!(variable_define, r#"let x = 123;"#, Ok(Value::Number(123))); [INFO] [stdout] | ----------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 35 | test!(variable_define, r#"let x = 123;"#, Ok(Value::Number(123))); [INFO] [stdout] | ----------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 36 | test!(variable_init, r#"let x = 1;"#, Ok(Value::Number(1))); [INFO] [stdout] | ----------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 36 | test!(variable_init, r#"let x = 1;"#, Ok(Value::Number(1))); [INFO] [stdout] | ----------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 37 | test!(variable_bool, r#"let bool = true;"#, Ok(Value::Bool(true))); [INFO] [stdout] | ------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 37 | test!(variable_bool, r#"let bool = true;"#, Ok(Value::Bool(true))); [INFO] [stdout] | ------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 38 | test!(variable_string, r#"let string = "Hello World";"#, Ok(Value::String("Hello World".to_string()))); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 38 | test!(variable_string, r#"let string = "Hello World";"#, Ok(Value::String("Hello World".to_string()))); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 39 | test!(variable_init_no_space, r#"let x=1;"#, Ok(Value::Number(1))); [INFO] [stdout] | ------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 39 | test!(variable_init_no_space, r#"let x=1;"#, Ok(Value::Number(1))); [INFO] [stdout] | ------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 40 | test!(math, r#"1 + 1"#, Ok(Value::Number(2))); [INFO] [stdout] | --------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 40 | test!(math, r#"1 + 1"#, Ok(Value::Number(2))); [INFO] [stdout] | --------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 41 | test!(math_no_space, r#"1+1"#, Ok(Value::Number(2))); [INFO] [stdout] | ---------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 41 | test!(math_no_space, r#"1+1"#, Ok(Value::Number(2))); [INFO] [stdout] | ---------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 42 | test!(math_subtraction, r#"1 - 1"#, Ok(Value::Number(0))); [INFO] [stdout] | --------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 42 | test!(math_subtraction, r#"1 - 1"#, Ok(Value::Number(0))); [INFO] [stdout] | --------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 43 | test!(math_multiply, r#"2 * 4"#, Ok(Value::Number(8))); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 43 | test!(math_multiply, r#"2 * 4"#, Ok(Value::Number(8))); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 44 | test!(math_divide, r#"6 / 2"#, Ok(Value::Number(3))); [INFO] [stdout] | ---------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 44 | test!(math_divide, r#"6 / 2"#, Ok(Value::Number(3))); [INFO] [stdout] | ---------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 45 | test!(math_exponent, r#"2 ^ 4"#, Ok(Value::Number(16))); [INFO] [stdout] | ------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | let (input, mut args) = many0(arguments)(input)?; // applies parser 0 or more times to recognise arguments function and returns in args [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 45 | test!(math_exponent, r#"2 ^ 4"#, Ok(Value::Number(16))); [INFO] [stdout] | ------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 46 | test!(math_more_terms, r#"10 + 2*6"#, Ok(Value::Number(22))); [INFO] [stdout] | ------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 46 | test!(math_more_terms, r#"10 + 2*6"#, Ok(Value::Number(22))); [INFO] [stdout] | ------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 47 | test!(math_more_terms_paren, r#"((10+2)*6)/4"#, Ok(Value::Number(18))); [INFO] [stdout] | ---------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 47 | test!(math_more_terms_paren, r#"((10+2)*6)/4"#, Ok(Value::Number(18))); [INFO] [stdout] | ---------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 48 | test!(assign_math, r#"let x = 1 + 1;"#, Ok(Value::Number(2))); [INFO] [stdout] | ------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 48 | test!(assign_math, r#"let x = 1 + 1;"#, Ok(Value::Number(2))); [INFO] [stdout] | ------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 49 | test!(assign_function, r#"let x = foo();"#, Err("Undefined function".to_string())); [INFO] [stdout] | ---------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 49 | test!(assign_function, r#"let x = foo();"#, Err("Undefined function".to_string())); [INFO] [stdout] | ---------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 50 | test!(assign_function_arguments, r#"let x = foo(a,b,c);"#, Err("Undefined function".to_string())); [INFO] [stdout] | ------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 50 | test!(assign_function_arguments, r#"let x = foo(a,b,c);"#, Err("Undefined function".to_string())); [INFO] [stdout] | ------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 51 | test!(define_function, r#"fn main(){return foo();} fn foo(){return 5;}"#, Ok(Value::Number(5))); [INFO] [stdout] | ----------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 51 | test!(define_function, r#"fn main(){return foo();} fn foo(){return 5;}"#, Ok(Value::Number(5))); [INFO] [stdout] | ----------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 52 | test!(define_function_args, r#"fn main(){return foo(1,2,3);} fn foo(a,b,c){return a+b+c;}"#, Ok(Value::Number(6))); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 52 | test!(define_function_args, r#"fn main(){return foo(1,2,3);} fn foo(a,b,c){return a+b+c;}"#, Ok(Value::Number(6))); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 53 | / test!(define_function_more_statement, r#"fn main() { [INFO] [stdout] 54 | | return foo(); [INFO] [stdout] 55 | | } [INFO] [stdout] 56 | | fn foo(){ [INFO] [stdout] 57 | | let x = 5; [INFO] [stdout] 58 | | return x; [INFO] [stdout] 59 | | }"#, Ok(Value::Number(5))); [INFO] [stdout] | |__________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 53 | / test!(define_function_more_statement, r#"fn main() { [INFO] [stdout] 54 | | return foo(); [INFO] [stdout] 55 | | } [INFO] [stdout] 56 | | fn foo(){ [INFO] [stdout] 57 | | let x = 5; [INFO] [stdout] 58 | | return x; [INFO] [stdout] 59 | | }"#, Ok(Value::Number(5))); [INFO] [stdout] | |__________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 60 | / test!(define_full_program, r#"fn foo(a,b,c) { [INFO] [stdout] 61 | | let x = a + 1; [INFO] [stdout] 62 | | let y = bar(c - b); [INFO] [stdout] 63 | | return x * y; [INFO] [stdout] ... | [INFO] [stdout] 71 | | return foo(1,2,3); [INFO] [stdout] 72 | | }"#, Ok(Value::Number(6))); [INFO] [stdout] | |__________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 60 | / test!(define_full_program, r#"fn foo(a,b,c) { [INFO] [stdout] 61 | | let x = a + 1; [INFO] [stdout] 62 | | let y = bar(c - b); [INFO] [stdout] 63 | | return x * y; [INFO] [stdout] ... | [INFO] [stdout] 71 | | return foo(1,2,3); [INFO] [stdout] 72 | | }"#, Ok(Value::Number(6))); [INFO] [stdout] | |__________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 74 | test!(string_new, r#""hi""#, Ok(Value::String("hi".to_string()))); // tests single word strings [INFO] [stdout] | ----------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 74 | test!(string_new, r#""hi""#, Ok(Value::String("hi".to_string()))); // tests single word strings [INFO] [stdout] | ----------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 75 | test!(math_new, r#"7 + 7"#, Ok(Value::Number(14))); // tests addition [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 75 | test!(math_new, r#"7 + 7"#, Ok(Value::Number(14))); // tests addition [INFO] [stdout] | -------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 76 | test!(variable_def_new, r#"let z = 99;"#, Ok(Value::Number(99))); // tests variable define [INFO] [stdout] | ---------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 76 | test!(variable_def_new, r#"let z = 99;"#, Ok(Value::Number(99))); // tests variable define [INFO] [stdout] | ---------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 77 | test!(math_exponent_new, r#"3 ^ 2"#, Ok(Value::Number(9))); // tests exponents [INFO] [stdout] | ---------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 77 | test!(math_exponent_new, r#"3 ^ 2"#, Ok(Value::Number(9))); // tests exponents [INFO] [stdout] | ---------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 78 | test!(conditional_ex1, r#"5 < 7"#, Ok(Value::Bool(true))); [INFO] [stdout] | --------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 78 | test!(conditional_ex1, r#"5 < 7"#, Ok(Value::Bool(true))); [INFO] [stdout] | --------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 79 | test!(conditional_ex2, r#"11 + 6 * 2 < 5 * 2 - 3"#, Ok(Value::Bool(false))); [INFO] [stdout] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 79 | test!(conditional_ex2, r#"11 + 6 * 2 < 5 * 2 - 3"#, Ok(Value::Bool(false))); [INFO] [stdout] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 80 | test!(conditional_ex3, r#"7 > true"#, Err("Cannot compare these two values".to_string())); [INFO] [stdout] | ----------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 80 | test!(conditional_ex3, r#"7 > true"#, Err("Cannot compare these two values".to_string())); [INFO] [stdout] | ----------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 81 | / test!(if_else_ex1, r#"if 1 < 2 { [INFO] [stdout] 82 | | let x = 9; [INFO] [stdout] 83 | | return true; [INFO] [stdout] 84 | | } else if 3 == 2 { [INFO] [stdout] ... | [INFO] [stdout] 89 | | "#, Ok(Value::Bool(true))); [INFO] [stdout] | |____________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 81 | / test!(if_else_ex1, r#"if 1 < 2 { [INFO] [stdout] 82 | | let x = 9; [INFO] [stdout] 83 | | return true; [INFO] [stdout] 84 | | } else if 3 == 2 { [INFO] [stdout] ... | [INFO] [stdout] 89 | | "#, Ok(Value::Bool(true))); [INFO] [stdout] | |____________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 90 | / test!(if_else_ex2, r#"if 1+7 > 9 { [INFO] [stdout] 91 | | return true; [INFO] [stdout] 92 | | } else if 9 != 2 { [INFO] [stdout] 93 | | return true; [INFO] [stdout] ... | [INFO] [stdout] 97 | | "#, Ok(Value::Bool(true))); [INFO] [stdout] | |______________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 90 | / test!(if_else_ex2, r#"if 1+7 > 9 { [INFO] [stdout] 91 | | return true; [INFO] [stdout] 92 | | } else if 9 != 2 { [INFO] [stdout] 93 | | return true; [INFO] [stdout] ... | [INFO] [stdout] 97 | | "#, Ok(Value::Bool(true))); [INFO] [stdout] | |______________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runtime` [INFO] [stdout] --> tests/test.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_runtime` [INFO] [stdout] ... [INFO] [stdout] 98 | / test!(if_else_ex3, r#"if 4 > 3 {return true;} else if 7 == 9 {return false;} else {return true;} [INFO] [stdout] 99 | | "#, Ok(Value::Bool(true))); [INFO] [stdout] | |________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/test.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | let mut runtime = Runtime::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] ... [INFO] [stdout] 98 | / test!(if_else_ex3, r#"if 4 > 3 {return true;} else if 7 == 9 {return false;} else {return true;} [INFO] [stdout] 99 | | "#, Ok(Value::Bool(true))); [INFO] [stdout] | |________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/interpreter.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | self.run(n); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 31 | let _ = self.run(n); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/interpreter.rs:262:13 [INFO] [stdout] | [INFO] [stdout] 262 | / match c { [INFO] [stdout] 263 | | Node::IfStatement { .. } => { [INFO] [stdout] 264 | | self.run(&children[0]) [INFO] [stdout] 265 | | }, [INFO] [stdout] ... | [INFO] [stdout] 272 | | _ => Err("Unknown Statement".to_string()), // if none match, returns error message [INFO] [stdout] 273 | | }; [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 262 | let _ = match c { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/interpreter.rs:434:3 [INFO] [stdout] | [INFO] [stdout] 434 | runtime.run(node); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 434 | let _ = runtime.run(node); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.93s [INFO] running `Command { std: "docker" "inspect" "f998c1ceff6633bfbfdedb3d8e094e031966c8517b1b4c6a77f7c339ac7d04e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f998c1ceff6633bfbfdedb3d8e094e031966c8517b1b4c6a77f7c339ac7d04e2", kill_on_drop: false }` [INFO] [stdout] f998c1ceff6633bfbfdedb3d8e094e031966c8517b1b4c6a77f7c339ac7d04e2