[INFO] cloning repository https://github.com/ecpeter23/asa [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ecpeter23/asa" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fecpeter23%2Fasa", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fecpeter23%2Fasa'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8a4d293de81e2eb921542b112dfa4c108f9832b1 [INFO] testing ecpeter23/asa against beta-2025-01-12 for beta-1.85-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fecpeter23%2Fasa" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ecpeter23/asa on toolchain beta-2025-01-12 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-01-12" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/ecpeter23/asa [INFO] finished tweaking git repo https://github.com/ecpeter23/asa [INFO] tweaked toml for git repo https://github.com/ecpeter23/asa written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/ecpeter23/asa 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" "+beta-2025-01-12" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d5c9dbcfd04f52fc3cbe89f09e028d8b67bfc2d9e0ee8d057a160aed565bcce2 [INFO] running `Command { std: "docker" "start" "-a" "d5c9dbcfd04f52fc3cbe89f09e028d8b67bfc2d9e0ee8d057a160aed565bcce2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d5c9dbcfd04f52fc3cbe89f09e028d8b67bfc2d9e0ee8d057a160aed565bcce2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d5c9dbcfd04f52fc3cbe89f09e028d8b67bfc2d9e0ee8d057a160aed565bcce2", kill_on_drop: false }` [INFO] [stdout] d5c9dbcfd04f52fc3cbe89f09e028d8b67bfc2d9e0ee8d057a160aed565bcce2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ef7d3cfa50760b25cfb0456073ca1277b485611b14d22e3d58b2eba2d9d80fcf [INFO] running `Command { std: "docker" "start" "-a" "ef7d3cfa50760b25cfb0456073ca1277b485611b14d22e3d58b2eba2d9d80fcf", kill_on_drop: false }` [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling memchr v2.7.2 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling asa v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.86s [INFO] running `Command { std: "docker" "inspect" "ef7d3cfa50760b25cfb0456073ca1277b485611b14d22e3d58b2eba2d9d80fcf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ef7d3cfa50760b25cfb0456073ca1277b485611b14d22e3d58b2eba2d9d80fcf", kill_on_drop: false }` [INFO] [stdout] ef7d3cfa50760b25cfb0456073ca1277b485611b14d22e3d58b2eba2d9d80fcf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 66df5ca2b0bc25c84f88e671c22628dae73a64a5d57129b41c5211a0ba40a811 [INFO] running `Command { std: "docker" "start" "-a" "66df5ca2b0bc25c84f88e671c22628dae73a64a5d57129b41c5211a0ba40a811", kill_on_drop: false }` [INFO] [stderr] Compiling asa v0.1.0 (/opt/rustwide/workdir) [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] 29 | 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] 30 | test_fragment!(interpreter_string, r#""hello""#, Ok(Value::String("hello".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] 31 | 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] 32 | 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] 33 | 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] 34 | 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] 35 | 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] 36 | 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] 37 | test_fragment!(interpreter_variable_string, r#"let string = "Hello";"#, Ok(Value::String("Hello".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] 38 | 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] 39 | 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] 40 | 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] 41 | 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] 42 | 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] 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] | ------------------------------------------------------------------------------------------------------------------------ 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] 44 | test_fragment!(interpreter_full_math, r#"let x = ((2 + 3) * 4 - 8) / (2 ^ 2);"#, Ok(Value::Number(3))); [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] 46 | test_fragment!(interpreter_unary_negative, r#"let x = -5;"#, Ok(Value::Number(-5))); [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] 47 | test_fragment!(interpreter_unary_positive, r#"let x = +5;"#, Ok(Value::Number(5))); [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] 48 | test_fragment!(interpreter_complex_expression, r#"((1 + 2) * (3 + 4))"#, Ok(Value::Number(21))); [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] 49 | test_fragment!(interpreter_exponentiation, r#"2 ^ 3"#, Ok(Value::Number(8))); [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] 50 | test_fragment!(interpreter_division_result, r#"0/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] 51 | test_fragment!(interpreter_reuse_variable, r#"let a = 10; let b = a + 5;"#, Ok(Value::Number(15))); [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_return_variable_value, r#"let a = 2; a"#, 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] 53 | test_fragment!(interpreter_boolean_comparison, r#"(2 > 1)"#, 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] 54 | test_fragment!(interpreter_variable_string_return, r#"let s = "SomeString"; s"#, Ok(Value::String("SomeString".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] 55 | test_fragment!(interpreter_equality_check, r#"let foo = true; let bar = false; let baz = foo == bar; return baz;"#, 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] 57 | test_fragment!(interpreter_comparison_check, r#"return !(1 > 0) && true;"#, 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] 58 | test_fragment!(conditional_simple_false, r#"1 > 2"#, 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] 59 | test_fragment!(conditional_simple_true, r#"2 > 1"#, 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!(conditional_boolean_equality_true, r#"true == 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] 61 | test_fragment!(conditional_boolean_equality_false, r#"true == 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] 62 | test_fragment!(conditional_variable_comparison, r#"let x = true; x == 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] 63 | test_fragment!(conditional_variable_compare_booleans, r#"let x = true; let y = false; x > y"#, Err(AsaErrorKind::Generic("Unknown operator for booleans".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] 65 | test_fragment!(invalid_comparison_number_boolean, r#"1 > true"#, Err(AsaErrorKind::TypeMismatch("Type error in binary expression: expected matching types".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] 66 | test_fragment!(invalid_math_number_boolean, r#"5 - false"#, Err(AsaErrorKind::TypeMismatch("Type error in binary expression: expected matching types".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] 68 | test_fragment!(operator_precedence_example, r#"let x = 10; let y = 5; let result = x > y == true; result"#, 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] 69 | test_fragment!(precedence_complex_1, r#"((3 + 4) * 5 > 2^2) == 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] 70 | test_fragment!(precedence_complex_2, r#"(10 / 2 + (7 - 3) == 2 * 3) == false"#, 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] 71 | test_fragment!(precedence_complex_3, r#"(4^2 - 3 * 5 < 20 && 6 > 2) == 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] 72 | test_fragment!(precedence_complex_4, r#"((8 - 2) * 3 != 5 * 2 || 10 > 2^3) == 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] 73 | test_fragment!(precedence_complex_5, r#"((6 + 3) * 2 == 15 && ((4 * 2) > 7)) == false"#, 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] 75 | test_fragment!(full_math_expression_1, r#"let x = ((2 + 3) * 4 - 8) / (2 ^ 2);"#, Ok(Value::Number(3))); [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] 76 | test_fragment!(full_math_expression_2, r#"((1 + 2) * (3 + 4))"#, Ok(Value::Number(21))); [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] 77 | test_fragment!(full_math_expression_3, r#"2 ^ 3"#, Ok(Value::Number(8))); [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] 78 | test_fragment!(full_math_expression_4, r#"0 / 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] 79 | test_fragment!(full_math_expression_5, r#"let a = 10; let b = a + 5;"#, Ok(Value::Number(15))); [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] 81 | test_fragment!(boolean_comparison_true, r#"(2 > 1)"#, 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] 82 | test_fragment!(boolean_comparison_false, r#"(1 > 2)"#, 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] 83 | test_fragment!(boolean_equality_check, r#"let foo = true; let bar = false; let baz = foo == bar; return baz;"#, 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] 84 | test_fragment!(boolean_not_operator, r#"return !(1 > 0) && true;"#, 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] 85 | test_fragment!(boolean_complex_expression, r#"(2 > 1 && 3 > 2) || (5 < 4)"#, 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] 89 | test_fragment!(if_simple_true, r#"if true { return false; } else { return true; }"#, 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] 90 | test_fragment!(if_simple_false, r#"if false { return false; } else { return 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] 93 | test_fragment!(if_variable_assign_true, r#"let x = if true { return false; } else { return true; }; return x;"#, 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] 94 | test_fragment!(if_variable_assign_false, r#"let x = if false { return false; } else { return true; }; return x;"#, 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] 97 | test_fragment!(if_else_if, r#"let x = 5; if x > 5 { return 1; } else if x == 5 { return 2; } else { return 3; }"#, 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] 100 | test_fragment!(double_if_statement, r#"let x = 0; let y = 0; if (x < 10) { if (y < 5) { y = 5; } x = 10; } return x + y;"#, Ok(Value::Number(15)... [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] 104 | test_fragment!(while_loop_decrement, r#"let x = 5; while (x > 0) { x = x - 1; } return x;"#, 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] 107 | test_fragment!(double_while_loop, r#"let x = 0; let y = 0; while (x < 10) { while (y < 5) { y = y + 1; } x = x + 1; } return x + y;"#, Ok(Value::Number(15)... [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] 110 | test_fragment!(while_with_break, r#"let x = 0; while true { x = x + 1; if x > 5 {break;} } return x;"#, 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] 113 | / test_fragment!(while_condition_update, r#" [INFO] [stdout] 114 | | let result = 0; [INFO] [stdout] 115 | | while (result < 5) { [INFO] [stdout] 116 | | result = result + 1; [INFO] [stdout] 117 | | } [INFO] [stdout] 118 | | return result; [INFO] [stdout] 119 | | "#, Ok(Value::Number(5))); [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] 122 | / test_fragment!(function_return_constant, r#" [INFO] [stdout] 123 | | fn answer() { [INFO] [stdout] 124 | | return 42; [INFO] [stdout] ... | [INFO] [stdout] 127 | | "#, Ok(Value::Number(42))); [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] 130 | / test_fragment!(function_add, r#" [INFO] [stdout] 131 | | fn add(a, b) { [INFO] [stdout] 132 | | return a + b; [INFO] [stdout] ... | [INFO] [stdout] 135 | | "#, Ok(Value::Number(8))); [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] 138 | / test_fragment!(function_calculate, r#" [INFO] [stdout] 139 | | fn calculate(a, b) { [INFO] [stdout] 140 | | let sum = a + b; [INFO] [stdout] 141 | | let product = a * b; [INFO] [stdout] ... | [INFO] [stdout] 144 | | return calculate(5, 3); [INFO] [stdout] 145 | | "#, Ok(Value::Number(23))); [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] 148 | / test_fragment!(function_call_chain, r#" [INFO] [stdout] 149 | | fn double(x) { [INFO] [stdout] 150 | | return x * 2; [INFO] [stdout] ... | [INFO] [stdout] 157 | | return quadruple(10); // double(10) = 20, double(20) = 40 [INFO] [stdout] 158 | | "#, Ok(Value::Number(40))); [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] 161 | / test_fragment!(function_default_parameter, r#" [INFO] [stdout] 162 | | fn greet(name = "Guest") { [INFO] [stdout] 163 | | return "Hello, " + name; [INFO] [stdout] ... | [INFO] [stdout] 166 | | "#, Ok(Value::String("Hello, Guest".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] 169 | / test_fragment!(function_default_parameter_with_arg, r#" [INFO] [stdout] 170 | | fn greet(name = "Guest") { [INFO] [stdout] 171 | | return "Hello, " + name; [INFO] [stdout] ... | [INFO] [stdout] 174 | | "#, Ok(Value::String("Hello, Alice".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] 176 | / test_fragment!(function_array_sum, r#" [INFO] [stdout] 177 | | let y = [1, 2, 3]; [INFO] [stdout] 178 | | let i = 0; [INFO] [stdout] 179 | | let x = 0; [INFO] [stdout] ... | [INFO] [stdout] 184 | | return x;"#, 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] 186 | / test_fragment!(function_recursive_factorial, r#" [INFO] [stdout] 187 | | fn factorial(n) { [INFO] [stdout] 188 | | if n == 0 { [INFO] [stdout] 189 | | return 1; [INFO] [stdout] ... | [INFO] [stdout] 195 | | return factorial(5); [INFO] [stdout] 196 | | "#, Ok(Value::Number(120))); [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] 198 | / test_fragment!(function_recursive_fibonacci, r#" [INFO] [stdout] 199 | | fn fibonacci(n) { [INFO] [stdout] 200 | | if n <= 1 { [INFO] [stdout] 201 | | return n; [INFO] [stdout] ... | [INFO] [stdout] 209 | | return fibonacci(10); [INFO] [stdout] 210 | | "#, Ok(Value::Number(55))); [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 `test` profile [unoptimized + debuginfo] target(s) in 1.31s [INFO] running `Command { std: "docker" "inspect" "66df5ca2b0bc25c84f88e671c22628dae73a64a5d57129b41c5211a0ba40a811", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "66df5ca2b0bc25c84f88e671c22628dae73a64a5d57129b41c5211a0ba40a811", kill_on_drop: false }` [INFO] [stdout] 66df5ca2b0bc25c84f88e671c22628dae73a64a5d57129b41c5211a0ba40a811 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-01-12" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ad00d1082060f5e0a9b50bea7d633ccf208f2bf1e5681c60e93cd26ac7d258fd [INFO] running `Command { std: "docker" "start" "-a" "ad00d1082060f5e0a9b50bea7d633ccf208f2bf1e5681c60e93cd26ac7d258fd", kill_on_drop: false }` [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 29 | test_fragment!(interpreter_numeric, r#"123"#, Ok(Value::Number(123))); [INFO] [stderr] | --------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 30 | test_fragment!(interpreter_string, r#""hello""#, Ok(Value::String("hello".to_string()))); [INFO] [stderr] | ---------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 31 | test_fragment!(interpreter_bool_true, r#"true"#, Ok(Value::Bool(true))); [INFO] [stderr] | ----------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 32 | test_fragment!(interpreter_bool_false, r#"false"#, Ok(Value::Bool(false))); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 33 | test_fragment!(interpreter_identifier, r#"x"#, Err(AsaErrorKind::UndefinedFunction)); [INFO] [stderr] | ------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 34 | test_fragment!(interpreter_variable_define, r#"let x = 123;"#, Ok(Value::Number(123))); [INFO] [stderr] | -------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 35 | test_fragment!(interpreter_variable_init, r#"let x = 1;"#, Ok(Value::Number(1))); [INFO] [stderr] | -------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 36 | test_fragment!(interpreter_variable_bool, r#"let bool = true;"#, Ok(Value::Bool(true))); [INFO] [stderr] | --------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 37 | test_fragment!(interpreter_variable_string, r#"let string = "Hello";"#, Ok(Value::String("Hello".to_string()))); [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 38 | test_fragment!(interpreter_variable_init_no_space, r#"let x=1;"#, Ok(Value::Number(1))); [INFO] [stderr] | --------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 39 | test_fragment!(interpreter_math, r#"1 + 1"#, Ok(Value::Number(2))); [INFO] [stderr] | ------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 40 | test_fragment!(interpreter_math_no_space, r#"1-1"#, Ok(Value::Number(0))); [INFO] [stderr] | ------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 41 | test_fragment!(interpreter_math_multiply, r#"2 + 4"#, Ok(Value::Number(6))); [INFO] [stderr] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 42 | test_fragment!(interpreter_assign_math, r#"let x = 1 + 1;"#, Ok(Value::Number(2))); [INFO] [stderr] | ---------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 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] [stderr] | ------------------------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 44 | test_fragment!(interpreter_full_math, r#"let x = ((2 + 3) * 4 - 8) / (2 ^ 2);"#, Ok(Value::Number(3))); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 46 | test_fragment!(interpreter_unary_negative, r#"let x = -5;"#, Ok(Value::Number(-5))); [INFO] [stderr] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 47 | test_fragment!(interpreter_unary_positive, r#"let x = +5;"#, Ok(Value::Number(5))); [INFO] [stderr] | ---------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 48 | test_fragment!(interpreter_complex_expression, r#"((1 + 2) * (3 + 4))"#, Ok(Value::Number(21))); [INFO] [stderr] | ----------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 49 | test_fragment!(interpreter_exponentiation, r#"2 ^ 3"#, Ok(Value::Number(8))); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 50 | test_fragment!(interpreter_division_result, r#"0/1"#, Ok(Value::Number(0))); [INFO] [stderr] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 51 | test_fragment!(interpreter_reuse_variable, r#"let a = 10; let b = a + 5;"#, Ok(Value::Number(15))); [INFO] [stderr] | -------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 52 | test_fragment!(interpreter_return_variable_value, r#"let a = 2; a"#, Ok(Value::Number(2))); [INFO] [stderr] | ------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 53 | test_fragment!(interpreter_boolean_comparison, r#"(2 > 1)"#, Ok(Value::Bool(true))); [INFO] [stderr] | ----------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 54 | test_fragment!(interpreter_variable_string_return, r#"let s = "SomeString"; s"#, Ok(Value::String("SomeString".to_string()))); [INFO] [stderr] | ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 55 | test_fragment!(interpreter_equality_check, r#"let foo = true; let bar = false; let baz = foo == bar; return baz;"#, Ok(Value::Bool(false))); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 57 | test_fragment!(interpreter_comparison_check, r#"return !(1 > 0) && true;"#, Ok(Value::Bool(false))); [INFO] [stderr] | --------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 58 | test_fragment!(conditional_simple_false, r#"1 > 2"#, Ok(Value::Bool(false))); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 59 | test_fragment!(conditional_simple_true, r#"2 > 1"#, Ok(Value::Bool(true))); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 60 | test_fragment!(conditional_boolean_equality_true, r#"true == true"#, Ok(Value::Bool(true))); [INFO] [stderr] | ------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 61 | test_fragment!(conditional_boolean_equality_false, r#"true == false"#, Ok(Value::Bool(false))); [INFO] [stderr] | ---------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 62 | test_fragment!(conditional_variable_comparison, r#"let x = true; x == false"#, Ok(Value::Bool(false))); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 63 | test_fragment!(conditional_variable_compare_booleans, r#"let x = true; let y = false; x > y"#, Err(AsaErrorKind::Generic("Unknown operator for booleans".to_string())... [INFO] [stderr] | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 65 | test_fragment!(invalid_comparison_number_boolean, r#"1 > true"#, Err(AsaErrorKind::TypeMismatch("Type error in binary expression: expected matching types".to_string())... [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 66 | test_fragment!(invalid_math_number_boolean, r#"5 - false"#, Err(AsaErrorKind::TypeMismatch("Type error in binary expression: expected matching types".to_string())... [INFO] [stderr] | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 68 | test_fragment!(operator_precedence_example, r#"let x = 10; let y = 5; let result = x > y == true; result"#, Ok(Value::Bool(true))); [INFO] [stderr] | ---------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 69 | test_fragment!(precedence_complex_1, r#"((3 + 4) * 5 > 2^2) == true"#, Ok(Value::Bool(true))); [INFO] [stderr] | --------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 70 | test_fragment!(precedence_complex_2, r#"(10 / 2 + (7 - 3) == 2 * 3) == false"#, Ok(Value::Bool(true))); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 71 | test_fragment!(precedence_complex_3, r#"(4^2 - 3 * 5 < 20 && 6 > 2) == true"#, Ok(Value::Bool(true))); [INFO] [stderr] | ----------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 72 | test_fragment!(precedence_complex_4, r#"((8 - 2) * 3 != 5 * 2 || 10 > 2^3) == true"#, Ok(Value::Bool(true))); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 73 | test_fragment!(precedence_complex_5, r#"((6 + 3) * 2 == 15 && ((4 * 2) > 7)) == false"#, Ok(Value::Bool(true))); [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 75 | test_fragment!(full_math_expression_1, r#"let x = ((2 + 3) * 4 - 8) / (2 ^ 2);"#, Ok(Value::Number(3))); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 76 | test_fragment!(full_math_expression_2, r#"((1 + 2) * (3 + 4))"#, Ok(Value::Number(21))); [INFO] [stderr] | --------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 77 | test_fragment!(full_math_expression_3, r#"2 ^ 3"#, Ok(Value::Number(8))); [INFO] [stderr] | ------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 78 | test_fragment!(full_math_expression_4, r#"0 / 1"#, Ok(Value::Number(0))); [INFO] [stderr] | ------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 79 | test_fragment!(full_math_expression_5, r#"let a = 10; let b = a + 5;"#, Ok(Value::Number(15))); [INFO] [stderr] | ---------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 81 | test_fragment!(boolean_comparison_true, r#"(2 > 1)"#, Ok(Value::Bool(true))); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 82 | test_fragment!(boolean_comparison_false, r#"(1 > 2)"#, Ok(Value::Bool(false))); [INFO] [stderr] | ------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 83 | test_fragment!(boolean_equality_check, r#"let foo = true; let bar = false; let baz = foo == bar; return baz;"#, Ok(Value::Bool(false))); [INFO] [stderr] | --------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 84 | test_fragment!(boolean_not_operator, r#"return !(1 > 0) && true;"#, Ok(Value::Bool(false))); [INFO] [stderr] | ------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 85 | test_fragment!(boolean_complex_expression, r#"(2 > 1 && 3 > 2) || (5 < 4)"#, Ok(Value::Bool(true))); [INFO] [stderr] | --------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 89 | test_fragment!(if_simple_true, r#"if true { return false; } else { return true; }"#, Ok(Value::Bool(false))); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 90 | test_fragment!(if_simple_false, r#"if false { return false; } else { return true; }"#, Ok(Value::Bool(true))); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 93 | test_fragment!(if_variable_assign_true, r#"let x = if true { return false; } else { return true; }; return x;"#, Ok(Value::Bool(false))); [INFO] [stderr] | ---------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 94 | test_fragment!(if_variable_assign_false, r#"let x = if false { return false; } else { return true; }; return x;"#, Ok(Value::Bool(true))); [INFO] [stderr] | ----------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 97 | test_fragment!(if_else_if, r#"let x = 5; if x > 5 { return 1; } else if x == 5 { return 2; } else { return 3; }"#, Ok(Value::Number(2))); [INFO] [stderr] | ---------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 100 | test_fragment!(double_if_statement, r#"let x = 0; let y = 0; if (x < 10) { if (y < 5) { y = 5; } x = 10; } return x + y;"#, Ok(Value::Number(15)... [INFO] [stderr] | -------------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 104 | test_fragment!(while_loop_decrement, r#"let x = 5; while (x > 0) { x = x - 1; } return x;"#, Ok(Value::Number(0))); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 107 | test_fragment!(double_while_loop, r#"let x = 0; let y = 0; while (x < 10) { while (y < 5) { y = y + 1; } x = x + 1; } return x + y;"#, Ok(Value::Number(15)... [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 110 | test_fragment!(while_with_break, r#"let x = 0; while true { x = x + 1; if x > 5 {break;} } return x;"#, Ok(Value::Number(6))); [INFO] [stderr] | ----------------------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 113 | / test_fragment!(while_condition_update, r#" [INFO] [stderr] 114 | | let result = 0; [INFO] [stderr] 115 | | while (result < 5) { [INFO] [stderr] 116 | | result = result + 1; [INFO] [stderr] 117 | | } [INFO] [stderr] 118 | | return result; [INFO] [stderr] 119 | | "#, Ok(Value::Number(5))); [INFO] [stderr] | |_____________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 122 | / test_fragment!(function_return_constant, r#" [INFO] [stderr] 123 | | fn answer() { [INFO] [stderr] 124 | | return 42; [INFO] [stderr] ... | [INFO] [stderr] 127 | | "#, Ok(Value::Number(42))); [INFO] [stderr] | |__________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 130 | / test_fragment!(function_add, r#" [INFO] [stderr] 131 | | fn add(a, b) { [INFO] [stderr] 132 | | return a + b; [INFO] [stderr] ... | [INFO] [stderr] 135 | | "#, Ok(Value::Number(8))); [INFO] [stderr] | |_________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 138 | / test_fragment!(function_calculate, r#" [INFO] [stderr] 139 | | fn calculate(a, b) { [INFO] [stderr] 140 | | let sum = a + b; [INFO] [stderr] 141 | | let product = a * b; [INFO] [stderr] ... | [INFO] [stderr] 144 | | return calculate(5, 3); [INFO] [stderr] 145 | | "#, Ok(Value::Number(23))); [INFO] [stderr] | |__________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 148 | / test_fragment!(function_call_chain, r#" [INFO] [stderr] 149 | | fn double(x) { [INFO] [stderr] 150 | | return x * 2; [INFO] [stderr] ... | [INFO] [stderr] 157 | | return quadruple(10); // double(10) = 20, double(20) = 40 [INFO] [stderr] 158 | | "#, Ok(Value::Number(40))); [INFO] [stderr] | |__________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 161 | / test_fragment!(function_default_parameter, r#" [INFO] [stderr] 162 | | fn greet(name = "Guest") { [INFO] [stderr] 163 | | return "Hello, " + name; [INFO] [stderr] ... | [INFO] [stderr] 166 | | "#, Ok(Value::String("Hello, Guest".to_string()))); [INFO] [stderr] | |__________________________________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 169 | / test_fragment!(function_default_parameter_with_arg, r#" [INFO] [stderr] 170 | | fn greet(name = "Guest") { [INFO] [stderr] 171 | | return "Hello, " + name; [INFO] [stderr] ... | [INFO] [stderr] 174 | | "#, Ok(Value::String("Hello, Alice".to_string()))); [INFO] [stderr] | |__________________________________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 176 | / test_fragment!(function_array_sum, r#" [INFO] [stderr] 177 | | let y = [1, 2, 3]; [INFO] [stderr] 178 | | let i = 0; [INFO] [stderr] 179 | | let x = 0; [INFO] [stderr] ... | [INFO] [stderr] 184 | | return x;"#, Ok(Value::Number(6))); [INFO] [stderr] | |______________________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 186 | / test_fragment!(function_recursive_factorial, r#" [INFO] [stderr] 187 | | fn factorial(n) { [INFO] [stderr] 188 | | if n == 0 { [INFO] [stderr] 189 | | return 1; [INFO] [stderr] ... | [INFO] [stderr] 195 | | return factorial(5); [INFO] [stderr] 196 | | "#, Ok(Value::Number(120))); [INFO] [stderr] | |___________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> tests/interpreter.rs:18:11 [INFO] [stderr] | [INFO] [stderr] 18 | std::io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 198 | / test_fragment!(function_recursive_fibonacci, r#" [INFO] [stderr] 199 | | fn fibonacci(n) { [INFO] [stderr] 200 | | if n <= 1 { [INFO] [stderr] 201 | | return n; [INFO] [stderr] ... | [INFO] [stderr] 209 | | return fibonacci(10); [INFO] [stderr] 210 | | "#, Ok(Value::Number(55))); [INFO] [stderr] | |____________________________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `test_fragment` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 18 | let _ = std::io::stdout().flush(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `asa` (test "interpreter") generated 70 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/asa-400ee5eec1add7d5) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/asa-f1576178401a9be0) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/interpreter.rs (/opt/rustwide/target/debug/deps/interpreter-72d538687a9f25f7) [INFO] [stdout] [INFO] [stdout] running 70 tests [INFO] [stdout] test boolean_comparison_true ... ok [INFO] [stdout] test conditional_simple_true ... ok [INFO] [stdout] test boolean_not_operator ... ok [INFO] [stdout] test conditional_boolean_equality_false ... ok [INFO] [stdout] test conditional_variable_compare_booleans ... ok [INFO] [stdout] test conditional_variable_comparison ... ok [INFO] [stdout] test boolean_equality_check ... ok [INFO] [stdout] test conditional_simple_false ... ok [INFO] [stdout] test conditional_boolean_equality_true ... ok [INFO] [stdout] test boolean_complex_expression ... ok [INFO] [stdout] test boolean_comparison_false ... ok [INFO] [stdout] test double_if_statement ... ok [INFO] [stdout] test full_math_expression_1 ... ok [INFO] [stdout] test function_default_parameter ... ok [INFO] [stdout] test full_math_expression_3 ... ok [INFO] [stdout] test double_while_loop ... ok [INFO] [stdout] test full_math_expression_2 ... ok [INFO] [stdout] test full_math_expression_5 ... ok [INFO] [stdout] test function_default_parameter_with_arg ... ok [INFO] [stdout] test full_math_expression_4 ... ok [INFO] [stdout] test if_simple_true ... ok [INFO] [stdout] test function_add ... ok [INFO] [stdout] test if_else_if ... ok [INFO] [stdout] test function_call_chain ... ok [INFO] [stdout] test function_calculate ... ok [INFO] [stdout] test function_array_sum ... ok [INFO] [stdout] test if_simple_false ... ok [INFO] [stdout] test if_variable_assign_true ... ok [INFO] [stdout] test function_return_constant ... ok [INFO] [stdout] test if_variable_assign_false ... ok [INFO] [stdout] test interpreter_bool_true ... ok [INFO] [stdout] test interpreter_boolean_comparison ... ok [INFO] [stdout] test interpreter_exponentiation ... ok [INFO] [stdout] test interpreter_identifier ... ok [INFO] [stdout] test interpreter_math_multiply ... ok [INFO] [stdout] test interpreter_return_variable_value ... ok [INFO] [stdout] test interpreter_bool_false ... ok [INFO] [stdout] test interpreter_complex_expression ... ok [INFO] [stdout] test interpreter_numeric ... ok [INFO] [stdout] test interpreter_full_math ... ok [INFO] [stdout] test interpreter_assign_math ... ok [INFO] [stdout] test interpreter_comparison_check ... ok [INFO] [stdout] test interpreter_reuse_variable ... ok [INFO] [stdout] test interpreter_string ... ok [INFO] [stdout] test interpreter_define_full_program ... ok [INFO] [stdout] test interpreter_division_result ... ok [INFO] [stdout] test interpreter_math_no_space ... ok [INFO] [stdout] test function_recursive_factorial ... ok [INFO] [stdout] test interpreter_equality_check ... ok [INFO] [stdout] test interpreter_math ... ok [INFO] [stdout] test interpreter_unary_positive ... ok [INFO] [stdout] test interpreter_unary_negative ... ok [INFO] [stdout] test invalid_comparison_number_boolean ... ok [INFO] [stdout] test interpreter_variable_string_return ... ok [INFO] [stdout] test interpreter_variable_define ... ok [INFO] [stdout] test interpreter_variable_bool ... ok [INFO] [stdout] test interpreter_variable_init ... ok [INFO] [stdout] test interpreter_variable_string ... ok [INFO] [stdout] test invalid_math_number_boolean ... ok [INFO] [stdout] test interpreter_variable_init_no_space ... ok [INFO] [stdout] test operator_precedence_example ... ok [INFO] [stdout] test while_with_break ... ok [INFO] [stdout] test while_loop_decrement ... ok [INFO] [stdout] test precedence_complex_1 ... ok [INFO] [stdout] test precedence_complex_2 ... ok [INFO] [stdout] test precedence_complex_4 ... ok [INFO] [stdout] test precedence_complex_5 ... ok [INFO] [stdout] test precedence_complex_3 ... ok [INFO] [stdout] test while_condition_update ... ok [INFO] [stdout] test function_recursive_fibonacci ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 70 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stderr] Running tests/lexer.rs (/opt/rustwide/target/debug/deps/lexer-4227df7f0f822719) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test lexer_test_01 ... ok [INFO] [stdout] test lexer_test_02 ... ok [INFO] [stdout] test lexer_test_03 ... ok [INFO] [stdout] test lexer_test_08 ... ok [INFO] [stdout] test lexer_test_05 ... ok [INFO] [stdout] test lexer_test_04 ... ok [INFO] [stdout] test lexer_test_06 ... ok [INFO] [stdout] test lexer_test_09 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/parser.rs (/opt/rustwide/target/debug/deps/parser-97769010952c0bec) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test parser_bool ... ok [INFO] [stdout] test parser_function_call ... ok [INFO] [stdout] test parser_ident ... ok [INFO] [stdout] test parser_number ... ok [INFO] [stdout] test parser_variable_define_math_expr ... ok [INFO] [stdout] test parser_variable_define_number ... ok [INFO] [stdout] test parser_function_call_one_arg ... ok [INFO] [stdout] test parser_function_define ... ok [INFO] [stdout] test parser_variable_define_bool ... ok [INFO] [stdout] test parser_math_expr ... ok [INFO] [stdout] test parser_variable_function_call ... ok [INFO] [stdout] test parser_string ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Doc-tests asa [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ad00d1082060f5e0a9b50bea7d633ccf208f2bf1e5681c60e93cd26ac7d258fd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ad00d1082060f5e0a9b50bea7d633ccf208f2bf1e5681c60e93cd26ac7d258fd", kill_on_drop: false }` [INFO] [stdout] ad00d1082060f5e0a9b50bea7d633ccf208f2bf1e5681c60e93cd26ac7d258fd