[INFO] cloning repository https://github.com/lwiese25/ProgrammingLanguage [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lwiese25/ProgrammingLanguage" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flwiese25%2FProgrammingLanguage", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flwiese25%2FProgrammingLanguage'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fcbaa0e5e05fee879dbee65f4a6a884463b0e272 [INFO] checking lwiese25/ProgrammingLanguage against try#7df376b035b3d12ff0386ad8b45b76dbe020257b for pr-142712 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flwiese25%2FProgrammingLanguage" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/lwiese25/ProgrammingLanguage [INFO] finished tweaking git repo https://github.com/lwiese25/ProgrammingLanguage [INFO] tweaked toml for git repo https://github.com/lwiese25/ProgrammingLanguage written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/lwiese25/ProgrammingLanguage on toolchain 7df376b035b3d12ff0386ad8b45b76dbe020257b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7df376b035b3d12ff0386ad8b45b76dbe020257b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/lwiese25/ProgrammingLanguage 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" "+7df376b035b3d12ff0386ad8b45b76dbe020257b" "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-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+7df376b035b3d12ff0386ad8b45b76dbe020257b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9cfe3cd5ffda01998c3bcdeda974028c5862b77e06a34b36dc0de0f04ba72dc8 [INFO] running `Command { std: "docker" "start" "-a" "9cfe3cd5ffda01998c3bcdeda974028c5862b77e06a34b36dc0de0f04ba72dc8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9cfe3cd5ffda01998c3bcdeda974028c5862b77e06a34b36dc0de0f04ba72dc8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9cfe3cd5ffda01998c3bcdeda974028c5862b77e06a34b36dc0de0f04ba72dc8", kill_on_drop: false }` [INFO] [stdout] 9cfe3cd5ffda01998c3bcdeda974028c5862b77e06a34b36dc0de0f04ba72dc8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+7df376b035b3d12ff0386ad8b45b76dbe020257b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 638b0df908b25606b210655e0ddb3cdb1060fb4c9b27a1febf25a6f4b842cb10 [INFO] running `Command { std: "docker" "start" "-a" "638b0df908b25606b210655e0ddb3cdb1060fb4c9b27a1febf25a6f4b842cb10", 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: `identifier` [INFO] [stdout] --> src/interpreter.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::{identifier, parser::Node}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [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] [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`, `combinator::opt`, `digit1`, and `tag` [INFO] [stdout] --> src/parser.rs:14:3 [INFO] [stdout] | [INFO] [stdout] 14 | combinator::opt, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | multi::{many1, many0}, [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: `identifier` [INFO] [stdout] --> src/interpreter.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::{identifier, parser::Node}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [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] [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`, `combinator::opt`, `digit1`, and `tag` [INFO] [stdout] --> src/parser.rs:14:3 [INFO] [stdout] | [INFO] [stdout] 14 | combinator::opt, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | multi::{many1, many0}, [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: `x` [INFO] [stdout] --> src/lexer.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | x => TokenKind::Other, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/lexer.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | x => TokenKind::Other, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [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 `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | test_fragment!(interpreter_numeric, r#"123"#, Ok(Value::Number(123))); [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] 29 | let _ = test_fragment!(interpreter_numeric, r#"123"#, Ok(Value::Number(123))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | test_fragment!(interpreter_string, r#""hello""#, Ok(Value::String("hello".to_string()))); [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] 30 | let _ = test_fragment!(interpreter_string, r#""hello""#, Ok(Value::String("hello".to_string()))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | test_fragment!(interpreter_bool_true, r#"true"#, Ok(Value::Bool(true))); [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] 31 | let _ = test_fragment!(interpreter_bool_true, r#"true"#, Ok(Value::Bool(true))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | test_fragment!(interpreter_bool_false, r#"false"#, Ok(Value::Bool(false))); [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] 32 | let _ = test_fragment!(interpreter_bool_false, r#"false"#, Ok(Value::Bool(false))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:33:1 [INFO] [stdout] | [INFO] [stdout] 33 | test_fragment!(interpreter_identifier, r#"x"#, Err(AsaErrorKind::InvalidVariable)); [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] 33 | let _ = test_fragment!(interpreter_identifier, r#"x"#, Err(AsaErrorKind::InvalidVariable)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | test_fragment!(interpreter_variable_define, r#"let x = 123;"#, Ok(Value::Number(123))); [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] 34 | let _ = test_fragment!(interpreter_variable_define, r#"let x = 123;"#, Ok(Value::Number(123))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | test_fragment!(interpreter_variable_init, r#"let x = 1;"#, Ok(Value::Number(1))); [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] 35 | let _ = test_fragment!(interpreter_variable_init, r#"let x = 1;"#, Ok(Value::Number(1))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | test_fragment!(interpreter_variable_bool, r#"let bool = true;"#, Ok(Value::Bool(true))); [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] 36 | let _ = test_fragment!(interpreter_variable_bool, r#"let bool = true;"#, Ok(Value::Bool(true))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | test_fragment!(interpreter_variable_string, r#"let string = "Hello";"#, Ok(Value::String("Hello".to_string()))); [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] 37 | let _ = test_fragment!(interpreter_variable_string, r#"let string = "Hello";"#, Ok(Value::String("Hello".to_string()))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:38:1 [INFO] [stdout] | [INFO] [stdout] 38 | test_fragment!(interpreter_variable_init_no_space, r#"let x=1;"#, Ok(Value::Number(1))); [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] 38 | let _ = test_fragment!(interpreter_variable_init_no_space, r#"let x=1;"#, Ok(Value::Number(1))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | test_fragment!(interpreter_math, r#"1 + 1"#, Ok(Value::Number(2))); [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] 39 | let _ = test_fragment!(interpreter_math, r#"1 + 1"#, Ok(Value::Number(2))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | test_fragment!(interpreter_math_no_space, r#"1-1"#, Ok(Value::Number(0))); [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] 40 | let _ = test_fragment!(interpreter_math_no_space, r#"1-1"#, Ok(Value::Number(0))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | test_fragment!(interpreter_math_multiply, r#"2 + 4"#, Ok(Value::Number(6))); [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] 41 | let _ = test_fragment!(interpreter_math_multiply, r#"2 + 4"#, Ok(Value::Number(6))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:42:1 [INFO] [stdout] | [INFO] [stdout] 42 | test_fragment!(interpreter_assign_math, r#"let x = 1 + 1;"#, Ok(Value::Number(2))); [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] 42 | let _ = test_fragment!(interpreter_assign_math, r#"let x = 1 + 1;"#, Ok(Value::Number(2))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | test_fragment!(interpreter_define_full_program, r#"let x = 1 + 1; let y = 5 - 2; let z = x + y;"#, Ok(Value::Number(5))); [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] 43 | let _ = test_fragment!(interpreter_define_full_program, r#"let x = 1 + 1; let y = 5 - 2; let z = x + y;"#, Ok(Value::Number(5))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | test_fragment!(test1, r#"5 - 3"#, Ok(Value::Number(2))); [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] 44 | let _ = test_fragment!(test1, r#"5 - 3"#, Ok(Value::Number(2))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:50:1 [INFO] [stdout] | [INFO] [stdout] 50 | test_fragment!(interpreter_equal_numbers, r#"5 == 5"#, Ok(Value::Bool(true))); [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] 50 | let _ = test_fragment!(interpreter_equal_numbers, r#"5 == 5"#, Ok(Value::Bool(true))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:51:1 [INFO] [stdout] | [INFO] [stdout] 51 | test_fragment!(interpreter_not_equal_numbers, r#"5 != 6"#, Ok(Value::Bool(true))); [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] 51 | let _ = test_fragment!(interpreter_not_equal_numbers, r#"5 != 6"#, Ok(Value::Bool(true))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | test_fragment!(interpreter_greater_than, r#"10 > 5"#, Ok(Value::Bool(true))); [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] 54 | let _ = test_fragment!(interpreter_greater_than, r#"10 > 5"#, Ok(Value::Bool(true))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | test_fragment!(interpreter_less_than, r#"2 < 3"#, Ok(Value::Bool(true))); [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] 55 | let _ = test_fragment!(interpreter_less_than, r#"2 < 3"#, Ok(Value::Bool(true))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:58:1 [INFO] [stdout] | [INFO] [stdout] 58 | test_fragment!(interpreter_greater_than_or_equal, r#"5 >= 5"#, Ok(Value::Bool(true))); [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] 58 | let _ = test_fragment!(interpreter_greater_than_or_equal, r#"5 >= 5"#, Ok(Value::Bool(true))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:59:1 [INFO] [stdout] | [INFO] [stdout] 59 | test_fragment!(interpreter_less_than_or_equal, r#"3 <= 5"#, Ok(Value::Bool(true))); [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] 59 | let _ = test_fragment!(interpreter_less_than_or_equal, r#"3 <= 5"#, Ok(Value::Bool(true))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | test_fragment!(interpreter_boolean_equal, r#"true == true"#, Ok(Value::Bool(true))); [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] 62 | let _ = test_fragment!(interpreter_boolean_equal, r#"true == true"#, Ok(Value::Bool(true))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:63:1 [INFO] [stdout] | [INFO] [stdout] 63 | test_fragment!(interpreter_boolean_not_equal, r#"false != true"#, Ok(Value::Bool(true))); [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] 63 | let _ = test_fragment!(interpreter_boolean_not_equal, r#"false != true"#, Ok(Value::Bool(true))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:66:1 [INFO] [stdout] | [INFO] [stdout] 66 | test_fragment!(interpreter_string_equal, r#""hello" == "hello""#, Ok(Value::Bool(true))); [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] 66 | let _ = test_fragment!(interpreter_string_equal, r#""hello" == "hello""#, Ok(Value::Bool(true))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | test_fragment!(interpreter_string_not_equal, r#""hello" != "world""#, Ok(Value::Bool(true))); [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] 67 | let _ = test_fragment!(interpreter_string_not_equal, r#""hello" != "world""#, Ok(Value::Bool(true))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | test_fragment!(interpreter_type_error_comparison, r#"5 > "five""#, Err(AsaErrorKind::TypeError)); [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] 70 | let _ = test_fragment!(interpreter_type_error_comparison, r#"5 > "five""#, Err(AsaErrorKind::TypeError)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/interpreter.rs:71:1 [INFO] [stdout] | [INFO] [stdout] 71 | test_fragment!(interpreter_type_error_addition, r#""hello" + 5"#, Err(AsaErrorKind::TypeError)); [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] 71 | let _ = test_fragment!(interpreter_type_error_addition, r#""hello" + 5"#, Err(AsaErrorKind::TypeError)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.21s [INFO] running `Command { std: "docker" "inspect" "638b0df908b25606b210655e0ddb3cdb1060fb4c9b27a1febf25a6f4b842cb10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "638b0df908b25606b210655e0ddb3cdb1060fb4c9b27a1febf25a6f4b842cb10", kill_on_drop: false }` [INFO] [stdout] 638b0df908b25606b210655e0ddb3cdb1060fb4c9b27a1febf25a6f4b842cb10