[INFO] fetching crate vyder_core 0.3.4... [INFO] testing vyder_core-0.3.4 against try#b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b for pr-145330-1 [INFO] extracting crate vyder_core 0.3.4 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate vyder_core 0.3.4 [INFO] finished tweaking crates.io crate vyder_core 0.3.4 [INFO] tweaked toml for crates.io crate vyder_core 0.3.4 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate vyder_core 0.3.4 on toolchain b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate vyder_core 0.3.4 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" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] da0921a65688ed7b5c0f244279181a284371c3bb86559ab4445a5b055d3a6f8b [INFO] running `Command { std: "docker" "start" "-a" "da0921a65688ed7b5c0f244279181a284371c3bb86559ab4445a5b055d3a6f8b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "da0921a65688ed7b5c0f244279181a284371c3bb86559ab4445a5b055d3a6f8b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "da0921a65688ed7b5c0f244279181a284371c3bb86559ab4445a5b055d3a6f8b", kill_on_drop: false }` [INFO] [stdout] da0921a65688ed7b5c0f244279181a284371c3bb86559ab4445a5b055d3a6f8b [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 07fed95b3e80b458acfb7c8941b02855efb71c59725debc33f919b2ae6788d9d [INFO] running `Command { std: "docker" "start" "-a" "07fed95b3e80b458acfb7c8941b02855efb71c59725debc33f919b2ae6788d9d", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling anstyle v1.0.7 [INFO] [stderr] Compiling colorchoice v1.0.1 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.0 [INFO] [stderr] Compiling anstyle-query v1.1.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling clap_lex v0.7.1 [INFO] [stderr] Compiling anstyle-parse v0.2.4 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling colored v2.1.0 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling anstream v0.6.14 [INFO] [stderr] Compiling clap_builder v4.5.9 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling regex v1.10.5 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling enum_downcast_derive v0.2.0 [INFO] [stderr] Compiling clap_derive v4.5.8 [INFO] [stderr] Compiling tracing-test-macro v0.2.5 [INFO] [stderr] Compiling vyder_macros v0.3.4 [INFO] [stderr] Compiling enum_downcast v0.2.0 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling tracing-subscriber v0.3.18 [INFO] [stderr] Compiling clap v4.5.9 [INFO] [stderr] Compiling tracing-test v0.2.5 [INFO] [stderr] Compiling vyder_core v0.3.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/value/values.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 35 | #[derive(Clone, Debug, IntoValueEnum, PartialEq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 43 | function: fn(&[ValueResult], Span) -> Result<(ValueResult, Option)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.52s [INFO] running `Command { std: "docker" "inspect" "07fed95b3e80b458acfb7c8941b02855efb71c59725debc33f919b2ae6788d9d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "07fed95b3e80b458acfb7c8941b02855efb71c59725debc33f919b2ae6788d9d", kill_on_drop: false }` [INFO] [stdout] 07fed95b3e80b458acfb7c8941b02855efb71c59725debc33f919b2ae6788d9d [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 06722cc561eb726364922208b9d2075b81dd4819d88925625c0dc1cc2d0f209f [INFO] running `Command { std: "docker" "start" "-a" "06722cc561eb726364922208b9d2075b81dd4819d88925625c0dc1cc2d0f209f", kill_on_drop: false }` [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/value/values.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 35 | #[derive(Clone, Debug, IntoValueEnum, PartialEq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 43 | function: fn(&[ValueResult], Span) -> Result<(ValueResult, Option)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling vyder_core v0.3.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/value/values.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 35 | #[derive(Clone, Debug, IntoValueEnum, PartialEq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 43 | function: fn(&[ValueResult], Span) -> Result<(ValueResult, Option)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.81s [INFO] running `Command { std: "docker" "inspect" "06722cc561eb726364922208b9d2075b81dd4819d88925625c0dc1cc2d0f209f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "06722cc561eb726364922208b9d2075b81dd4819d88925625c0dc1cc2d0f209f", kill_on_drop: false }` [INFO] [stdout] 06722cc561eb726364922208b9d2075b81dd4819d88925625c0dc1cc2d0f209f [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+b6ae10aa7319b7ebb6c7b3331dd71a9d6c9c5b4b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 510727bc93ab1b58592209b48bd779edaa2146d92a414e6e0a126e7f84580d8f [INFO] running `Command { std: "docker" "start" "-a" "510727bc93ab1b58592209b48bd779edaa2146d92a414e6e0a126e7f84580d8f", kill_on_drop: false }` [INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stderr] --> src/value/values.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 35 | #[derive(Clone, Debug, IntoValueEnum, PartialEq)] [INFO] [stderr] | --------- in this derive macro expansion [INFO] [stderr] ... [INFO] [stderr] 43 | function: fn(&[ValueResult], Span) -> Result<(ValueResult, Option)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the address of the same function can vary between different codegen units [INFO] [stderr] = note: furthermore, different functions could have the same address after being merged together [INFO] [stderr] = note: for more information visit [INFO] [stderr] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `vyder_core` (lib) generated 1 warning [INFO] [stderr] warning: `vyder_core` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vyder_core-5973d1184e3ed235) [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test environment::tests::environments_test ... ok [INFO] [stdout] test expression::tests::expect_test ... ok [INFO] [stdout] 2025-10-02T07:09:05.522504Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-10-02T07:09:05.522571Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-10-02T07:09:05.522589Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.522602Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-10-02T07:09:05.522613Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.522631Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-10-02T07:09:05.523381Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-02T07:09:05.523462Z  INFO vyder_core::parser: Token at distance 0 from 0 is '1' at test 1:1 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.523496Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-02T07:09:05.523525Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-02T07:09:05.523562Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-02T07:09:05.523589Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-02T07:09:05.523610Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-02T07:09:05.523631Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.523648Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.523666Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.523684Z  INFO vyder_core::parser: Token at distance 0 from 0 is '1' at test 1:1 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.523724Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.523843Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '#' [INFO] [stdout] 2025-10-02T07:09:05.523858Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-02T07:09:05.523868Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '!' [INFO] [stdout] 2025-10-02T07:09:05.523876Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-02T07:09:05.523884Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'v' [INFO] [stdout] 2025-10-02T07:09:05.523892Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-02T07:09:05.523900Z  INFO vyder_core::lexer: Char at distance 0 from 3 is 'y' [INFO] [stdout] 2025-10-02T07:09:05.523907Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-02T07:09:05.523916Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'd' [INFO] [stdout] test interpreter::tests::negate_test ... 2025-10-02T07:09:05.524459Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] ok [INFO] [stdout] 2025-10-02T07:09:05.524612Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-02T07:09:05.524644Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'e' [INFO] [stdout] 2025-10-02T07:09:05.524642Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-10-02T07:09:05.524652Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-02T07:09:05.524678Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'r' [INFO] [stdout] 2025-10-02T07:09:05.524654Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-02T07:09:05.524699Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-02T07:09:05.524726Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-10-02T07:09:05.524735Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.524742Z  INFO vyder_core::lexer: Constructing span at line 1, column 8 [INFO] [stdout] 2025-10-02T07:09:05.524749Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.524759Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-10-02T07:09:05.524768Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.524775Z  INFO vyder_core::lexer: Constructing span at line 2, column 1 [INFO] [stdout] 2025-10-02T07:09:05.524782Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] test statement::tests::expect_test ... ok [INFO] [stdout] 2025-10-02T07:09:05.524804Z  INFO vyder_core::lexer: Char at distance 0 from 8 is '+' [INFO] [stdout] 2025-10-02T07:09:05.524815Z  INFO vyder_core::lexer: Char at distance 1 from 8 is ' ' [INFO] [stdout] 2025-10-02T07:09:05.524823Z  INFO vyder_core::lexer: Next token is '+' [INFO] [stdout] 2025-10-02T07:09:05.524835Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-10-02T07:09:05.524841Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.524848Z  INFO vyder_core::lexer: Constructing span at line 2, column 2 [INFO] [stdout] 2025-10-02T07:09:05.524854Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-02T07:09:05.524863Z  INFO vyder_core::lexer: Char at distance 0 from 9 is ' ' [INFO] [stdout] 2025-10-02T07:09:05.524870Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-02T07:09:05.524876Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.524882Z  INFO vyder_core::lexer: Constructing span at line 2, column 3 [INFO] [stdout] 2025-10-02T07:09:05.524888Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-02T07:09:05.524896Z  INFO vyder_core::lexer: Char at distance 0 from 10 is '/' [INFO] [stdout] 2025-10-02T07:09:05.524904Z  INFO vyder_core::lexer: Char at distance 1 from 10 is '/' [INFO] [stdout] 2025-10-02T07:09:05.524911Z  INFO vyder_core::lexer: Char at distance 1 from 10 is '/' [INFO] [stdout] 2025-10-02T07:09:05.524918Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-02T07:09:05.524926Z  INFO vyder_core::lexer: Char at distance 1 from 11 is ' ' [INFO] [stdout] 2025-10-02T07:09:05.524944Z  INFO vyder_core::lexer: Advancing to char index 12 [INFO] [stdout] 2025-10-02T07:09:05.524952Z  INFO vyder_core::lexer: Char at distance 1 from 12 is 't' [INFO] [stdout] 2025-10-02T07:09:05.524952Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.524959Z  INFO vyder_core::lexer: Advancing to char index 13 [INFO] [stdout] 2025-10-02T07:09:05.524961Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-10-02T07:09:05.524967Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.524967Z  INFO vyder_core::lexer: Char at distance 1 from 13 is 'e' [INFO] [stdout] 2025-10-02T07:09:05.524974Z  INFO vyder_core::lexer: Advancing to char index 14 [INFO] [stdout] 2025-10-02T07:09:05.524981Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-10-02T07:09:05.524983Z  INFO vyder_core::lexer: Char at distance 1 from 14 is 's' [INFO] [stdout] 2025-10-02T07:09:05.524989Z  INFO vyder_core::lexer: Advancing to char index 15 [INFO] [stdout] 2025-10-02T07:09:05.524989Z  INFO vyder_core::lexer: Char at distance 1 from 0 is '"' [INFO] [stdout] 2025-10-02T07:09:05.524996Z  INFO vyder_core::lexer: Char at distance 1 from 15 is 't' [INFO] [stdout] 2025-10-02T07:09:05.524996Z  INFO vyder_core::lexer: Next token is '+' [INFO] [stdout] 2025-10-02T07:09:05.525003Z  INFO vyder_core::lexer: Advancing to char index 16 [INFO] [stdout] 2025-10-02T07:09:05.525011Z  INFO vyder_core::lexer: Char at distance 1 from 16 is ' ' [INFO] [stdout] 2025-10-02T07:09:05.525013Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-02T07:09:05.525018Z  INFO vyder_core::lexer: Advancing to char index 17 [INFO] [stdout] 2025-10-02T07:09:05.525020Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.525025Z  INFO vyder_core::lexer: Constructing span at line 1, column 2 [INFO] [stdout] 2025-10-02T07:09:05.525026Z  INFO vyder_core::lexer: Char at distance 1 from 17 is '2' [INFO] [stdout] 2025-10-02T07:09:05.525032Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.525033Z  INFO vyder_core::lexer: Advancing to char index 18 [INFO] [stdout] 2025-10-02T07:09:05.525040Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '"' [INFO] [stdout] 2025-10-02T07:09:05.525041Z  INFO vyder_core::lexer: Char at distance 1 from 18 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-10-02T07:09:05.525047Z  INFO vyder_core::lexer: get_string function [INFO] [stdout] 2025-10-02T07:09:05.525047Z  INFO vyder_core::lexer: Advancing to char index 19 [INFO] [stdout] 2025-10-02T07:09:05.525053Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-02T07:09:05.525054Z  INFO vyder_core::lexer: Advancing to char index 20 [INFO] [stdout] 2025-10-02T07:09:05.525060Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.525060Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'H' [INFO] [stdout] 2025-10-02T07:09:05.525068Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-02T07:09:05.525066Z  INFO vyder_core::lexer: Constructing span at line 3, column 1 [INFO] [stdout] 2025-10-02T07:09:05.525076Z  INFO vyder_core::lexer: Char at distance 0 from 3 is 'e' [INFO] [stdout] 2025-10-02T07:09:05.525078Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-10-02T07:09:05.525083Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-02T07:09:05.525088Z  INFO vyder_core::lexer: Char at distance 0 from 20 is '/' [INFO] [stdout] 2025-10-02T07:09:05.525090Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'l' [INFO] [stdout] 2025-10-02T07:09:05.525097Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-02T07:09:05.525097Z  INFO vyder_core::lexer: Char at distance 1 from 20 is '/' [INFO] [stdout] 2025-10-02T07:09:05.525104Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'l' [INFO] [stdout] 2025-10-02T07:09:05.525105Z  INFO vyder_core::lexer: Char at distance 1 from 20 is '/' [INFO] [stdout] 2025-10-02T07:09:05.525110Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-02T07:09:05.525112Z  INFO vyder_core::lexer: Advancing to char index 21 [INFO] [stdout] 2025-10-02T07:09:05.525118Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'o' [INFO] [stdout] 2025-10-02T07:09:05.525120Z  INFO vyder_core::lexer: Char at distance 1 from 21 is ' ' [INFO] [stdout] 2025-10-02T07:09:05.525125Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-02T07:09:05.525126Z  INFO vyder_core::lexer: Advancing to char index 22 [INFO] [stdout] 2025-10-02T07:09:05.525132Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ',' [INFO] [stdout] 2025-10-02T07:09:05.525135Z  INFO vyder_core::lexer: Char at distance 1 from 22 is 't' [INFO] [stdout] 2025-10-02T07:09:05.525139Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-10-02T07:09:05.525141Z  INFO vyder_core::lexer: Advancing to char index 23 [INFO] [stdout] 2025-10-02T07:09:05.525146Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-10-02T07:09:05.525149Z  INFO vyder_core::lexer: Char at distance 1 from 23 is 'e' [INFO] [stdout] 2025-10-02T07:09:05.525153Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-10-02T07:09:05.525156Z  INFO vyder_core::lexer: Advancing to char index 24 [INFO] [stdout] 2025-10-02T07:09:05.525161Z  INFO vyder_core::lexer: Char at distance 0 from 9 is 'W' [INFO] [stdout] 2025-10-02T07:09:05.525165Z  INFO vyder_core::lexer: Char at distance 1 from 24 is 's' [INFO] [stdout] 2025-10-02T07:09:05.525168Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-02T07:09:05.525172Z  INFO vyder_core::lexer: Advancing to char index 25 [INFO] [stdout] 2025-10-02T07:09:05.525175Z  INFO vyder_core::lexer: Char at distance 0 from 10 is 'o' [INFO] [stdout] 2025-10-02T07:09:05.525180Z  INFO vyder_core::lexer: Char at distance 1 from 25 is 't' [INFO] [stdout] 2025-10-02T07:09:05.525182Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-02T07:09:05.525187Z  INFO vyder_core::lexer: Advancing to char index 26 [INFO] [stdout] 2025-10-02T07:09:05.525190Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'r' [INFO] [stdout] 2025-10-02T07:09:05.525196Z  INFO vyder_core::lexer: Char at distance 1 from 26 is ' ' [INFO] [stdout] 2025-10-02T07:09:05.525197Z  INFO vyder_core::lexer: Advancing to char index 12 [INFO] [stdout] 2025-10-02T07:09:05.525202Z  INFO vyder_core::lexer: Advancing to char index 27 [INFO] [stdout] 2025-10-02T07:09:05.525204Z  INFO vyder_core::lexer: Char at distance 0 from 12 is 'l' [INFO] [stdout] 2025-10-02T07:09:05.525212Z  INFO vyder_core::lexer: Advancing to char index 13 [INFO] [stdout] 2025-10-02T07:09:05.525212Z  INFO vyder_core::lexer: Char at distance 1 from 27 is '3' [INFO] [stdout] 2025-10-02T07:09:05.525219Z  INFO vyder_core::lexer: Advancing to char index 28 [INFO] [stdout] 2025-10-02T07:09:05.525219Z  INFO vyder_core::lexer: Char at distance 0 from 13 is 'd' [INFO] [stdout] 2025-10-02T07:09:05.525226Z  INFO vyder_core::lexer: Advancing to char index 14 [INFO] [stdout] 2025-10-02T07:09:05.525227Z  INFO vyder_core::lexer: Char at distance 1 from 28 is 'None' [INFO] [stdout] 2025-10-02T07:09:05.525234Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.525234Z  INFO vyder_core::lexer: Char at distance 0 from 14 is '!' [INFO] [stdout] 2025-10-02T07:09:05.525240Z  INFO vyder_core::lexer: Constructing span at line 3, column 9 [INFO] [stdout] 2025-10-02T07:09:05.525241Z  INFO vyder_core::lexer: Advancing to char index 15 [INFO] [stdout] 2025-10-02T07:09:05.525247Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-10-02T07:09:05.525249Z  INFO vyder_core::lexer: Char at distance 0 from 15 is '"' [INFO] [stdout] 2025-10-02T07:09:05.525257Z  INFO vyder_core::lexer: Char at distance 0 from 28 is '3' [INFO] [stdout] 2025-10-02T07:09:05.525279Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2025-10-02T07:09:05.525289Z  INFO vyder_core::lexer: Char at distance 0 from 28 is '3' [INFO] [stdout] 2025-10-02T07:09:05.525286Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.525296Z  INFO vyder_core::lexer: Advancing to char index 29 [INFO] [stdout] 2025-10-02T07:09:05.525305Z  INFO vyder_core::lexer: Char at distance 0 from 29 is 'None' [INFO] [stdout] 2025-10-02T07:09:05.525305Z  INFO vyder_core::parser: Token at distance 0 from 0 is '1' at test 1:1 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.525314Z  INFO vyder_core::lexer: Next token is '3' [INFO] [stdout] 2025-10-02T07:09:05.525322Z  INFO vyder_core::parser: Advancing to token index 1: '..' [INFO] [stdout] 2025-10-02T07:09:05.525324Z  INFO vyder_core::lexer: Advancing to char index 29 [INFO] [stdout] 2025-10-02T07:09:05.525331Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.525338Z  INFO vyder_core::lexer: Constructing span at line 3, column 10 [INFO] [stdout] 2025-10-02T07:09:05.525339Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-02T07:09:05.525345Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-10-02T07:09:05.525353Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-02T07:09:05.525356Z  INFO vyder_core::lexer: Char at distance 0 from 29 is 'None' [INFO] [stdout] 2025-10-02T07:09:05.525363Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-10-02T07:09:05.525367Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-02T07:09:05.525380Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-02T07:09:05.525389Z  INFO vyder_core::parser: Advancing to token index 2: '3' [INFO] [stdout] 2025-10-02T07:09:05.525397Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.525405Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.525443Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.525461Z  INFO vyder_core::parser: Token at distance 0 from 2 is '3' at test 1:4 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.525479Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.525499Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.525512Z  INFO vyder_core::parser: Token at distance 0 from 2 is '3' at test 1:4 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.525520Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-10-02T07:09:05.525532Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.525544Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.525556Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.525591Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.525604Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.525617Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.525609Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-02T07:09:05.525629Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.525642Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.525647Z  INFO vyder_core::parser: Parsed expression ''Range' at test 1:1 - 1:4 (4 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.525657Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-02T07:09:05.525666Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.525677Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.525679Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-02T07:09:05.525697Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-02T07:09:05.525256Z  INFO vyder_core::lexer: Next token is '"Hello, World!"' [INFO] [stdout] 2025-10-02T07:09:05.525722Z  INFO vyder_core::lexer: Advancing to char index 16 [INFO] [stdout] 2025-10-02T07:09:05.525732Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.525723Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-02T07:09:05.525739Z  INFO vyder_core::lexer: Constructing span at line 1, column 17 [INFO] [stdout] 2025-10-02T07:09:05.525747Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.525745Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-02T07:09:05.525758Z  INFO vyder_core::lexer: Char at distance 0 from 16 is ''' [INFO] [stdout] 2025-10-02T07:09:05.525761Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.525765Z  INFO vyder_core::lexer: get_string function [INFO] [stdout] 2025-10-02T07:09:05.525772Z  INFO vyder_core::lexer: Advancing to char index 17 [INFO] [stdout] 2025-10-02T07:09:05.525773Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.525780Z  INFO vyder_core::lexer: Char at distance 0 from 17 is 'f' [INFO] [stdout] 2025-10-02T07:09:05.525787Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.525787Z  INFO vyder_core::lexer: Advancing to char index 18 [INFO] [stdout] 2025-10-02T07:09:05.525797Z  INFO vyder_core::lexer: Char at distance 0 from 18 is 'o' [INFO] [stdout] 2025-10-02T07:09:05.525804Z  INFO vyder_core::lexer: Advancing to char index 19 [INFO] [stdout] 2025-10-02T07:09:05.525803Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.525812Z  INFO vyder_core::lexer: Char at distance 0 from 19 is 'o' [INFO] [stdout] 2025-10-02T07:09:05.525819Z  INFO vyder_core::lexer: Advancing to char index 20 [INFO] [stdout] 2025-10-02T07:09:05.525828Z  INFO vyder_core::lexer: Char at distance 0 from 20 is '\' [INFO] [stdout] 2025-10-02T07:09:05.525837Z  INFO vyder_core::lexer: Char at distance 1 from 20 is 't' [INFO] [stdout] 2025-10-02T07:09:05.525835Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.525852Z  INFO vyder_core::lexer: Advancing to char index 21 without increasing column [INFO] [stdout] 2025-10-02T07:09:05.525860Z  INFO vyder_core::lexer: Advancing to char index 22 [INFO] [stdout] 2025-10-02T07:09:05.525868Z  INFO vyder_core::lexer: Char at distance 0 from 22 is ''' [INFO] [stdout] 2025-10-02T07:09:05.525876Z  INFO vyder_core::lexer: Next token is '"foo "' [INFO] [stdout] 2025-10-02T07:09:05.525887Z  INFO vyder_core::lexer: Advancing to char index 23 [INFO] [stdout] 2025-10-02T07:09:05.525894Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.525901Z  INFO vyder_core::lexer: Constructing span at line 1, column 23 [INFO] [stdout] 2025-10-02T07:09:05.525908Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.525918Z  INFO vyder_core::lexer: Char at distance 0 from 23 is '(' [INFO] [stdout] 2025-10-02T07:09:05.525917Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.525925Z  INFO vyder_core::lexer: Next token is '(' [INFO] [stdout] 2025-10-02T07:09:05.525935Z  INFO vyder_core::lexer: Advancing to char index 24 [INFO] [stdout] 2025-10-02T07:09:05.525938Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.525942Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.525949Z  INFO vyder_core::lexer: Constructing span at line 1, column 24 [INFO] [stdout] 2025-10-02T07:09:05.525949Z  INFO vyder_core::parser: Advancing to token index 1: '[' [INFO] [stdout] 2025-10-02T07:09:05.525956Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.525963Z  INFO vyder_core::parser: Token at distance 0 from 1 is '[' at test 1:4 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.525965Z  INFO vyder_core::lexer: Char at distance 0 from 24 is 'None' [INFO] [stdout] 2025-10-02T07:09:05.525972Z  INFO vyder_core::parser: Advancing to token index 2: '1' [INFO] [stdout] 2025-10-02T07:09:05.525973Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-10-02T07:09:05.525980Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-02T07:09:05.525987Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-02T07:09:05.525995Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-02T07:09:05.526003Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-02T07:09:05.526010Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-02T07:09:05.526018Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.526025Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.526031Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.526044Z  INFO vyder_core::parser: Token at distance 0 from 2 is '1' at test 1:5 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526059Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.526093Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-02T07:09:05.526118Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.526123Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.526140Z  INFO vyder_core::parser: Token at distance 0 from 2 is '1' at test 1:5 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526140Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-02T07:09:05.526148Z  INFO vyder_core::parser: Advancing to token index 3: ']' [INFO] [stdout] 2025-10-02T07:09:05.526154Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-02T07:09:05.526160Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526171Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-02T07:09:05.526172Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526186Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526184Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-02T07:09:05.526197Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526199Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-02T07:09:05.526210Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526215Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.526221Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526232Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526228Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.526242Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526244Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.526249Z  INFO vyder_core::parser: Parsed expression ''1' at test 1:5 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-02T07:09:05.526261Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.526264Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526274Z  INFO vyder_core::parser: Advancing to token index 4: ';' [INFO] [stdout] 2025-10-02T07:09:05.526285Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526290Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.526297Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526309Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526320Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526334Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526346Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526359Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526372Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526370Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.526379Z  INFO vyder_core::parser: Parsed expression ''Index' at test 1:1 - 1:6 (6 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.526390Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.526396Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526400Z  INFO vyder_core::parser: Advancing to token index 1: '.' [INFO] [stdout] 2025-10-02T07:09:05.526406Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526431Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-02T07:09:05.526440Z  INFO vyder_core::parser: Token at distance 0 from 1 is '.' at test 1:4 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526444Z  INFO vyder_core::parser: Advancing to token index 5: 'EOF' [INFO] [stdout] 2025-10-02T07:09:05.526451Z  INFO vyder_core::parser: Advancing to token index 2: 'bar' [INFO] [stdout] 2025-10-02T07:09:05.526462Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-02T07:09:05.526464Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.526473Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-10-02T07:09:05.526474Z  INFO vyder_core::parser: parsed statement ''Index;' at test 1:1 - 1:7 (7 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.526494Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-02T07:09:05.526501Z  INFO vyder_core::parser: Token at distance 0 from 5 is None [INFO] [stdout] 2025-10-02T07:09:05.526500Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526509Z  INFO vyder_core::parser: ending branch for field access at token Some(Token { value: Semicolon(Semicolon), span: Span { start_location: Location { line: 1, column: 8, char_index: 7 }, end_location: None, module_name: "test", snippet: Some("foo.bar;") } }) [INFO] [stdout] 2025-10-02T07:09:05.526526Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526539Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stderr] Running unittests src/bin/vyder_debug_cli/main.rs (/opt/rustwide/target/debug/deps/vyder_debug_cli-bb2043fe6848a052) [INFO] [stdout] 2025-10-02T07:09:05.526551Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526563Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526581Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526594Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526609Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526621Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526631Z  INFO vyder_core::parser: Parsed expression ''FieldAccess' at test 1:1 - 1:7 (7 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.526649Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526661Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.526670Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-02T07:09:05.526682Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-10-02T07:09:05.526689Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-02T07:09:05.526697Z  INFO vyder_core::parser: parsed statement ''FieldAccess;' at test 1:1 - 1:8 (8 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.526711Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-02T07:09:05.526718Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] 2025-10-02T07:09:05.526749Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-02T07:09:05.525693Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-02T07:09:05.526769Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.526769Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-10-02T07:09:05.526778Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-02T07:09:05.526782Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-02T07:09:05.526787Z  INFO vyder_core::parser: parsed statement ''Range;' at test 1:1 - 1:5 (5 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.526798Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-02T07:09:05.526803Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-02T07:09:05.526811Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] 2025-10-02T07:09:05.526811Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-02T07:09:05.526823Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-02T07:09:05.526838Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-02T07:09:05.526849Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.526863Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.526873Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.526891Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.526917Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.526928Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2025-10-02T07:09:05.526946Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.526954Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-10-02T07:09:05.526962Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.526972Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2025-10-02T07:09:05.526980Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stderr] Doc-tests vyder_core [INFO] [stdout] 2025-10-02T07:09:05.526988Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-02T07:09:05.526996Z  INFO vyder_core::lexer: Char at distance 0 from 1 is 'o' [INFO] [stdout] 2025-10-02T07:09:05.526997Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.527003Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-02T07:09:05.527010Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'o' [INFO] [stdout] 2025-10-02T07:09:05.527014Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.527017Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-02T07:09:05.527024Z  INFO vyder_core::lexer: Char at distance 0 from 3 is ' ' [INFO] [stdout] 2025-10-02T07:09:05.527024Z  INFO vyder_core::parser: Advancing to token index 1: '=' [INFO] [stdout] 2025-10-02T07:09:05.527032Z  INFO vyder_core::lexer: Next token is 'foo' [INFO] [stdout] 2025-10-02T07:09:05.527038Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527049Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-02T07:09:05.527049Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527056Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.527063Z  INFO vyder_core::lexer: Constructing span at line 1, column 4 [INFO] [stdout] 2025-10-02T07:09:05.527063Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527070Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.527076Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527080Z  INFO vyder_core::lexer: Char at distance 0 from 3 is ' ' [INFO] [stdout] 2025-10-02T07:09:05.527087Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-02T07:09:05.527090Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527094Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.527101Z  INFO vyder_core::lexer: Constructing span at line 1, column 5 [INFO] [stdout] 2025-10-02T07:09:05.527102Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527108Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.527113Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527117Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'r' [INFO] [stdout] 2025-10-02T07:09:05.527124Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527125Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'r' [INFO] [stdout] 2025-10-02T07:09:05.527133Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-02T07:09:05.527134Z  INFO vyder_core::parser: Advancing to token index 2: '12' [INFO] [stdout] 2025-10-02T07:09:05.527141Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'e' [INFO] [stdout] 2025-10-02T07:09:05.527142Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-02T07:09:05.527148Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-02T07:09:05.527151Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-02T07:09:05.527155Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 't' [INFO] [stdout] 2025-10-02T07:09:05.527159Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-02T07:09:05.527163Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-02T07:09:05.527166Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-02T07:09:05.527170Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'u' [INFO] [stdout] 2025-10-02T07:09:05.527172Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-02T07:09:05.527177Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-10-02T07:09:05.527179Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.527185Z  INFO vyder_core::lexer: Char at distance 0 from 8 is 'r' [INFO] [stdout] 2025-10-02T07:09:05.527186Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.527192Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-10-02T07:09:05.527193Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.527200Z  INFO vyder_core::lexer: Char at distance 0 from 9 is 'n' [INFO] [stdout] 2025-10-02T07:09:05.527207Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-02T07:09:05.527208Z  INFO vyder_core::parser: Token at distance 0 from 2 is '12' at test 1:7 - 1:8 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-02T07:09:05.527216Z  INFO vyder_core::lexer: Char at distance 0 from 10 is ')' [INFO] [stdout] 2025-10-02T07:09:05.527225Z  INFO vyder_core::lexer: Next token is 'return' [INFO] [stdout] 2025-10-02T07:09:05.527225Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.527237Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-02T07:09:05.527244Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.527242Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.527251Z  INFO vyder_core::lexer: Constructing span at line 1, column 11 [INFO] [stdout] 2025-10-02T07:09:05.527257Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.527259Z  INFO vyder_core::parser: Token at distance 0 from 2 is '12' at test 1:7 - 1:8 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-02T07:09:05.527266Z  INFO vyder_core::lexer: Char at distance 0 from 10 is ')' [INFO] [stdout] 2025-10-02T07:09:05.527268Z  INFO vyder_core::parser: Advancing to token index 3: 'or' [INFO] [stdout] 2025-10-02T07:09:05.527274Z  INFO vyder_core::lexer: Next token is ')' [INFO] [stdout] 2025-10-02T07:09:05.527281Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-02T07:09:05.527283Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-02T07:09:05.527290Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.527294Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-02T07:09:05.527296Z  INFO vyder_core::lexer: Constructing span at line 1, column 12 [INFO] [stdout] 2025-10-02T07:09:05.527303Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.527306Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-02T07:09:05.527312Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-10-02T07:09:05.527317Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-02T07:09:05.527319Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-10-02T07:09:05.527333Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-02T07:09:05.527347Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-02T07:09:05.527358Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-02T07:09:05.527366Z  INFO vyder_core::parser: Advancing to token index 4: '3' [INFO] [stdout] 2025-10-02T07:09:05.527373Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-02T07:09:05.527380Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-02T07:09:05.527387Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-02T07:09:05.527394Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-02T07:09:05.527400Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.527407Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.527433Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.527447Z  INFO vyder_core::parser: Token at distance 0 from 4 is '3' at test 1:13 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527463Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.527484Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.527499Z  INFO vyder_core::parser: Token at distance 0 from 4 is '3' at test 1:13 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527508Z  INFO vyder_core::parser: Advancing to token index 5: ';' [INFO] [stdout] 2025-10-02T07:09:05.527520Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527534Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527546Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527555Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527567Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527577Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527587Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527610Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527622Z  INFO vyder_core::parser: Parsed expression ''Assignment' at test 1:1 - 1:13 (13 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.527642Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527653Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.527661Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-02T07:09:05.527682Z  INFO vyder_core::parser: Advancing to token index 6: 'EOF' [INFO] [stdout] 2025-10-02T07:09:05.527689Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-02T07:09:05.527697Z  INFO vyder_core::parser: parsed statement ''Assignment;' at test 1:1 - 1:14 (14 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.527724Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-02T07:09:05.527732Z  INFO vyder_core::parser: Token at distance 0 from 6 is None [INFO] [stdout] 2025-10-02T07:09:05.527843Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-10-02T07:09:05.527864Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.527872Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-10-02T07:09:05.527886Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.527896Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-10-02T07:09:05.527903Z  INFO vyder_core::lexer: Char at distance 1 from 0 is '=' [INFO] [stdout] 2025-10-02T07:09:05.527910Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-02T07:09:05.527917Z  INFO vyder_core::lexer: Next token is '+=' [INFO] [stdout] 2025-10-02T07:09:05.527940Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-02T07:09:05.527947Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.527954Z  INFO vyder_core::lexer: Constructing span at line 1, column 3 [INFO] [stdout] 2025-10-02T07:09:05.527961Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.528372Z  INFO vyder_core::lexer: Char at distance 0 from 2 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-10-02T07:09:05.528451Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.528491Z  INFO vyder_core::lexer: Constructing span at line 2, column 1 [INFO] [stdout] 2025-10-02T07:09:05.528520Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-02T07:09:05.528572Z  INFO vyder_core::lexer: Char at distance 0 from 3 is '-' [INFO] [stdout] 2025-10-02T07:09:05.528466Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '2' [INFO] [stdout] 2025-10-02T07:09:05.528651Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-02T07:09:05.528706Z  INFO vyder_core::lexer: Char at distance 0 from 2 is '.' [INFO] [stdout] 2025-10-02T07:09:05.528758Z  INFO vyder_core::lexer: Char at distance 1 from 2 is '5' [INFO] [stdout] 2025-10-02T07:09:05.528787Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-02T07:09:05.528837Z  INFO vyder_core::lexer: Char at distance 0 from 3 is '5' [INFO] [stdout] 2025-10-02T07:09:05.528877Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-02T07:09:05.528916Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '.' [INFO] [stdout] 2025-10-02T07:09:05.528966Z  INFO vyder_core::lexer: Next token is '12.5' [INFO] [stdout] 2025-10-02T07:09:05.529022Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-02T07:09:05.529064Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.529096Z  INFO vyder_core::lexer: Constructing span at line 1, column 5 [INFO] [stdout] 2025-10-02T07:09:05.529126Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.529159Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '.' [INFO] [stdout] 2025-10-02T07:09:05.529189Z  INFO vyder_core::lexer: Char at distance 1 from 4 is 'f' [INFO] [stdout] 2025-10-02T07:09:05.529216Z  INFO vyder_core::lexer: Next token is '.' [INFO] [stdout] 2025-10-02T07:09:05.529248Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-02T07:09:05.529282Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.529309Z  INFO vyder_core::lexer: Constructing span at line 1, column 6 [INFO] [stdout] 2025-10-02T07:09:05.529346Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.529376Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'f' [INFO] [stdout] 2025-10-02T07:09:05.529406Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'f' [INFO] [stdout] 2025-10-02T07:09:05.529469Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-02T07:09:05.529499Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'o' [INFO] [stdout] 2025-10-02T07:09:05.529526Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-02T07:09:05.529553Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'o' [INFO] [stdout] 2025-10-02T07:09:05.529577Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-10-02T07:09:05.529601Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-10-02T07:09:05.529626Z  INFO vyder_core::lexer: Next token is 'foo' [INFO] [stdout] 2025-10-02T07:09:05.529670Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-10-02T07:09:05.529705Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.529729Z  INFO vyder_core::lexer: Constructing span at line 1, column 9 [INFO] [stdout] 2025-10-02T07:09:05.529751Z  INFO vyder_core::interpreter: evaluating 'not' [INFO] [stdout] test lexer::tests::comments_test ... ok [INFO] [stdout] 2025-10-02T07:09:05.528985Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-02T07:09:05.531385Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.531409Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-02T07:09:05.531461Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-02T07:09:05.531471Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-02T07:09:05.531482Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-02T07:09:05.531497Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-02T07:09:05.531508Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.531520Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.531532Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.531547Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.531577Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.531653Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.531680Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.531691Z  INFO vyder_core::parser: Advancing to token index 1: '(' [INFO] [stdout] 2025-10-02T07:09:05.531705Z  INFO vyder_core::parser: Token at distance 0 from 1 is '(' at test 1:4 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.531712Z  INFO vyder_core::parser: Advancing to token index 2: 'bar' [INFO] [stdout] 2025-10-02T07:09:05.531724Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.531733Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-02T07:09:05.531741Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-02T07:09:05.531748Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-02T07:09:05.531754Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-02T07:09:05.531761Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-02T07:09:05.531768Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.531775Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.531781Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.531793Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.531809Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.531870Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.531884Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.531893Z  INFO vyder_core::parser: Advancing to token index 3: '(' [INFO] [stdout] 2025-10-02T07:09:05.531904Z  INFO vyder_core::parser: Token at distance 0 from 3 is '(' at test 1:8 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.531912Z  INFO vyder_core::parser: Advancing to token index 4: ')' [INFO] [stdout] 2025-10-02T07:09:05.531923Z  INFO vyder_core::parser: Token at distance 0 from 4 is ')' at test 1:13 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.531931Z  INFO vyder_core::parser: Advancing to token index 5: ')' [INFO] [stdout] 2025-10-02T07:09:05.531943Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.531954Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.531965Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.531977Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.531991Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532002Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532014Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532025Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532033Z  INFO vyder_core::parser: Parsed expression ''Call(bar)' at test 1:5 - 1:13 (9 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^^^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.532058Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532074Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532083Z  INFO vyder_core::parser: Advancing to token index 6: ';' [INFO] [stdout] 2025-10-02T07:09:05.532094Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532195Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532212Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532223Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532237Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532248Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532259Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532270Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532279Z  INFO vyder_core::parser: Parsed expression ''Call(foo)' at test 1:1 - 1:14 (14 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.532299Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532309Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532317Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-02T07:09:05.532328Z  INFO vyder_core::parser: Advancing to token index 7: 'EOF' [INFO] [stdout] 2025-10-02T07:09:05.532335Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-02T07:09:05.532343Z  INFO vyder_core::parser: parsed statement ''Call(foo);' at test 1:1 - 1:15 (15 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.532359Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-02T07:09:05.532366Z  INFO vyder_core::parser: Token at distance 0 from 7 is None [INFO] [stdout] 2025-10-02T07:09:05.529763Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.532460Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-10-02T07:09:05.532482Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-10-02T07:09:05.532490Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.532497Z  INFO vyder_core::lexer: Constructing span at line 1, column 10 [INFO] [stdout] 2025-10-02T07:09:05.532504Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.530456Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-02T07:09:05.532513Z  INFO vyder_core::lexer: Char at distance 0 from 9 is '1' [INFO] [stdout] 2025-10-02T07:09:05.532521Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2025-10-02T07:09:05.532529Z  INFO vyder_core::lexer: Char at distance 0 from 9 is '1' [INFO] [stdout] 2025-10-02T07:09:05.532536Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-02T07:09:05.532538Z  INFO vyder_core::parser: Token at distance 0 from 0 is '!' at test 1:1 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532543Z  INFO vyder_core::lexer: Char at distance 0 from 10 is '2' [INFO] [stdout] 2025-10-02T07:09:05.532551Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-02T07:09:05.532559Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-10-02T07:09:05.532558Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-02T07:09:05.532567Z  INFO vyder_core::lexer: Next token is '12' [INFO] [stdout] 2025-10-02T07:09:05.532572Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-02T07:09:05.532579Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-02T07:09:05.532585Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.532586Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-02T07:09:05.532592Z  INFO vyder_core::lexer: Constructing span at line 1, column 12 [INFO] [stdout] 2025-10-02T07:09:05.532598Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-02T07:09:05.532602Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-02T07:09:05.532611Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-10-02T07:09:05.532610Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-02T07:09:05.532617Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-10-02T07:09:05.532625Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.532637Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.532649Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.532663Z  INFO vyder_core::parser: Token at distance 0 from 0 is '!' at test 1:1 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532686Z  INFO vyder_core::parser: Advancing to token index 1: '-' [INFO] [stdout] 2025-10-02T07:09:05.532705Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.532720Z  INFO vyder_core::parser: Token at distance 0 from 1 is '-' at test 1:2 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532728Z  INFO vyder_core::parser: Advancing to token index 2: 'foo' [INFO] [stdout] 2025-10-02T07:09:05.532734Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.532749Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'foo' at test 1:3 - 1:5 (3 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.532782Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.532850Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.532866Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'foo' at test 1:3 - 1:5 (3 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.532874Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-10-02T07:09:05.532885Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532904Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532914Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532924Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532937Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532947Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532957Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532968Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532975Z  INFO vyder_core::parser: Parsed expression ''Not' at test 1:1 - 1:5 (5 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.532990Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.532999Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.533008Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-02T07:09:05.533019Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-10-02T07:09:05.533026Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-02T07:09:05.533033Z  INFO vyder_core::parser: parsed statement ''Not;' at test 1:1 - 1:6 (6 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.533047Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-02T07:09:05.533054Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] 2025-10-02T07:09:05.533355Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-02T07:09:05.533390Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.533405Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-02T07:09:05.533449Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-02T07:09:05.533466Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-02T07:09:05.533479Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-02T07:09:05.533492Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-02T07:09:05.533601Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.533615Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.533628Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.533644Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.533683Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.533759Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.533779Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-02T07:09:05.533790Z  INFO vyder_core::parser: Advancing to token index 1: '=' [INFO] [stdout] 2025-10-02T07:09:05.533802Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.533813Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.533824Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.533834Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.533849Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.533860Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.533870Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.533884Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.533892Z  INFO vyder_core::parser: Advancing to token index 2: '(' [INFO] [stdout] 2025-10-02T07:09:05.533899Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-02T07:09:05.533906Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-02T07:09:05.533913Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-02T07:09:05.533919Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-02T07:09:05.533925Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-02T07:09:05.533931Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.533937Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.533944Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.533956Z  INFO vyder_core::parser: Token at distance 0 from 2 is '(' at test 1:7 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.533972Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.533986Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.533999Z  INFO vyder_core::parser: Token at distance 0 from 2 is '(' at test 1:7 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.534008Z  INFO vyder_core::parser: Advancing to token index 3: 'import' [INFO] [stdout] 2025-10-02T07:09:05.534026Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-02T07:09:05.534043Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-02T07:09:05.534055Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-02T07:09:05.534069Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-02T07:09:05.534085Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-02T07:09:05.534098Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.534114Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.534124Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.534144Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'import' at test 1:8 - 1:13 (6 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^ here [INFO] [stdout] 2025-10-02T07:09:05.534171Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.534248Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.534267Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'import' at test 1:8 - 1:13 (6 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^ here [INFO] [stdout] 2025-10-02T07:09:05.534276Z  INFO vyder_core::parser: Advancing to token index 4: '(' [INFO] [stdout] 2025-10-02T07:09:05.534288Z  INFO vyder_core::parser: Token at distance 0 from 4 is '(' at test 1:14 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.534296Z  INFO vyder_core::parser: Advancing to token index 5: '"std"' [INFO] [stdout] 2025-10-02T07:09:05.534308Z  INFO vyder_core::parser: Token at distance 0 from 5 is '"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here [INFO] [stdout] 2025-10-02T07:09:05.534319Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-02T07:09:05.534327Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-02T07:09:05.534333Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-02T07:09:05.534340Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-02T07:09:05.534347Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-02T07:09:05.534355Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.534362Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.534369Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.534384Z  INFO vyder_core::parser: Token at distance 0 from 5 is '"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here [INFO] [stdout] 2025-10-02T07:09:05.534400Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.528740Z  INFO vyder_core::lexer: Char at distance 1 from 3 is '-' [INFO] [stdout] 2025-10-02T07:09:05.534456Z  INFO vyder_core::lexer: Char at distance 1 from 3 is '-' [INFO] [stdout] 2025-10-02T07:09:05.534468Z  INFO vyder_core::lexer: Next token is '-' [INFO] [stdout] 2025-10-02T07:09:05.534480Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-02T07:09:05.534487Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.534494Z  INFO vyder_core::lexer: Constructing span at line 2, column 2 [INFO] [stdout] 2025-10-02T07:09:05.534501Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-02T07:09:05.534512Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '-' [INFO] [stdout] 2025-10-02T07:09:05.534521Z  INFO vyder_core::lexer: Char at distance 1 from 4 is ' ' [INFO] [stdout] 2025-10-02T07:09:05.534529Z  INFO vyder_core::lexer: Char at distance 1 from 4 is ' ' [INFO] [stdout] 2025-10-02T07:09:05.534536Z  INFO vyder_core::lexer: Next token is '-' [INFO] [stdout] 2025-10-02T07:09:05.534546Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-02T07:09:05.534554Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.534561Z  INFO vyder_core::lexer: Constructing span at line 2, column 3 [INFO] [stdout] 2025-10-02T07:09:05.534568Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-02T07:09:05.534576Z  INFO vyder_core::lexer: Char at distance 0 from 5 is ' ' [INFO] [stdout] 2025-10-02T07:09:05.534583Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-02T07:09:05.534590Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.534596Z  INFO vyder_core::lexer: Constructing span at line 2, column 4 [INFO] [stdout] 2025-10-02T07:09:05.534603Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-02T07:09:05.534611Z  INFO vyder_core::lexer: Char at distance 0 from 6 is '/' [INFO] [stdout] 2025-10-02T07:09:05.534626Z  INFO vyder_core::lexer: Char at distance 1 from 6 is 'None' [INFO] [stdout] 2025-10-02T07:09:05.534633Z  INFO vyder_core::lexer: Char at distance 1 from 6 is 'None' [INFO] [stdout] 2025-10-02T07:09:05.534641Z  INFO vyder_core::lexer: Next token is '/' [INFO] [stdout] 2025-10-02T07:09:05.534654Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-02T07:09:05.534661Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-02T07:09:05.534679Z  INFO vyder_core::lexer: Constructing span at line 2, column 5 [INFO] [stdout] 2025-10-02T07:09:05.534687Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-02T07:09:05.534698Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'None' [INFO] [stdout] 2025-10-02T07:09:05.534706Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-10-02T07:09:05.534868Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.534987Z  INFO vyder_core::parser: Token at distance 0 from 5 is '"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here [INFO] [stdout] 2025-10-02T07:09:05.535008Z  INFO vyder_core::parser: Advancing to token index 6: ')' [INFO] [stdout] 2025-10-02T07:09:05.535020Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535031Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535042Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535054Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535069Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535080Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535090Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535102Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535109Z  INFO vyder_core::parser: Parsed expression ''"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.535140Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535157Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535166Z  INFO vyder_core::parser: Advancing to token index 7: '.' [INFO] [stdout] 2025-10-02T07:09:05.535178Z  INFO vyder_core::parser: Token at distance 0 from 7 is '.' at test 1:21 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535186Z  INFO vyder_core::parser: Advancing to token index 8: 'argc' [INFO] [stdout] 2025-10-02T07:09:05.535200Z  INFO vyder_core::parser: Token at distance 0 from 8 is 'argc' at test 1:22 - 1:25 (4 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^ here [INFO] [stdout] 2025-10-02T07:09:05.535210Z  INFO vyder_core::parser: Advancing to token index 9: '+' [INFO] [stdout] 2025-10-02T07:09:05.535226Z  INFO vyder_core::parser: Token at distance 0 from 9 is '+' at test 1:27 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535233Z  INFO vyder_core::parser: ending branch for field access at token Some(Token { value: Plus(Plus), span: Span { start_location: Location { line: 1, column: 27, char_index: 26 }, end_location: None, module_name: "test", snippet: Some("foo = (import('std').argc + 2) + 2;") } }) [INFO] [stdout] 2025-10-02T07:09:05.535253Z  INFO vyder_core::parser: Token at distance 0 from 9 is '+' at test 1:27 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535266Z  INFO vyder_core::parser: Token at distance 0 from 9 is '+' at test 1:27 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535278Z  INFO vyder_core::parser: Token at distance 0 from 9 is '+' at test 1:27 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535287Z  INFO vyder_core::parser: Advancing to token index 10: '2' [INFO] [stdout] 2025-10-02T07:09:05.535294Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.535301Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.535308Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.535321Z  INFO vyder_core::parser: Token at distance 0 from 10 is '2' at test 1:29 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535337Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.535345Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.535358Z  INFO vyder_core::parser: Token at distance 0 from 10 is '2' at test 1:29 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535368Z  INFO vyder_core::parser: Advancing to token index 11: ')' [INFO] [stdout] 2025-10-02T07:09:05.535381Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535393Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535406Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535444Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535463Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535479Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535492Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535504Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535512Z  INFO vyder_core::parser: Parsed expression ''Addition' at test 1:8 - 1:29 (22 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^^^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.535535Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535544Z  INFO vyder_core::parser: Advancing to token index 12: '+' [INFO] [stdout] 2025-10-02T07:09:05.535558Z  INFO vyder_core::parser: Token at distance 0 from 12 is '+' at test 1:32 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535571Z  INFO vyder_core::parser: Token at distance 0 from 12 is '+' at test 1:32 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535585Z  INFO vyder_core::parser: Token at distance 0 from 12 is '+' at test 1:32 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535594Z  INFO vyder_core::parser: Advancing to token index 13: '2' [INFO] [stdout] 2025-10-02T07:09:05.535601Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-02T07:09:05.535608Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-02T07:09:05.535615Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-02T07:09:05.535629Z  INFO vyder_core::parser: Token at distance 0 from 13 is '2' at test 1:34 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535645Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-02T07:09:05.535654Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-02T07:09:05.535692Z  INFO vyder_core::parser: Token at distance 0 from 13 is '2' at test 1:34 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535704Z  INFO vyder_core::parser: Advancing to token index 14: ';' [INFO] [stdout] 2025-10-02T07:09:05.535719Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535732Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535743Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535758Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535774Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535787Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535799Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535811Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535822Z  INFO vyder_core::parser: Parsed expression ''Assignment' at test 1:1 - 1:34 (34 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.535848Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535861Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-02T07:09:05.535869Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-02T07:09:05.535880Z  INFO vyder_core::parser: Advancing to token index 15: 'EOF' [INFO] [stdout] 2025-10-02T07:09:05.535888Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-02T07:09:05.535897Z  INFO vyder_core::parser: parsed statement ''Assignment;' at test 1:1 - 1:35 (35 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-02T07:09:05.535919Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-02T07:09:05.535927Z  INFO vyder_core::parser: Token at distance 0 from 15 is None [INFO] [stdout] test token::tests::expect_test ... ok [INFO] [stdout] test lexer::tests::strings_test ... ok [INFO] [stdout] test parser::tests::index_test ... ok [INFO] [stdout] test parser::tests::field_access_test ... ok [INFO] [stdout] test parser::tests::ranges_test ... ok [INFO] [stdout] test lexer::tests::identifiers_test ... ok [INFO] [stdout] test parser::tests::assignment_test ... ok [INFO] [stdout] test interpreter::tests::not_test ... ok [INFO] [stdout] test interpreter::tests::number_test ... ok [INFO] [stdout] test interpreter::tests::group_test ... ok [INFO] [stdout] test parser::tests::calls_test ... ok [INFO] [stdout] test lexer::tests::numbers_test ... ok [INFO] [stdout] test parser::tests::unary_test ... ok [INFO] [stdout] test lexer::tests::operators_test ... ok [INFO] [stdout] test parser::tests::import_test ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [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] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test src/statement/mod.rs - statement::Statement::expect (line 23) ... ok [INFO] [stdout] test src/token/mod.rs - token::Token::expect (line 22) ... ok [INFO] [stdout] test src/expression/mod.rs - expression::Expression::expect (line 23) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "510727bc93ab1b58592209b48bd779edaa2146d92a414e6e0a126e7f84580d8f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "510727bc93ab1b58592209b48bd779edaa2146d92a414e6e0a126e7f84580d8f", kill_on_drop: false }` [INFO] [stdout] 510727bc93ab1b58592209b48bd779edaa2146d92a414e6e0a126e7f84580d8f