[INFO] cloning repository https://github.com/nickcarnevale/Asa-Interpreter [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nickcarnevale/Asa-Interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnickcarnevale%2FAsa-Interpreter", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnickcarnevale%2FAsa-Interpreter'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 81a53709c84ca961d226770ef2120efe302f1559 [INFO] checking nickcarnevale/Asa-Interpreter against master#2fcf1776b9ccef89993dfe40e9f5c4908e2d2d48 for pr-142723 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnickcarnevale%2FAsa-Interpreter" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/nickcarnevale/Asa-Interpreter on toolchain 2fcf1776b9ccef89993dfe40e9f5c4908e2d2d48 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fcf1776b9ccef89993dfe40e9f5c4908e2d2d48" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/nickcarnevale/Asa-Interpreter [INFO] finished tweaking git repo https://github.com/nickcarnevale/Asa-Interpreter [INFO] tweaked toml for git repo https://github.com/nickcarnevale/Asa-Interpreter written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/nickcarnevale/Asa-Interpreter 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" "+2fcf1776b9ccef89993dfe40e9f5c4908e2d2d48" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2fcf1776b9ccef89993dfe40e9f5c4908e2d2d48" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d2da2ca226be479047760ddaac2eae2900e491ae9115d738952edd855ab5f229 [INFO] running `Command { std: "docker" "start" "-a" "d2da2ca226be479047760ddaac2eae2900e491ae9115d738952edd855ab5f229", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d2da2ca226be479047760ddaac2eae2900e491ae9115d738952edd855ab5f229", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2da2ca226be479047760ddaac2eae2900e491ae9115d738952edd855ab5f229", kill_on_drop: false }` [INFO] [stdout] d2da2ca226be479047760ddaac2eae2900e491ae9115d738952edd855ab5f229 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2fcf1776b9ccef89993dfe40e9f5c4908e2d2d48" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f0c04ace10c450cf0fe98d3d799c97df215dcefd2eb3731235ea277ebfe08f16 [INFO] running `Command { std: "docker" "start" "-a" "f0c04ace10c450cf0fe98d3d799c97df215dcefd2eb3731235ea277ebfe08f16", kill_on_drop: false }` [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking memchr v2.7.2 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking asalang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `nom::sequence::tuple` [INFO] [stdout] --> src/parser.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use nom::sequence::tuple; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::map` [INFO] [stdout] --> src/parser.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use nom::combinator::map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alphanumeric1`, `digit1`, and `tag` [INFO] [stdout] --> src/parser.rs:16:21 [INFO] [stdout] | [INFO] [stdout] 16 | bytes::complete::{tag}, [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | character::complete::{alphanumeric1, digit1}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::sequence::tuple` [INFO] [stdout] --> src/parser.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use nom::sequence::tuple; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::combinator::map` [INFO] [stdout] --> src/parser.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use nom::combinator::map; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alphanumeric1`, `digit1`, and `tag` [INFO] [stdout] --> src/parser.rs:16:21 [INFO] [stdout] | [INFO] [stdout] 16 | bytes::complete::{tag}, [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | character::complete::{alphanumeric1, digit1}, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rt` [INFO] [stdout] --> src/interpreter.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 218 | let rt = self as *mut Interpreter; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rt` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_value` [INFO] [stdout] --> src/interpreter.rs:248:17 [INFO] [stdout] | [INFO] [stdout] 248 | let mut last_value = Value::Bool(false); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `returned` [INFO] [stdout] --> src/interpreter.rs:249:17 [INFO] [stdout] | [INFO] [stdout] 249 | let mut returned = false; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_returned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:325:7 [INFO] [stdout] | [INFO] [stdout] 325 | x => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rt` [INFO] [stdout] --> src/interpreter.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 218 | let rt = self as *mut Interpreter; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rt` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter.rs:169:13 [INFO] [stdout] | [INFO] [stdout] 169 | let mut new_frame = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_value` [INFO] [stdout] --> src/interpreter.rs:248:17 [INFO] [stdout] | [INFO] [stdout] 248 | let mut last_value = Value::Bool(false); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `returned` [INFO] [stdout] --> src/interpreter.rs:249:17 [INFO] [stdout] | [INFO] [stdout] 249 | let mut returned = false; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_returned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/interpreter.rs:325:7 [INFO] [stdout] | [INFO] [stdout] 325 | x => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter.rs:248:13 [INFO] [stdout] | [INFO] [stdout] 248 | let mut last_value = Value::Bool(false); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter.rs:249:13 [INFO] [stdout] | [INFO] [stdout] 249 | let mut returned = false; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter.rs:169:13 [INFO] [stdout] | [INFO] [stdout] 169 | let mut new_frame = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter.rs:248:13 [INFO] [stdout] | [INFO] [stdout] 248 | let mut last_value = Value::Bool(false); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter.rs:249:13 [INFO] [stdout] | [INFO] [stdout] 249 | let mut returned = false; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `else_if` [INFO] [stdout] --> src/parser.rs:521:7 [INFO] [stdout] | [INFO] [stdout] 521 | let else_if = if else_if.is_empty(){ [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_else_if` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:517:15 [INFO] [stdout] | [INFO] [stdout] 517 | let (input, mut else_if) = many0(else_if)(input)?; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/lexer.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | x => TokenKind::Other, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `else_if` [INFO] [stdout] --> src/parser.rs:521:7 [INFO] [stdout] | [INFO] [stdout] 521 | let else_if = if else_if.is_empty(){ [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_else_if` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser.rs:517:15 [INFO] [stdout] | [INFO] [stdout] 517 | let (input, mut else_if) = many0(else_if)(input)?; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/lexer.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | x => TokenKind::Other, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::IResult` [INFO] [stdout] --> tests/interpreter.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use nom::IResult; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokens` [INFO] [stdout] --> src/main.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | Ok((tokens, tree)) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/main.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | let result = interpreter.exec(&tree); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 70 | test_program!(interpreter_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: `#[warn(unused_variables)]` on by default [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 71 | test_program!(interpreter_define_function_args, r#"fn main(){return foo(1,2);} fn foo(a,b){return a+b;}"#, Ok(Value::Number(3))); [INFO] [stdout] | -------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 72 | / test_program!(interpreter_define_function_more_statement, r#"fn main() { [INFO] [stdout] 73 | | return foo(); [INFO] [stdout] 74 | | } [INFO] [stdout] 75 | | fn foo(){ [INFO] [stdout] 76 | | let x = 5; [INFO] [stdout] 77 | | return x; [INFO] [stdout] 78 | | }"#, Ok(Value::Number(5))); [INFO] [stdout] | |__________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 79 | / test_program!(interpreter_define_full_program, r#"fn foo(a,b,c) { [INFO] [stdout] 80 | | let x = a + 1; [INFO] [stdout] 81 | | let y = bar(c + b); [INFO] [stdout] 82 | | return x + y; [INFO] [stdout] ... | [INFO] [stdout] 90 | | return foo(1,2,3); [INFO] [stdout] 91 | | }"#, Ok(Value::Number(10))); [INFO] [stdout] | |___________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 95 | test_program!(hw5_test_1, r#"fn main() { return 10 + 5; }"#, Ok(Value::Number(15))); [INFO] [stdout] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 96 | test_program!(hw5_test_2, r#"fn main() { return 20 - 7; }"#, Ok(Value::Number(13))); [INFO] [stdout] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 97 | test_program!(hw5_test_3, r#"fn main() { let x = 30; let y = 15; return x - y; }"#, Ok(Value::Number(15))); [INFO] [stdout] | ---------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tokens` [INFO] [stdout] --> src/main.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | Ok((tokens, tree)) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/main.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | let result = interpreter.exec(&tree); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 98 | test_program!(hw5_test_4, r#"fn main() { let x = 100; let y = 50; let z = x + y; return z; }"#, Ok(Value::Number(150))); [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 99 | test_program!(hw5_test_5, r#"fn main() { let x = 50; let y = 20; let z = 10; return 65; }"#, Ok(Value::Number(65))); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 100 | test_program!(hw5_test_6, r#"fn main() { let x = 50; return x; }"#, Ok(Value::Number(50))); [INFO] [stdout] | ------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 107 | test_program!(final_test_1, r#"fn main() { return 1>2; }"#, Ok(Value::Bool(false))); [INFO] [stdout] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 108 | test_program!(final_test_2, r#"fn main() { return a(); } fn a(){let x = true && false; return x;}"#, Ok(Value::Bool(false))); [INFO] [stdout] | ---------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 109 | test_program!(final_test_3, r#"fn main() { let x = 2; let y = 3; let z = x <= y; let ab = a(); let zz = z || ab; return zz; } fn a(){let c = true && false; return c;}"#, Ok(Value::Bool(true))); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 112 | test_program!(final_test_4, r#"fn main() { return true>2; }"#, Err(AsaErrorKind::TypeMismatch)); [INFO] [stdout] | ----------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 113 | test_program!(final_test_5, r#"fn main() { return 1||2; }"#, Err(AsaErrorKind::TypeMismatch)); [INFO] [stdout] | --------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 116 | test_program!(final_test_6, r#"fn main() { if (1<2) {return 3;} else{return 5;}; }"#, Ok(Value::Number(3))); [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 117 | test_program!(final_test_7, r#"fn main() { if (1<2) {let x = 1; return x;} else{return 5;}; }"#, Ok(Value::Number(1))); [INFO] [stdout] | ---------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 120 | test_program!(final_test_8, r#"fn main() { if (1>2) {return 3;} else{return 5;}; }"#, Ok(Value::Number(5))); [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 123 | test_program!(final_test_9, r#"fn main() { if (1>2) {return 3;} else if (1 < 2) {return 6;} else{return 5;}; }"#, Ok(Value::Number(6))); [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compile_result` [INFO] [stdout] --> tests/interpreter.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | let compile_result = interpreter.exec(&tree)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compile_result` [INFO] [stdout] ... [INFO] [stdout] 126 | test_program!(final_test_10, r#"fn main() { if (1>2) {return 3;} else if (1 == 2){return 2;} else if (1 < 2) {return 6;} else{return 5;}; }"#, Ok(Value::Number(6))); [INFO] [stdout] | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `test_program` (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] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | test_fragment!(interpreter_numeric, r#"123"#, Ok(Value::Number(123))); [INFO] [stdout] | --------------------------------------------------------------------- in this macro invocation [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] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | test_fragment!(interpreter_string, r#""hello world""#, Ok(Value::String("helloworld".to_string()))); [INFO] [stdout] | --------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | test_fragment!(interpreter_bool_true, r#"true"#, Ok(Value::Bool(true))); [INFO] [stdout] | ----------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | test_fragment!(interpreter_bool_false, r#"false"#, Ok(Value::Bool(false))); [INFO] [stdout] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | test_fragment!(interpreter_identifier, r#"x"#, Err(AsaErrorKind::UndefinedFunction)); [INFO] [stdout] | ------------------------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | test_fragment!(interpreter_function_call, r#"foo()"#, Err(AsaErrorKind::UndefinedFunction)); [INFO] [stdout] | ------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | test_fragment!(interpreter_function_call_one_arg, r#"foo(a)"#, Err(AsaErrorKind::UndefinedFunction)); [INFO] [stdout] | ---------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | test_fragment!(interpreter_function_call_more_args, r#"foo(a,b,c)"#, Err(AsaErrorKind::UndefinedFunction)); [INFO] [stdout] | ---------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | test_fragment!(interpreter_variable_define, r#"let x = 123;"#, Ok(Value::Number(123))); [INFO] [stdout] | -------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | test_fragment!(interpreter_variable_init, r#"let x = 1;"#, Ok(Value::Number(1))); [INFO] [stdout] | -------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | test_fragment!(interpreter_variable_bool, r#"let bool = true;"#, Ok(Value::Bool(true))); [INFO] [stdout] | --------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | test_fragment!(interpreter_variable_string, r#"let string = "Hello World";"#, Ok(Value::String("HelloWorld".to_string()))); [INFO] [stdout] | -------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | test_fragment!(interpreter_variable_init_no_space, r#"let x=1;"#, Ok(Value::Number(1))); [INFO] [stdout] | --------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | test_fragment!(interpreter_math, r#"1 + 1"#, Ok(Value::Number(2))); [INFO] [stdout] | ------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | test_fragment!(interpreter_math_no_space, r#"1-1"#, Ok(Value::Number(0))); [INFO] [stdout] | ------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | test_fragment!(interpreter_math_multiply, r#"2 + 4"#, Ok(Value::Number(6))); [INFO] [stdout] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | test_fragment!(interpreter_assign_math, r#"let x = 1 + 1;"#, Ok(Value::Number(2))); [INFO] [stdout] | ---------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | test_fragment!(interpreter_assign_function, r#"let x = foo();"#, Err(AsaErrorKind::UndefinedFunction)); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | std::io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | test_fragment!(interpreter_assign_function_arguments, r#"let x = foo(a,b,c);"#, Err(AsaErrorKind::UndefinedFunction)); [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = std::io::stdout().flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.62s [INFO] running `Command { std: "docker" "inspect" "f0c04ace10c450cf0fe98d3d799c97df215dcefd2eb3731235ea277ebfe08f16", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f0c04ace10c450cf0fe98d3d799c97df215dcefd2eb3731235ea277ebfe08f16", kill_on_drop: false }` [INFO] [stdout] f0c04ace10c450cf0fe98d3d799c97df215dcefd2eb3731235ea277ebfe08f16