[INFO] fetching crate vyder_core 0.3.4... [INFO] testing vyder_core-0.3.4 against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-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 b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "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" "+b83b707f97d809763b7861afa7638871f3339a33" "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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2c302fdaec5bc47385f7bc0dc5f1e93449f14fca29fe8e2a703fb94b4a95dd19 [INFO] running `Command { std: "docker" "start" "-a" "2c302fdaec5bc47385f7bc0dc5f1e93449f14fca29fe8e2a703fb94b4a95dd19", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2c302fdaec5bc47385f7bc0dc5f1e93449f14fca29fe8e2a703fb94b4a95dd19", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2c302fdaec5bc47385f7bc0dc5f1e93449f14fca29fe8e2a703fb94b4a95dd19", kill_on_drop: false }` [INFO] [stdout] 2c302fdaec5bc47385f7bc0dc5f1e93449f14fca29fe8e2a703fb94b4a95dd19 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1ac3f9397a8cdbe6c9b7e555147f6429963216eaccedcccdcf00fcd5842a8d39 [INFO] running `Command { std: "docker" "start" "-a" "1ac3f9397a8cdbe6c9b7e555147f6429963216eaccedcccdcf00fcd5842a8d39", kill_on_drop: false }` [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.0 [INFO] [stderr] Compiling anstyle-query v1.1.0 [INFO] [stderr] Compiling anstyle v1.0.7 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling anstyle-parse v0.2.4 [INFO] [stderr] Compiling colorchoice v1.0.1 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling clap_lex v0.7.1 [INFO] [stderr] Compiling colored v2.1.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 tracing-log v0.2.0 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Compiling regex-automata v0.4.7 [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 11.52s [INFO] running `Command { std: "docker" "inspect" "1ac3f9397a8cdbe6c9b7e555147f6429963216eaccedcccdcf00fcd5842a8d39", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1ac3f9397a8cdbe6c9b7e555147f6429963216eaccedcccdcf00fcd5842a8d39", kill_on_drop: false }` [INFO] [stdout] 1ac3f9397a8cdbe6c9b7e555147f6429963216eaccedcccdcf00fcd5842a8d39 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7894cf91b4f941b27dcf62864c7196f024565dde2d5643aa186c1a2771242efd [INFO] running `Command { std: "docker" "start" "-a" "7894cf91b4f941b27dcf62864c7196f024565dde2d5643aa186c1a2771242efd", kill_on_drop: false }` [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] [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.75s [INFO] running `Command { std: "docker" "inspect" "7894cf91b4f941b27dcf62864c7196f024565dde2d5643aa186c1a2771242efd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7894cf91b4f941b27dcf62864c7196f024565dde2d5643aa186c1a2771242efd", kill_on_drop: false }` [INFO] [stdout] 7894cf91b4f941b27dcf62864c7196f024565dde2d5643aa186c1a2771242efd [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2f2150e2e17b9437287d2e3238fa529f77565d142f72fcd896bbde882fee5a25 [INFO] running `Command { std: "docker" "start" "-a" "2f2150e2e17b9437287d2e3238fa529f77565d142f72fcd896bbde882fee5a25", 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.10s [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 expression::tests::expect_test ... ok [INFO] [stdout] test environment::tests::environments_test ... ok [INFO] [stdout] 2025-09-01T12:55:41.195517Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-09-01T12:55:41.195563Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '#' [INFO] [stdout] 2025-09-01T12:55:41.195863Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:41.195920Z  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-09-01T12:55:41.195938Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:41.195952Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:41.195970Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:41.195984Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:41.195998Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:41.196037Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.196054Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.196069Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.196081Z  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-09-01T12:55:41.196174Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-09-01T12:55:41.196187Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.196197Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.196205Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-09-01T12:55:41.196212Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.196221Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-09-01T12:55:41.196228Z  INFO vyder_core::lexer: Char at distance 1 from 0 is '"' [INFO] [stdout] 2025-09-01T12:55:41.196236Z  INFO vyder_core::lexer: Next token is '+' [INFO] [stdout] 2025-09-01T12:55:41.196257Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-09-01T12:55:41.196265Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.196266Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.196271Z  INFO vyder_core::lexer: Constructing span at line 1, column 2 [INFO] [stdout] 2025-09-01T12:55:41.196278Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.196281Z  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-09-01T12:55:41.196286Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '"' [INFO] [stdout] 2025-09-01T12:55:41.196295Z  INFO vyder_core::parser: Advancing to token index 1: '..' [INFO] [stdout] 2025-09-01T12:55:41.196301Z  INFO vyder_core::lexer: get_string function [INFO] [stdout] 2025-09-01T12:55:41.196308Z  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-09-01T12:55:41.196308Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-09-01T12:55:41.196317Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'H' [INFO] [stdout] 2025-09-01T12:55:41.196319Z  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-09-01T12:55:41.196325Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-09-01T12:55:41.196330Z  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-09-01T12:55:41.196333Z  INFO vyder_core::lexer: Char at distance 0 from 3 is 'e' [INFO] [stdout] 2025-09-01T12:55:41.196340Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-09-01T12:55:41.196340Z  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-09-01T12:55:41.196347Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'l' [INFO] [stdout] 2025-09-01T12:55:41.196349Z  INFO vyder_core::parser: Advancing to token index 2: '3' [INFO] [stdout] 2025-09-01T12:55:41.196354Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-09-01T12:55:41.196357Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.196362Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'l' [INFO] [stdout] 2025-09-01T12:55:41.196363Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.196368Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-09-01T12:55:41.196370Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.196375Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'o' [INFO] [stdout] 2025-09-01T12:55:41.196381Z  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-09-01T12:55:41.196382Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-09-01T12:55:41.196390Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ',' [INFO] [stdout] 2025-09-01T12:55:41.196395Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.196396Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-09-01T12:55:41.196402Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.196404Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-09-01T12:55:41.196410Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-09-01T12:55:41.196411Z  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-09-01T12:55:41.196417Z  INFO vyder_core::lexer: Char at distance 0 from 9 is 'W' [INFO] [stdout] 2025-09-01T12:55:41.196420Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-09-01T12:55:41.196424Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-09-01T12:55:41.196431Z  INFO vyder_core::lexer: Char at distance 0 from 10 is 'o' [INFO] [stdout] 2025-09-01T12:55:41.196430Z  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-09-01T12:55:41.196437Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-09-01T12:55:41.196442Z  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-09-01T12:55:41.196444Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'r' [INFO] [stdout] 2025-09-01T12:55:41.196451Z  INFO vyder_core::lexer: Advancing to char index 12 [INFO] [stdout] 2025-09-01T12:55:41.196453Z  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-09-01T12:55:41.196458Z  INFO vyder_core::lexer: Char at distance 0 from 12 is 'l' [INFO] [stdout] 2025-09-01T12:55:41.196464Z  INFO vyder_core::lexer: Advancing to char index 13 [INFO] [stdout] 2025-09-01T12:55:41.196470Z  INFO vyder_core::lexer: Char at distance 0 from 13 is 'd' [INFO] [stdout] 2025-09-01T12:55:41.196471Z  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-09-01T12:55:41.196476Z  INFO vyder_core::lexer: Advancing to char index 14 [INFO] [stdout] 2025-09-01T12:55:41.196482Z  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-09-01T12:55:41.196483Z  INFO vyder_core::lexer: Char at distance 0 from 14 is '!' [INFO] [stdout] 2025-09-01T12:55:41.196491Z  INFO vyder_core::lexer: Advancing to char index 15 [INFO] [stdout] 2025-09-01T12:55:41.196493Z  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-09-01T12:55:41.196498Z  INFO vyder_core::lexer: Char at distance 0 from 15 is '"' [INFO] [stdout] 2025-09-01T12:55:41.196503Z  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-09-01T12:55:41.196505Z  INFO vyder_core::lexer: Next token is '"Hello, World!"' [INFO] [stdout] 2025-09-01T12:55:41.196516Z  INFO vyder_core::lexer: Advancing to char index 16 [INFO] [stdout] 2025-09-01T12:55:41.196522Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.196518Z  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-09-01T12:55:41.196527Z  INFO vyder_core::lexer: Constructing span at line 1, column 17 [INFO] [stdout] 2025-09-01T12:55:41.196534Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.196534Z  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-09-01T12:55:41.196541Z  INFO vyder_core::lexer: Char at distance 0 from 16 is ''' [INFO] [stdout] 2025-09-01T12:55:41.196544Z  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-09-01T12:55:41.196548Z  INFO vyder_core::lexer: get_string function [INFO] [stdout] 2025-09-01T12:55:41.196554Z  INFO vyder_core::lexer: Advancing to char index 17 [INFO] [stdout] 2025-09-01T12:55:41.196556Z  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-09-01T12:55:41.196560Z  INFO vyder_core::lexer: Char at distance 0 from 17 is 'f' [INFO] [stdout] 2025-09-01T12:55:41.196566Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-09-01T12:55:41.196568Z  INFO vyder_core::lexer: Advancing to char index 18 [INFO] [stdout] 2025-09-01T12:55:41.196576Z  INFO vyder_core::lexer: Char at distance 0 from 18 is 'o' [INFO] [stdout] 2025-09-01T12:55:41.196578Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-09-01T12:55:41.196583Z  INFO vyder_core::lexer: Advancing to char index 19 [INFO] [stdout] 2025-09-01T12:55:41.196590Z  INFO vyder_core::lexer: Char at distance 0 from 19 is 'o' [INFO] [stdout] 2025-09-01T12:55:41.196590Z  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-09-01T12:55:41.196596Z  INFO vyder_core::lexer: Advancing to char index 20 [INFO] [stdout] 2025-09-01T12:55:41.196603Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:41.196605Z  INFO vyder_core::lexer: Char at distance 0 from 20 is '\' [INFO] [stdout] 2025-09-01T12:55:41.196610Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] 2025-09-01T12:55:41.196613Z  INFO vyder_core::lexer: Char at distance 1 from 20 is 't' [INFO] [stdout] 2025-09-01T12:55:41.196626Z  INFO vyder_core::lexer: Advancing to char index 21 without increasing column [INFO] [stdout] 2025-09-01T12:55:41.196632Z  INFO vyder_core::lexer: Advancing to char index 22 [INFO] [stdout] 2025-09-01T12:55:41.196639Z  INFO vyder_core::lexer: Char at distance 0 from 22 is ''' [INFO] [stdout] 2025-09-01T12:55:41.196645Z  INFO vyder_core::lexer: Next token is '"foo "' [INFO] [stdout] 2025-09-01T12:55:41.196654Z  INFO vyder_core::lexer: Advancing to char index 23 [INFO] [stdout] 2025-09-01T12:55:41.196661Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.196666Z  INFO vyder_core::lexer: Constructing span at line 1, column 23 [INFO] [stdout] 2025-09-01T12:55:41.196675Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.196683Z  INFO vyder_core::lexer: Char at distance 0 from 23 is '(' [INFO] [stdout] 2025-09-01T12:55:41.196689Z  INFO vyder_core::lexer: Next token is '(' [INFO] [stdout] 2025-09-01T12:55:41.196698Z  INFO vyder_core::lexer: Advancing to char index 24 [INFO] [stdout] 2025-09-01T12:55:41.196717Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.196723Z  INFO vyder_core::lexer: Constructing span at line 1, column 24 [INFO] [stdout] 2025-09-01T12:55:41.196719Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-09-01T12:55:41.196728Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.196735Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '!' [INFO] [stdout] 2025-09-01T12:55:41.196737Z  INFO vyder_core::lexer: Char at distance 0 from 24 is 'None' [INFO] [stdout] 2025-09-01T12:55:41.196743Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-09-01T12:55:41.196744Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-09-01T12:55:41.196750Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'v' [INFO] [stdout] 2025-09-01T12:55:41.196756Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-09-01T12:55:41.196762Z  INFO vyder_core::lexer: Char at distance 0 from 3 is 'y' [INFO] [stdout] 2025-09-01T12:55:41.196768Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-09-01T12:55:41.196774Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'd' [INFO] [stdout] 2025-09-01T12:55:41.196789Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-09-01T12:55:41.196797Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'e' [INFO] [stdout] 2025-09-01T12:55:41.196802Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-09-01T12:55:41.196809Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'r' [INFO] [stdout] test parser::tests::ranges_test ... 2025-09-01T12:55:41.196815Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] ok [INFO] [stdout] 2025-09-01T12:55:41.196822Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-09-01T12:55:41.196835Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.196841Z  INFO vyder_core::lexer: Constructing span at line 1, column 8 [INFO] [stdout] 2025-09-01T12:55:41.196848Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.196858Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-09-01T12:55:41.196865Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.196871Z  INFO vyder_core::lexer: Constructing span at line 2, column 1 [INFO] [stdout] 2025-09-01T12:55:41.196876Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:41.196884Z  INFO vyder_core::lexer: Char at distance 0 from 8 is '+' [INFO] [stdout] 2025-09-01T12:55:41.196891Z  INFO vyder_core::lexer: Char at distance 1 from 8 is ' ' [INFO] [stdout] 2025-09-01T12:55:41.196898Z  INFO vyder_core::lexer: Next token is '+' [INFO] [stdout] 2025-09-01T12:55:41.196909Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-09-01T12:55:41.196915Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.196920Z  INFO vyder_core::lexer: Constructing span at line 2, column 2 [INFO] [stdout] 2025-09-01T12:55:41.196926Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:41.196934Z  INFO vyder_core::lexer: Char at distance 0 from 9 is ' ' [INFO] [stdout] 2025-09-01T12:55:41.196941Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-09-01T12:55:41.196948Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.196954Z  INFO vyder_core::lexer: Constructing span at line 2, column 3 [INFO] [stdout] 2025-09-01T12:55:41.196972Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:41.196980Z  INFO vyder_core::lexer: Char at distance 0 from 10 is '/' [INFO] [stdout] 2025-09-01T12:55:41.196987Z  INFO vyder_core::lexer: Char at distance 1 from 10 is '/' [INFO] [stdout] 2025-09-01T12:55:41.196994Z  INFO vyder_core::lexer: Char at distance 1 from 10 is '/' [INFO] [stdout] 2025-09-01T12:55:41.197000Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-09-01T12:55:41.197021Z  INFO vyder_core::lexer: Char at distance 1 from 11 is ' ' [INFO] [stdout] 2025-09-01T12:55:41.197028Z  INFO vyder_core::lexer: Advancing to char index 12 [INFO] [stdout] 2025-09-01T12:55:41.197035Z  INFO vyder_core::lexer: Char at distance 1 from 12 is 't' [INFO] [stdout] 2025-09-01T12:55:41.197041Z  INFO vyder_core::lexer: Advancing to char index 13 [INFO] [stdout] 2025-09-01T12:55:41.197047Z  INFO vyder_core::lexer: Char at distance 1 from 13 is 'e' [INFO] [stdout] 2025-09-01T12:55:41.197053Z  INFO vyder_core::lexer: Advancing to char index 14 [INFO] [stdout] 2025-09-01T12:55:41.197060Z  INFO vyder_core::lexer: Char at distance 1 from 14 is 's' [INFO] [stdout] 2025-09-01T12:55:41.197066Z  INFO vyder_core::lexer: Advancing to char index 15 [INFO] [stdout] 2025-09-01T12:55:41.197072Z  INFO vyder_core::lexer: Char at distance 1 from 15 is 't' [INFO] [stdout] 2025-09-01T12:55:41.197078Z  INFO vyder_core::lexer: Advancing to char index 16 [INFO] [stdout] 2025-09-01T12:55:41.197085Z  INFO vyder_core::lexer: Char at distance 1 from 16 is ' ' [INFO] [stdout] 2025-09-01T12:55:41.197101Z  INFO vyder_core::lexer: Advancing to char index 17 [INFO] [stdout] 2025-09-01T12:55:41.197108Z  INFO vyder_core::lexer: Char at distance 1 from 17 is '2' [INFO] [stdout] 2025-09-01T12:55:41.197114Z  INFO vyder_core::lexer: Advancing to char index 18 [INFO] [stdout] 2025-09-01T12:55:41.197121Z  INFO vyder_core::lexer: Char at distance 1 from 18 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-09-01T12:55:41.197127Z  INFO vyder_core::lexer: Advancing to char index 19 [INFO] [stdout] 2025-09-01T12:55:41.197142Z  INFO vyder_core::lexer: Advancing to char index 20 [INFO] [stdout] 2025-09-01T12:55:41.197148Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.197155Z  INFO vyder_core::lexer: Constructing span at line 3, column 1 [INFO] [stdout] 2025-09-01T12:55:41.197173Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-09-01T12:55:41.197182Z  INFO vyder_core::lexer: Char at distance 0 from 20 is '/' [INFO] [stdout] 2025-09-01T12:55:41.197190Z  INFO vyder_core::lexer: Char at distance 1 from 20 is '/' [INFO] [stdout] 2025-09-01T12:55:41.197197Z  INFO vyder_core::lexer: Char at distance 1 from 20 is '/' [INFO] [stdout] 2025-09-01T12:55:41.197203Z  INFO vyder_core::lexer: Advancing to char index 21 [INFO] [stdout] 2025-09-01T12:55:41.197210Z  INFO vyder_core::lexer: Char at distance 1 from 21 is ' ' [INFO] [stdout] 2025-09-01T12:55:41.197223Z  INFO vyder_core::lexer: Advancing to char index 22 [INFO] [stdout] 2025-09-01T12:55:41.197232Z  INFO vyder_core::lexer: Char at distance 1 from 22 is 't' [INFO] [stdout] 2025-09-01T12:55:41.197239Z  INFO vyder_core::lexer: Advancing to char index 23 [INFO] [stdout] 2025-09-01T12:55:41.197247Z  INFO vyder_core::lexer: Char at distance 1 from 23 is 'e' [INFO] [stdout] 2025-09-01T12:55:41.197259Z  INFO vyder_core::lexer: Advancing to char index 24 [INFO] [stdout] 2025-09-01T12:55:41.197266Z  INFO vyder_core::lexer: Char at distance 1 from 24 is 's' [INFO] [stdout] 2025-09-01T12:55:41.197272Z  INFO vyder_core::lexer: Advancing to char index 25 [INFO] [stdout] 2025-09-01T12:55:41.197279Z  INFO vyder_core::lexer: Char at distance 1 from 25 is 't' [INFO] [stdout] 2025-09-01T12:55:41.197290Z  INFO vyder_core::lexer: Advancing to char index 26 [INFO] [stdout] 2025-09-01T12:55:41.197298Z  INFO vyder_core::lexer: Char at distance 1 from 26 is ' ' [INFO] [stdout] 2025-09-01T12:55:41.197304Z  INFO vyder_core::lexer: Advancing to char index 27 [INFO] [stdout] 2025-09-01T12:55:41.197311Z  INFO vyder_core::lexer: Char at distance 1 from 27 is '3' [INFO] [stdout] 2025-09-01T12:55:41.197317Z  INFO vyder_core::lexer: Advancing to char index 28 [INFO] [stdout] 2025-09-01T12:55:41.197325Z  INFO vyder_core::lexer: Char at distance 1 from 28 is 'None' [INFO] [stdout] 2025-09-01T12:55:41.197337Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.197342Z  INFO vyder_core::lexer: Constructing span at line 3, column 9 [INFO] [stdout] 2025-09-01T12:55:41.197348Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-09-01T12:55:41.197358Z  INFO vyder_core::lexer: Char at distance 0 from 28 is '3' [INFO] [stdout] 2025-09-01T12:55:41.197369Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2025-09-01T12:55:41.197377Z  INFO vyder_core::lexer: Char at distance 0 from 28 is '3' [INFO] [stdout] 2025-09-01T12:55:41.197383Z  INFO vyder_core::lexer: Advancing to char index 29 [INFO] [stdout] 2025-09-01T12:55:41.197391Z  INFO vyder_core::lexer: Char at distance 0 from 29 is 'None' [INFO] [stdout] 2025-09-01T12:55:41.197405Z  INFO vyder_core::lexer: Next token is '3' [INFO] [stdout] 2025-09-01T12:55:41.197415Z  INFO vyder_core::lexer: Advancing to char index 29 [INFO] [stdout] 2025-09-01T12:55:41.197421Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.197427Z  INFO vyder_core::lexer: Constructing span at line 3, column 10 [INFO] [stdout] 2025-09-01T12:55:41.197433Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-09-01T12:55:41.197443Z  INFO vyder_core::lexer: Char at distance 0 from 29 is 'None' [INFO] [stdout] 2025-09-01T12:55:41.197457Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] test interpreter::tests::negate_test ... ok [INFO] [stdout] test lexer::tests::strings_test ... ok [INFO] [stdout] test statement::tests::expect_test ... ok [INFO] [stdout] test interpreter::tests::number_test ... ok [INFO] [stdout] test lexer::tests::comments_test ... ok [INFO] [stdout] test token::tests::expect_test ... ok [INFO] [stdout] 2025-09-01T12:55:41.198532Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:41.198573Z  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-09-01T12:55:41.198588Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:41.198600Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:41.198613Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:41.198623Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:41.198634Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:41.198647Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.198657Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.198668Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.198680Z  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-09-01T12:55:41.198713Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.198779Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.198794Z  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-09-01T12:55:41.198803Z  INFO vyder_core::parser: Advancing to token index 1: '.' [INFO] [stdout] 2025-09-01T12:55:41.198815Z  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-09-01T12:55:41.198821Z  INFO vyder_core::parser: Advancing to token index 2: 'bar' [INFO] [stdout] 2025-09-01T12:55:41.198831Z  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-09-01T12:55:41.198839Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-09-01T12:55:41.198858Z  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-09-01T12:55:41.198872Z  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-09-01T12:55:41.198887Z  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-09-01T12:55:41.198899Z  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-09-01T12:55:41.198909Z  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-09-01T12:55:41.198924Z  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-09-01T12:55:41.198938Z  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-09-01T12:55:41.198957Z  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-09-01T12:55:41.198968Z  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-09-01T12:55:41.198977Z  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-09-01T12:55:41.198984Z  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-09-01T12:55:41.199000Z  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-09-01T12:55:41.199028Z  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-09-01T12:55:41.199038Z  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-09-01T12:55:41.199049Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-09-01T12:55:41.199056Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-09-01T12:55:41.199064Z  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-09-01T12:55:41.199079Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:41.199086Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] test parser::tests::field_access_test ... ok [INFO] [stdout] 2025-09-01T12:55:41.199544Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:41.199565Z  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-09-01T12:55:41.199577Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:41.199592Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:41.199603Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:41.199613Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:41.199626Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:41.199637Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.199655Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.199666Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.199677Z  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-09-01T12:55:41.199716Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.199799Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.199812Z  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-09-01T12:55:41.199821Z  INFO vyder_core::parser: Advancing to token index 1: '(' [INFO] [stdout] 2025-09-01T12:55:41.199832Z  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-09-01T12:55:41.199839Z  INFO vyder_core::parser: Advancing to token index 2: 'bar' [INFO] [stdout] 2025-09-01T12:55:41.199850Z  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-09-01T12:55:41.199857Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:41.199864Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:41.199872Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:41.199878Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:41.199885Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:41.199892Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.199899Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.199905Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.199916Z  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-09-01T12:55:41.199932Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.199988Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.200002Z  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-09-01T12:55:41.200029Z  INFO vyder_core::parser: Advancing to token index 3: '(' [INFO] [stdout] 2025-09-01T12:55:41.200043Z  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-09-01T12:55:41.200050Z  INFO vyder_core::parser: Advancing to token index 4: ')' [INFO] [stdout] 2025-09-01T12:55:41.200060Z  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] test interpreter::tests::group_test ... 2025-09-01T12:55:41.200068Z  INFO vyder_core::parser: Advancing to token index 5: ')' [INFO] [stdout] ok2025-09-01T12:55:41.200088Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] [INFO] [stdout] 2025-09-01T12:55:41.200113Z  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-09-01T12:55:41.200126Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:41.200138Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:41.200152Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:41.200170Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:41.200182Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:41.200194Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.200205Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.200215Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.200227Z  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-09-01T12:55:41.200252Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.200319Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.200333Z  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-09-01T12:55:41.200344Z  INFO vyder_core::parser: Advancing to token index 1: '[' [INFO] [stdout] 2025-09-01T12:55:41.200354Z  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-09-01T12:55:41.200362Z  INFO vyder_core::parser: Advancing to token index 2: '1' [INFO] [stdout] 2025-09-01T12:55:41.200368Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:41.200374Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:41.200380Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:41.200386Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:41.200392Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:41.200398Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.200404Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.200410Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.200420Z  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-09-01T12:55:41.200433Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.200488Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.200501Z  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-09-01T12:55:41.200509Z  INFO vyder_core::parser: Advancing to token index 3: ']' [INFO] [stdout] 2025-09-01T12:55:41.200519Z  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-09-01T12:55:41.200531Z  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-09-01T12:55:41.200541Z  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-09-01T12:55:41.200552Z  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-09-01T12:55:41.200566Z  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-09-01T12:55:41.200578Z  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-09-01T12:55:41.200588Z  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-09-01T12:55:41.200598Z  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-09-01T12:55:41.200605Z  INFO vyder_core::parser: Parsed expression ''1' at test 1:5 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-09-01T12:55:41.200618Z  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-09-01T12:55:41.200627Z  INFO vyder_core::parser: Advancing to token index 4: ';' [INFO] [stdout] 2025-09-01T12:55:41.200636Z  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-09-01T12:55:41.200647Z  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-09-01T12:55:41.200658Z  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-09-01T12:55:41.200669Z  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-09-01T12:55:41.200681Z  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-09-01T12:55:41.200692Z  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-09-01T12:55:41.200703Z  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-09-01T12:55:41.200714Z  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-09-01T12:55:41.200721Z  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-09-01T12:55:41.200736Z  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-09-01T12:55:41.200745Z  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-09-01T12:55:41.200752Z  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-09-01T12:55:41.200761Z  INFO vyder_core::parser: Advancing to token index 5: 'EOF' [INFO] [stdout] 2025-09-01T12:55:41.200768Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-09-01T12:55:41.200775Z  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-09-01T12:55:41.200788Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:41.200794Z  INFO vyder_core::parser: Token at distance 0 from 5 is None [INFO] [stdout] 2025-09-01T12:55:41.200937Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.200961Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-09-01T12:55:41.200969Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.200979Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-09-01T12:55:41.200989Z  INFO vyder_core::lexer: Char at distance 1 from 0 is '=' [INFO] [stdout] 2025-09-01T12:55:41.200995Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-09-01T12:55:41.201003Z  INFO vyder_core::lexer: Next token is '+=' [INFO] [stdout] 2025-09-01T12:55:41.201044Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-09-01T12:55:41.201051Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.201057Z  INFO vyder_core::lexer: Constructing span at line 1, column 3 [INFO] [stdout] 2025-09-01T12:55:41.201064Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.201072Z  INFO vyder_core::lexer: Char at distance 0 from 2 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-09-01T12:55:41.201078Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.201085Z  INFO vyder_core::lexer: Constructing span at line 2, column 1 [INFO] [stdout] 2025-09-01T12:55:41.201091Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:41.201184Z  INFO vyder_core::lexer: Char at distance 0 from 3 is '-' [INFO] [stdout] 2025-09-01T12:55:41.201192Z  INFO vyder_core::lexer: Char at distance 1 from 3 is '-' [INFO] [stdout] 2025-09-01T12:55:41.201199Z  INFO vyder_core::lexer: Char at distance 1 from 3 is '-' [INFO] [stdout] 2025-09-01T12:55:41.201206Z  INFO vyder_core::lexer: Next token is '-' [INFO] [stdout] 2025-09-01T12:55:41.201215Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-09-01T12:55:41.201221Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.201227Z  INFO vyder_core::lexer: Constructing span at line 2, column 2 [INFO] [stdout] 2025-09-01T12:55:41.201233Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:41.201241Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '-' [INFO] [stdout] 2025-09-01T12:55:41.201248Z  INFO vyder_core::lexer: Char at distance 1 from 4 is ' ' [INFO] [stdout] 2025-09-01T12:55:41.201255Z  INFO vyder_core::lexer: Char at distance 1 from 4 is ' ' [INFO] [stdout] 2025-09-01T12:55:41.201261Z  INFO vyder_core::lexer: Next token is '-' [INFO] [stdout] 2025-09-01T12:55:41.201269Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-09-01T12:55:41.201275Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.201281Z  INFO vyder_core::lexer: Constructing span at line 2, column 3 [INFO] [stdout] 2025-09-01T12:55:41.201287Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:41.201294Z  INFO vyder_core::lexer: Char at distance 0 from 5 is ' ' [INFO] [stdout] 2025-09-01T12:55:41.201301Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-09-01T12:55:41.201307Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.201313Z  INFO vyder_core::lexer: Constructing span at line 2, column 4 [INFO] [stdout] 2025-09-01T12:55:41.201319Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:41.201327Z  INFO vyder_core::lexer: Char at distance 0 from 6 is '/' [INFO] [stdout] 2025-09-01T12:55:41.201333Z  INFO vyder_core::lexer: Char at distance 1 from 6 is 'None' [INFO] [stdout] 2025-09-01T12:55:41.201340Z  INFO vyder_core::lexer: Char at distance 1 from 6 is 'None' [INFO] [stdout] 2025-09-01T12:55:41.201348Z  INFO vyder_core::lexer: Next token is '/' [INFO] [stdout] 2025-09-01T12:55:41.201356Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-09-01T12:55:41.201362Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.201368Z  INFO vyder_core::lexer: Constructing span at line 2, column 5 [INFO] [stdout] 2025-09-01T12:55:41.201374Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:41.201381Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'None' [INFO] [stdout] 2025-09-01T12:55:41.201387Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-09-01T12:55:41.201705Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:41.201734Z  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-09-01T12:55:41.201747Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:41.201757Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:41.201770Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:41.201780Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:41.201791Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:41.201804Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.201814Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.201826Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.201838Z  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-09-01T12:55:41.201869Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] test parser::tests::index_test ... ok [INFO] [stdout] test lexer::tests::operators_test ... ok [INFO] [stdout] 2025-09-01T12:55:41.201937Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.201962Z  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-09-01T12:55:41.201969Z  INFO vyder_core::parser: Advancing to token index 1: '=' [INFO] [stdout] 2025-09-01T12:55:41.201979Z  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-09-01T12:55:41.201990Z  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-09-01T12:55:41.201999Z  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-09-01T12:55:41.202028Z  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-09-01T12:55:41.202043Z  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-09-01T12:55:41.202052Z  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-09-01T12:55:41.202062Z  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-09-01T12:55:41.202073Z  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-09-01T12:55:41.202080Z  INFO vyder_core::parser: Advancing to token index 2: '(' [INFO] [stdout] 2025-09-01T12:55:41.202086Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:41.202092Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:41.202097Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:41.202103Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:41.202108Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:41.202113Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.202119Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.202125Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.202134Z  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-09-01T12:55:41.202146Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.202157Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.202166Z  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-09-01T12:55:41.202173Z  INFO vyder_core::parser: Advancing to token index 3: 'import' [INFO] [stdout] 2025-09-01T12:55:41.202183Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:41.202196Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:41.202206Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:41.202217Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:41.202229Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:41.202239Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.202252Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.202260Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.202276Z  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-09-01T12:55:41.202297Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.202363Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.202377Z  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-09-01T12:55:41.202384Z  INFO vyder_core::parser: Advancing to token index 4: '(' [INFO] [stdout] 2025-09-01T12:55:41.202394Z  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-09-01T12:55:41.202401Z  INFO vyder_core::parser: Advancing to token index 5: '"std"' [INFO] [stdout] 2025-09-01T12:55:41.202412Z  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-09-01T12:55:41.202420Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:41.202427Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:41.202433Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:41.202439Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:41.202447Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:41.202453Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.202459Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.202466Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.202478Z  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-09-01T12:55:41.202577Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.202646Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.202661Z  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-09-01T12:55:41.202673Z  INFO vyder_core::parser: Advancing to token index 6: ')' [INFO] [stdout] 2025-09-01T12:55:41.202685Z  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-09-01T12:55:41.202696Z  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-09-01T12:55:41.202707Z  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-09-01T12:55:41.202718Z  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-09-01T12:55:41.202731Z  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-09-01T12:55:41.202742Z  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-09-01T12:55:41.202753Z  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-09-01T12:55:41.202764Z  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-09-01T12:55:41.202771Z  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-09-01T12:55:41.202800Z  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-09-01T12:55:41.202815Z  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-09-01T12:55:41.202824Z  INFO vyder_core::parser: Advancing to token index 7: '.' [INFO] [stdout] 2025-09-01T12:55:41.202835Z  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-09-01T12:55:41.202842Z  INFO vyder_core::parser: Advancing to token index 8: 'argc' [INFO] [stdout] 2025-09-01T12:55:41.202854Z  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-09-01T12:55:41.202862Z  INFO vyder_core::parser: Advancing to token index 9: '+' [INFO] [stdout] 2025-09-01T12:55:41.202876Z  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-09-01T12:55:41.202882Z  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-09-01T12:55:41.202897Z  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-09-01T12:55:41.202908Z  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-09-01T12:55:41.202919Z  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-09-01T12:55:41.202927Z  INFO vyder_core::parser: Advancing to token index 10: '2' [INFO] [stdout] 2025-09-01T12:55:41.202933Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.202940Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.202955Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.202966Z  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-09-01T12:55:41.202980Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.202988Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.203000Z  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-09-01T12:55:41.203031Z  INFO vyder_core::parser: Advancing to token index 11: ')' [INFO] [stdout] 2025-09-01T12:55:41.203047Z  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-09-01T12:55:41.203059Z  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-09-01T12:55:41.203069Z  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-09-01T12:55:41.203083Z  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-09-01T12:55:41.203097Z  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-09-01T12:55:41.203108Z  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-09-01T12:55:41.203119Z  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-09-01T12:55:41.203129Z  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-09-01T12:55:41.203136Z  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-09-01T12:55:41.203155Z  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-09-01T12:55:41.203162Z  INFO vyder_core::parser: Advancing to token index 12: '+' [INFO] [stdout] 2025-09-01T12:55:41.203174Z  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-09-01T12:55:41.203186Z  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-09-01T12:55:41.203196Z  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-09-01T12:55:41.203203Z  INFO vyder_core::parser: Advancing to token index 13: '2' [INFO] [stdout] 2025-09-01T12:55:41.203209Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.203215Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.203221Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.203231Z  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-09-01T12:55:41.203243Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.203250Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.203271Z  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-09-01T12:55:41.203279Z  INFO vyder_core::parser: Advancing to token index 14: ';' [INFO] [stdout] 2025-09-01T12:55:41.203290Z  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-09-01T12:55:41.203302Z  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-09-01T12:55:41.203313Z  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-09-01T12:55:41.203325Z  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-09-01T12:55:41.203338Z  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-09-01T12:55:41.203349Z  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-09-01T12:55:41.203359Z  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-09-01T12:55:41.203370Z  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-09-01T12:55:41.203379Z  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-09-01T12:55:41.203401Z  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-09-01T12:55:41.203411Z  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-09-01T12:55:41.203419Z  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-09-01T12:55:41.203429Z  INFO vyder_core::parser: Advancing to token index 15: 'EOF' [INFO] [stdout] 2025-09-01T12:55:41.203435Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-09-01T12:55:41.203443Z  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-09-01T12:55:41.203463Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:41.203469Z  INFO vyder_core::parser: Token at distance 0 from 15 is None [INFO] [stdout] test parser::tests::import_test ... ok [INFO] [stdout] 2025-09-01T12:55:41.211326Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:41.211379Z  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-09-01T12:55:41.211395Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:41.211410Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:41.211421Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:41.211439Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:41.211453Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:41.211470Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.211490Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.211507Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.211525Z  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-09-01T12:55:41.211558Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.211637Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.211660Z  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-09-01T12:55:41.211671Z  INFO vyder_core::parser: Advancing to token index 1: '=' [INFO] [stdout] 2025-09-01T12:55:41.211683Z  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-09-01T12:55:41.211710Z  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-09-01T12:55:41.211722Z  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-09-01T12:55:41.211732Z  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-09-01T12:55:41.211746Z  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-09-01T12:55:41.211757Z  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-09-01T12:55:41.211769Z  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-09-01T12:55:41.211778Z  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-09-01T12:55:41.211788Z  INFO vyder_core::parser: Advancing to token index 2: '12' [INFO] [stdout] 2025-09-01T12:55:41.211794Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:41.211800Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:41.211806Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:41.211811Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:41.211817Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:41.211823Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.211829Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.211846Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.211858Z  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-09-01T12:55:41.211882Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.211903Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.211924Z  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-09-01T12:55:41.211941Z  INFO vyder_core::parser: Advancing to token index 3: 'or' [INFO] [stdout] 2025-09-01T12:55:41.211955Z  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-09-01T12:55:41.211974Z  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-09-01T12:55:41.211984Z  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-09-01T12:55:41.211995Z  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-09-01T12:55:41.212037Z  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-09-01T12:55:41.212051Z  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-09-01T12:55:41.212062Z  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-09-01T12:55:41.212070Z  INFO vyder_core::parser: Advancing to token index 4: '3' [INFO] [stdout] 2025-09-01T12:55:41.212076Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:41.212082Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:41.212088Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:41.212093Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:41.212099Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.212106Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.212112Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.212122Z  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-09-01T12:55:41.212141Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.212153Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.212168Z  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-09-01T12:55:41.212175Z  INFO vyder_core::parser: Advancing to token index 5: ';' [INFO] [stdout] 2025-09-01T12:55:41.212185Z  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-09-01T12:55:41.212196Z  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-09-01T12:55:41.212206Z  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-09-01T12:55:41.212216Z  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-09-01T12:55:41.212229Z  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-09-01T12:55:41.212239Z  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-09-01T12:55:41.212249Z  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-09-01T12:55:41.212271Z  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-09-01T12:55:41.212282Z  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-09-01T12:55:41.212300Z  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-09-01T12:55:41.212310Z  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-09-01T12:55:41.212324Z  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-09-01T12:55:41.212335Z  INFO vyder_core::parser: Advancing to token index 6: 'EOF' [INFO] [stdout] 2025-09-01T12:55:41.212341Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-09-01T12:55:41.212348Z  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-09-01T12:55:41.212363Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:41.212370Z  INFO vyder_core::parser: Token at distance 0 from 6 is None [INFO] [stdout] 2025-09-01T12:55:41.213141Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-09-01T12:55:41.213185Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.213194Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-09-01T12:55:41.213201Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.213211Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-09-01T12:55:41.213218Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2025-09-01T12:55:41.213225Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-09-01T12:55:41.213241Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-09-01T12:55:41.213249Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '2' [INFO] [stdout] 2025-09-01T12:55:41.213255Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-09-01T12:55:41.213262Z  INFO vyder_core::lexer: Char at distance 0 from 2 is '.' [INFO] [stdout] 2025-09-01T12:55:41.213269Z  INFO vyder_core::lexer: Char at distance 1 from 2 is '5' [INFO] [stdout] 2025-09-01T12:55:41.213275Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-09-01T12:55:41.213282Z  INFO vyder_core::lexer: Char at distance 0 from 3 is '5' [INFO] [stdout] 2025-09-01T12:55:41.213289Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-09-01T12:55:41.213295Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '.' [INFO] [stdout] 2025-09-01T12:55:41.213303Z  INFO vyder_core::lexer: Next token is '12.5' [INFO] [stdout] 2025-09-01T12:55:41.213315Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-09-01T12:55:41.213322Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.213310Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2025-09-01T12:55:41.213362Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.213380Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-09-01T12:55:41.213389Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.213411Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2025-09-01T12:55:41.213421Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2025-09-01T12:55:41.213438Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-09-01T12:55:41.213446Z  INFO vyder_core::lexer: Char at distance 0 from 1 is 'o' [INFO] [stdout] 2025-09-01T12:55:41.213452Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-09-01T12:55:41.213459Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'o' [INFO] [stdout] 2025-09-01T12:55:41.213479Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-09-01T12:55:41.213487Z  INFO vyder_core::lexer: Char at distance 0 from 3 is ' ' [INFO] [stdout] 2025-09-01T12:55:41.213497Z  INFO vyder_core::lexer: Next token is 'foo' [INFO] [stdout] 2025-09-01T12:55:41.213539Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-09-01T12:55:41.213557Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.213564Z  INFO vyder_core::lexer: Constructing span at line 1, column 4 [INFO] [stdout] 2025-09-01T12:55:41.213570Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.213579Z  INFO vyder_core::lexer: Char at distance 0 from 3 is ' ' [INFO] [stdout] 2025-09-01T12:55:41.213586Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-09-01T12:55:41.213592Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.213599Z  INFO vyder_core::lexer: Constructing span at line 1, column 5 [INFO] [stdout] 2025-09-01T12:55:41.213606Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.213613Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'r' [INFO] [stdout] 2025-09-01T12:55:41.213620Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'r' [INFO] [stdout] 2025-09-01T12:55:41.213626Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-09-01T12:55:41.213633Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'e' [INFO] [stdout] 2025-09-01T12:55:41.213640Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-09-01T12:55:41.213647Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 't' [INFO] [stdout] 2025-09-01T12:55:41.213653Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-09-01T12:55:41.213660Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'u' [INFO] [stdout] 2025-09-01T12:55:41.213666Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-09-01T12:55:41.213673Z  INFO vyder_core::lexer: Char at distance 0 from 8 is 'r' [INFO] [stdout] 2025-09-01T12:55:41.213680Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-09-01T12:55:41.213688Z  INFO vyder_core::lexer: Char at distance 0 from 9 is 'n' [INFO] [stdout] 2025-09-01T12:55:41.213695Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-09-01T12:55:41.213702Z  INFO vyder_core::lexer: Char at distance 0 from 10 is ')' [INFO] [stdout] 2025-09-01T12:55:41.213710Z  INFO vyder_core::lexer: Next token is 'return' [INFO] [stdout] 2025-09-01T12:55:41.213736Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-09-01T12:55:41.213743Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.213749Z  INFO vyder_core::lexer: Constructing span at line 1, column 11 [INFO] [stdout] 2025-09-01T12:55:41.213756Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.213765Z  INFO vyder_core::lexer: Char at distance 0 from 10 is ')' [INFO] [stdout] 2025-09-01T12:55:41.213772Z  INFO vyder_core::lexer: Next token is ')' [INFO] [stdout] 2025-09-01T12:55:41.213780Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-09-01T12:55:41.213786Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.213793Z  INFO vyder_core::lexer: Constructing span at line 1, column 12 [INFO] [stdout] 2025-09-01T12:55:41.213799Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.213808Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-09-01T12:55:41.213815Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-09-01T12:55:41.213328Z  INFO vyder_core::lexer: Constructing span at line 1, column 5 [INFO] [stdout] 2025-09-01T12:55:41.213897Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.213910Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '.' [INFO] [stdout] 2025-09-01T12:55:41.213918Z  INFO vyder_core::lexer: Char at distance 1 from 4 is 'f' [INFO] [stdout] 2025-09-01T12:55:41.213925Z  INFO vyder_core::lexer: Next token is '.' [INFO] [stdout] 2025-09-01T12:55:41.213936Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-09-01T12:55:41.213942Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.213949Z  INFO vyder_core::lexer: Constructing span at line 1, column 6 [INFO] [stdout] 2025-09-01T12:55:41.213956Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.213974Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'f' [INFO] [stdout] 2025-09-01T12:55:41.213982Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'f' [INFO] [stdout] 2025-09-01T12:55:41.213989Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-09-01T12:55:41.213997Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'o' [INFO] [stdout] 2025-09-01T12:55:41.214003Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-09-01T12:55:41.214042Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'o' [INFO] [stdout] 2025-09-01T12:55:41.214050Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-09-01T12:55:41.214067Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-09-01T12:55:41.214075Z  INFO vyder_core::lexer: Next token is 'foo' [INFO] [stdout] 2025-09-01T12:55:41.214086Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-09-01T12:55:41.214092Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.214098Z  INFO vyder_core::lexer: Constructing span at line 1, column 9 [INFO] [stdout] 2025-09-01T12:55:41.214104Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.214113Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-09-01T12:55:41.214120Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-09-01T12:55:41.214127Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.214134Z  INFO vyder_core::lexer: Constructing span at line 1, column 10 [INFO] [stdout] 2025-09-01T12:55:41.214149Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.214158Z  INFO vyder_core::lexer: Char at distance 0 from 9 is '1' [INFO] [stdout] 2025-09-01T12:55:41.214165Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2025-09-01T12:55:41.214172Z  INFO vyder_core::lexer: Char at distance 0 from 9 is '1' [INFO] [stdout] 2025-09-01T12:55:41.214179Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-09-01T12:55:41.214186Z  INFO vyder_core::lexer: Char at distance 0 from 10 is '2' [INFO] [stdout] 2025-09-01T12:55:41.214194Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-09-01T12:55:41.214201Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-09-01T12:55:41.214210Z  INFO vyder_core::lexer: Next token is '12' [INFO] [stdout] 2025-09-01T12:55:41.214221Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-09-01T12:55:41.214228Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:41.214235Z  INFO vyder_core::lexer: Constructing span at line 1, column 12 [INFO] [stdout] 2025-09-01T12:55:41.214252Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:41.214262Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-09-01T12:55:41.214269Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-09-01T12:55:41.200099Z  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-09-01T12:55:41.222108Z  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-09-01T12:55:41.222144Z  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-09-01T12:55:41.222158Z  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-09-01T12:55:41.222182Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stderr] Running unittests src/bin/vyder_debug_cli/main.rs (/opt/rustwide/target/debug/deps/vyder_debug_cli-bb2043fe6848a052) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:41.222195Z  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-09-01T12:55:41.222208Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stderr] Doc-tests vyder_core [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:41.222221Z  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-09-01T12:55:41.222230Z  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-09-01T12:55:41.222261Z  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-09-01T12:55:41.222285Z  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-09-01T12:55:41.222295Z  INFO vyder_core::parser: Advancing to token index 6: ';' [INFO] [stdout] 2025-09-01T12:55:41.222318Z  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-09-01T12:55:41.222332Z  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-09-01T12:55:41.222353Z  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-09-01T12:55:41.222374Z  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-09-01T12:55:41.222397Z  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-09-01T12:55:41.222415Z  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-09-01T12:55:41.222435Z  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-09-01T12:55:41.222454Z  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-09-01T12:55:41.222471Z  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-09-01T12:55:41.222498Z  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-09-01T12:55:41.222509Z  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-09-01T12:55:41.222523Z  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-09-01T12:55:41.222535Z  INFO vyder_core::parser: Advancing to token index 7: 'EOF' [INFO] [stdout] 2025-09-01T12:55:41.222549Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-09-01T12:55:41.222558Z  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-09-01T12:55:41.222580Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:41.222587Z  INFO vyder_core::parser: Token at distance 0 from 7 is None [INFO] [stdout] test parser::tests::assignment_test ... ok [INFO] [stdout] test lexer::tests::identifiers_test ... ok [INFO] [stdout] test lexer::tests::numbers_test ... ok [INFO] [stdout] test parser::tests::calls_test ... ok [INFO] [stdout] 2025-09-01T12:55:41.236441Z  INFO vyder_core::interpreter: evaluating 'not' [INFO] [stdout] 2025-09-01T12:55:41.236972Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:41.237067Z  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-09-01T12:55:41.237288Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:41.237309Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:41.237322Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:41.237332Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:41.237343Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:41.237356Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:41.237367Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:41.237378Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.237390Z  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-09-01T12:55:41.237409Z  INFO vyder_core::parser: Advancing to token index 1: '-' [INFO] [stdout] 2025-09-01T12:55:41.237419Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.237433Z  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-09-01T12:55:41.237440Z  INFO vyder_core::parser: Advancing to token index 2: 'foo' [INFO] [stdout] 2025-09-01T12:55:41.237446Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:41.237459Z  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-09-01T12:55:41.237482Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:41.237548Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:41.237561Z  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-09-01T12:55:41.237569Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-09-01T12:55:41.237579Z  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-09-01T12:55:41.237593Z  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-09-01T12:55:41.237602Z  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-09-01T12:55:41.237611Z  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-09-01T12:55:41.237623Z  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-09-01T12:55:41.237633Z  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-09-01T12:55:41.237642Z  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-09-01T12:55:41.237651Z  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-09-01T12:55:41.237657Z  INFO vyder_core::parser: Parsed expression ''Not' at test 1:1 - 1:5 (5 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:41.237672Z  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-09-01T12:55:41.237681Z  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-09-01T12:55:41.237688Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-09-01T12:55:41.237697Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-09-01T12:55:41.237704Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-09-01T12:55:41.237710Z  INFO vyder_core::parser: parsed statement ''Not;' at test 1:1 - 1:6 (6 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:41.237721Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:41.237727Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] test parser::tests::unary_test ... ok [INFO] [stdout] test interpreter::tests::not_test ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [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.40s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2f2150e2e17b9437287d2e3238fa529f77565d142f72fcd896bbde882fee5a25", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2f2150e2e17b9437287d2e3238fa529f77565d142f72fcd896bbde882fee5a25", kill_on_drop: false }` [INFO] [stdout] 2f2150e2e17b9437287d2e3238fa529f77565d142f72fcd896bbde882fee5a25