[INFO] fetching crate vyder_core 0.3.4... [INFO] testing vyder_core-0.3.4 against beta-2025-09-21 for beta-1.91-3 [INFO] extracting crate vyder_core 0.3.4 into /workspace/builds/worker-7-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-7-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate vyder_core 0.3.4 on toolchain beta-2025-09-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7dbe2198182032d31496a9a2ea2007f91b88a2dba3f556ea3c5398af66955488 [INFO] running `Command { std: "docker" "start" "-a" "7dbe2198182032d31496a9a2ea2007f91b88a2dba3f556ea3c5398af66955488", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7dbe2198182032d31496a9a2ea2007f91b88a2dba3f556ea3c5398af66955488", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7dbe2198182032d31496a9a2ea2007f91b88a2dba3f556ea3c5398af66955488", kill_on_drop: false }` [INFO] [stdout] 7dbe2198182032d31496a9a2ea2007f91b88a2dba3f556ea3c5398af66955488 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c37b42ea8098a97b2f3a5edf4f8de7c6dcb624b49a5aa683a47041778bb7402b [INFO] running `Command { std: "docker" "start" "-a" "c37b42ea8098a97b2f3a5edf4f8de7c6dcb624b49a5aa683a47041778bb7402b", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling anstyle-parse v0.2.4 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling colorchoice v1.0.1 [INFO] [stderr] Compiling log v0.4.22 [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 pin-project-lite v0.2.14 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling anstream v0.6.14 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling clap_lex v0.7.1 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling colored v2.1.0 [INFO] [stderr] Compiling clap_builder v4.5.9 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling quote v1.0.36 [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 tracing-test-macro v0.2.5 [INFO] [stderr] Compiling clap_derive v4.5.8 [INFO] [stderr] Compiling enum_downcast_derive v0.2.0 [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 30.30s [INFO] running `Command { std: "docker" "inspect" "c37b42ea8098a97b2f3a5edf4f8de7c6dcb624b49a5aa683a47041778bb7402b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c37b42ea8098a97b2f3a5edf4f8de7c6dcb624b49a5aa683a47041778bb7402b", kill_on_drop: false }` [INFO] [stdout] c37b42ea8098a97b2f3a5edf4f8de7c6dcb624b49a5aa683a47041778bb7402b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cc76afcb33a85933a7babb1f59834e7349cb809ee5942b6c161ee6d9b89f47f7 [INFO] running `Command { std: "docker" "start" "-a" "cc76afcb33a85933a7babb1f59834e7349cb809ee5942b6c161ee6d9b89f47f7", 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 3.75s [INFO] running `Command { std: "docker" "inspect" "cc76afcb33a85933a7babb1f59834e7349cb809ee5942b6c161ee6d9b89f47f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cc76afcb33a85933a7babb1f59834e7349cb809ee5942b6c161ee6d9b89f47f7", kill_on_drop: false }` [INFO] [stdout] cc76afcb33a85933a7babb1f59834e7349cb809ee5942b6c161ee6d9b89f47f7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] c3d97949ee48e1f1d9a0472370af971c1cebdb6e5a509db579e8d3388615b4ce [INFO] running `Command { std: "docker" "start" "-a" "c3d97949ee48e1f1d9a0472370af971c1cebdb6e5a509db579e8d3388615b4ce", 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-7de8f445f312d091) [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test environment::tests::environments_test ... ok [INFO] [stdout] test expression::tests::expect_test ... ok [INFO] [stdout] test interpreter::tests::group_test ... ok [INFO] [stdout] 2025-10-01T14:35:25.229060Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2025-10-01T14:35:25.229094Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.229104Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-10-01T14:35:25.229113Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.229131Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2025-10-01T14:35:25.229146Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2025-10-01T14:35:25.229157Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-01T14:35:25.229170Z  INFO vyder_core::lexer: Char at distance 0 from 1 is 'o' [INFO] [stdout] 2025-10-01T14:35:25.229177Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-01T14:35:25.229192Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'o' [INFO] [stdout] 2025-10-01T14:35:25.229198Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-01T14:35:25.229204Z  INFO vyder_core::lexer: Char at distance 0 from 3 is ' ' [INFO] [stdout] 2025-10-01T14:35:25.229215Z  INFO vyder_core::lexer: Next token is 'foo' [INFO] [stdout] 2025-10-01T14:35:25.229228Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-01T14:35:25.229240Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.229252Z  INFO vyder_core::lexer: Constructing span at line 1, column 4 [INFO] [stdout] 2025-10-01T14:35:25.229283Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.229293Z  INFO vyder_core::lexer: Char at distance 0 from 3 is ' ' [INFO] [stdout] 2025-10-01T14:35:25.229298Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-01T14:35:25.229305Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.229310Z  INFO vyder_core::lexer: Constructing span at line 1, column 5 [INFO] [stdout] 2025-10-01T14:35:25.229316Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.229323Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'r' [INFO] [stdout] 2025-10-01T14:35:25.229335Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'r' [INFO] [stdout] 2025-10-01T14:35:25.229342Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-01T14:35:25.229348Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'e' [INFO] [stdout] 2025-10-01T14:35:25.229354Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-01T14:35:25.229360Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 't' [INFO] [stdout] 2025-10-01T14:35:25.229379Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-01T14:35:25.229386Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'u' [INFO] [stdout] 2025-10-01T14:35:25.229392Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-10-01T14:35:25.229399Z  INFO vyder_core::lexer: Char at distance 0 from 8 is 'r' [INFO] [stdout] 2025-10-01T14:35:25.229415Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-10-01T14:35:25.229422Z  INFO vyder_core::lexer: Char at distance 0 from 9 is 'n' [INFO] [stdout] 2025-10-01T14:35:25.229428Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-01T14:35:25.229434Z  INFO vyder_core::lexer: Char at distance 0 from 10 is ')' [INFO] [stdout] 2025-10-01T14:35:25.229442Z  INFO vyder_core::lexer: Next token is 'return' [INFO] [stdout] 2025-10-01T14:35:25.229452Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-01T14:35:25.229458Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.229463Z  INFO vyder_core::lexer: Constructing span at line 1, column 11 [INFO] [stdout] 2025-10-01T14:35:25.229470Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.229477Z  INFO vyder_core::lexer: Char at distance 0 from 10 is ')' [INFO] [stdout] 2025-10-01T14:35:25.229483Z  INFO vyder_core::lexer: Next token is ')' [INFO] [stdout] 2025-10-01T14:35:25.229501Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-01T14:35:25.229508Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.229521Z  INFO vyder_core::lexer: Constructing span at line 1, column 12 [INFO] [stdout] 2025-10-01T14:35:25.229527Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.229535Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-10-01T14:35:25.229547Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] test lexer::tests::identifiers_test ... ok [INFO] [stdout] 2025-10-01T14:35:25.229756Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-10-01T14:35:25.229790Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.229799Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-10-01T14:35:25.229805Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.229816Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-10-01T14:35:25.229825Z  INFO vyder_core::lexer: Char at distance 1 from 0 is '"' [INFO] [stdout] 2025-10-01T14:35:25.229832Z  INFO vyder_core::lexer: Next token is '+' [INFO] [stdout] 2025-10-01T14:35:25.229864Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-01T14:35:25.229873Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.229879Z  INFO vyder_core::lexer: Constructing span at line 1, column 2 [INFO] [stdout] 2025-10-01T14:35:25.229891Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.229899Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '"' [INFO] [stdout] 2025-10-01T14:35:25.229913Z  INFO vyder_core::lexer: get_string function [INFO] [stdout] 2025-10-01T14:35:25.229929Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-01T14:35:25.229937Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'H' [INFO] [stdout] 2025-10-01T14:35:25.229956Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-01T14:35:25.229964Z  INFO vyder_core::lexer: Char at distance 0 from 3 is 'e' [INFO] [stdout] 2025-10-01T14:35:25.229970Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-01T14:35:25.229976Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'l' [INFO] [stdout] 2025-10-01T14:35:25.229982Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-01T14:35:25.229989Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'l' [INFO] [stdout] 2025-10-01T14:35:25.229995Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-01T14:35:25.230003Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'o' [INFO] [stdout] 2025-10-01T14:35:25.230009Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-01T14:35:25.230015Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ',' [INFO] [stdout] 2025-10-01T14:35:25.230032Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-10-01T14:35:25.230039Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-10-01T14:35:25.230045Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-10-01T14:35:25.230051Z  INFO vyder_core::lexer: Char at distance 0 from 9 is 'W' [INFO] [stdout] 2025-10-01T14:35:25.230057Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-01T14:35:25.230064Z  INFO vyder_core::lexer: Char at distance 0 from 10 is 'o' [INFO] [stdout] 2025-10-01T14:35:25.230070Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-01T14:35:25.230077Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'r' [INFO] [stdout] 2025-10-01T14:35:25.230083Z  INFO vyder_core::lexer: Advancing to char index 12 [INFO] [stdout] 2025-10-01T14:35:25.230090Z  INFO vyder_core::lexer: Char at distance 0 from 12 is 'l' [INFO] [stdout] 2025-10-01T14:35:25.230096Z  INFO vyder_core::lexer: Advancing to char index 13 [INFO] [stdout] 2025-10-01T14:35:25.230103Z  INFO vyder_core::lexer: Char at distance 0 from 13 is 'd' [INFO] [stdout] 2025-10-01T14:35:25.230109Z  INFO vyder_core::lexer: Advancing to char index 14 [INFO] [stdout] 2025-10-01T14:35:25.230116Z  INFO vyder_core::lexer: Char at distance 0 from 14 is '!' [INFO] [stdout] 2025-10-01T14:35:25.230122Z  INFO vyder_core::lexer: Advancing to char index 15 [INFO] [stdout] 2025-10-01T14:35:25.230129Z  INFO vyder_core::lexer: Char at distance 0 from 15 is '"' [INFO] [stdout] 2025-10-01T14:35:25.230136Z  INFO vyder_core::lexer: Next token is '"Hello, World!"' [INFO] [stdout] 2025-10-01T14:35:25.230146Z  INFO vyder_core::lexer: Advancing to char index 16 [INFO] [stdout] 2025-10-01T14:35:25.230153Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.230159Z  INFO vyder_core::lexer: Constructing span at line 1, column 17 [INFO] [stdout] 2025-10-01T14:35:25.230166Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.230174Z  INFO vyder_core::lexer: Char at distance 0 from 16 is ''' [INFO] [stdout] 2025-10-01T14:35:25.230181Z  INFO vyder_core::lexer: get_string function [INFO] [stdout] 2025-10-01T14:35:25.230186Z  INFO vyder_core::lexer: Advancing to char index 17 [INFO] [stdout] 2025-10-01T14:35:25.230193Z  INFO vyder_core::lexer: Char at distance 0 from 17 is 'f' [INFO] [stdout] 2025-10-01T14:35:25.230200Z  INFO vyder_core::lexer: Advancing to char index 18 [INFO] [stdout] 2025-10-01T14:35:25.230207Z  INFO vyder_core::lexer: Char at distance 0 from 18 is 'o' [INFO] [stdout] 2025-10-01T14:35:25.230213Z  INFO vyder_core::lexer: Advancing to char index 19 [INFO] [stdout] 2025-10-01T14:35:25.230220Z  INFO vyder_core::lexer: Char at distance 0 from 19 is 'o' [INFO] [stdout] 2025-10-01T14:35:25.230226Z  INFO vyder_core::lexer: Advancing to char index 20 [INFO] [stdout] 2025-10-01T14:35:25.230233Z  INFO vyder_core::lexer: Char at distance 0 from 20 is '\' [INFO] [stdout] 2025-10-01T14:35:25.230241Z  INFO vyder_core::lexer: Char at distance 1 from 20 is 't' [INFO] [stdout] 2025-10-01T14:35:25.230254Z  INFO vyder_core::lexer: Advancing to char index 21 without increasing column [INFO] [stdout] 2025-10-01T14:35:25.230278Z  INFO vyder_core::lexer: Advancing to char index 22 [INFO] [stdout] 2025-10-01T14:35:25.230288Z  INFO vyder_core::lexer: Char at distance 0 from 22 is ''' [INFO] [stdout] 2025-10-01T14:35:25.230297Z  INFO vyder_core::lexer: Next token is '"foo "' [INFO] [stdout] 2025-10-01T14:35:25.230307Z  INFO vyder_core::lexer: Advancing to char index 23 [INFO] [stdout] 2025-10-01T14:35:25.230313Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.230318Z  INFO vyder_core::lexer: Constructing span at line 1, column 23 [INFO] [stdout] 2025-10-01T14:35:25.230324Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.230332Z  INFO vyder_core::lexer: Char at distance 0 from 23 is '(' [INFO] [stdout] 2025-10-01T14:35:25.230338Z  INFO vyder_core::lexer: Next token is '(' [INFO] [stdout] 2025-10-01T14:35:25.230353Z  INFO vyder_core::lexer: Advancing to char index 24 [INFO] [stdout] 2025-10-01T14:35:25.230359Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.230364Z  INFO vyder_core::lexer: Constructing span at line 1, column 24 [INFO] [stdout] 2025-10-01T14:35:25.230370Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.230378Z  INFO vyder_core::lexer: Char at distance 0 from 24 is 'None' [INFO] [stdout] 2025-10-01T14:35:25.230384Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] test lexer::tests::strings_test ... ok [INFO] [stdout] 2025-10-01T14:35:25.231955Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:35:25.231995Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.232011Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:35:25.232026Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:35:25.232038Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:35:25.232050Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:35:25.232065Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:35:25.232077Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.232089Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.232101Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.232113Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.232159Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.232228Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.232242Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.232252Z  INFO vyder_core::parser: Advancing to token index 1: '(' [INFO] [stdout] 2025-10-01T14:35:25.232281Z  INFO vyder_core::parser: Token at distance 0 from 1 is '(' at test 1:4 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232289Z  INFO vyder_core::parser: Advancing to token index 2: 'bar' [INFO] [stdout] 2025-10-01T14:35:25.232300Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.232306Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:35:25.232311Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:35:25.232317Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:35:25.232322Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:35:25.232328Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:35:25.232333Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.232339Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.232345Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.232356Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.232371Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.232394Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-10-01T14:35:25.232410Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.232418Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-10-01T14:35:25.232424Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.232424Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.232433Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-10-01T14:35:25.232438Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.232446Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2025-10-01T14:35:25.232447Z  INFO vyder_core::parser: Advancing to token index 3: '(' [INFO] [stdout] 2025-10-01T14:35:25.232453Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-10-01T14:35:25.232458Z  INFO vyder_core::parser: Token at distance 0 from 3 is '(' at test 1:8 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232460Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-01T14:35:25.232465Z  INFO vyder_core::parser: Advancing to token index 4: ')' [INFO] [stdout] 2025-10-01T14:35:25.232466Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '2' [INFO] [stdout] 2025-10-01T14:35:25.232472Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-01T14:35:25.232479Z  INFO vyder_core::lexer: Char at distance 0 from 2 is '.' [INFO] [stdout] 2025-10-01T14:35:25.232485Z  INFO vyder_core::lexer: Char at distance 1 from 2 is '5' [INFO] [stdout] 2025-10-01T14:35:25.232474Z  INFO vyder_core::parser: Token at distance 0 from 4 is ')' at test 1:13 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232491Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-01T14:35:25.232497Z  INFO vyder_core::lexer: Char at distance 0 from 3 is '5' [INFO] [stdout] 2025-10-01T14:35:25.232503Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-01T14:35:25.232509Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '.' [INFO] [stdout] 2025-10-01T14:35:25.232498Z  INFO vyder_core::parser: Advancing to token index 5: ')' [INFO] [stdout] 2025-10-01T14:35:25.232526Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232546Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232566Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232523Z  INFO vyder_core::lexer: Next token is '12.5' [INFO] [stdout] 2025-10-01T14:35:25.232576Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232590Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-01T14:35:25.232597Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232599Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.232605Z  INFO vyder_core::lexer: Constructing span at line 1, column 5 [INFO] [stdout] 2025-10-01T14:35:25.232608Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232612Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.232620Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232620Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '.' [INFO] [stdout] 2025-10-01T14:35:25.232631Z  INFO vyder_core::lexer: Char at distance 1 from 4 is 'f' [INFO] [stdout] 2025-10-01T14:35:25.232633Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232638Z  INFO vyder_core::lexer: Next token is '.' [INFO] [stdout] 2025-10-01T14:35:25.232647Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-01T14:35:25.232653Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.232647Z  INFO vyder_core::parser: Parsed expression ''Call(bar)' at test 1:5 - 1:13 (9 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.232659Z  INFO vyder_core::lexer: Constructing span at line 1, column 6 [INFO] [stdout] 2025-10-01T14:35:25.232666Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.232668Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232673Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'f' [INFO] [stdout] 2025-10-01T14:35:25.232680Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'f' [INFO] [stdout] 2025-10-01T14:35:25.232682Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232687Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-01T14:35:25.232690Z  INFO vyder_core::parser: Advancing to token index 6: ';' [INFO] [stdout] 2025-10-01T14:35:25.232694Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'o' [INFO] [stdout] 2025-10-01T14:35:25.232701Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232701Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-01T14:35:25.232710Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'o' [INFO] [stdout] 2025-10-01T14:35:25.232713Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232715Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-10-01T14:35:25.232722Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-10-01T14:35:25.232724Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232736Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232739Z  INFO vyder_core::lexer: Next token is 'foo' [INFO] [stdout] 2025-10-01T14:35:25.232749Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-10-01T14:35:25.232756Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.232762Z  INFO vyder_core::lexer: Constructing span at line 1, column 9 [INFO] [stdout] 2025-10-01T14:35:25.232768Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.232771Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232777Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-10-01T14:35:25.232783Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-10-01T14:35:25.232784Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232789Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.232795Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232800Z  INFO vyder_core::lexer: Constructing span at line 1, column 10 [INFO] [stdout] 2025-10-01T14:35:25.232806Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232807Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.232816Z  INFO vyder_core::lexer: Char at distance 0 from 9 is '1' [INFO] [stdout] 2025-10-01T14:35:25.232814Z  INFO vyder_core::parser: Parsed expression ''Call(foo)' at test 1:1 - 1:14 (14 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.232823Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2025-10-01T14:35:25.232831Z  INFO vyder_core::lexer: Char at distance 0 from 9 is '1' [INFO] [stdout] 2025-10-01T14:35:25.232832Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232837Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-01T14:35:25.232842Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.232845Z  INFO vyder_core::lexer: Char at distance 0 from 10 is '2' [INFO] [stdout] 2025-10-01T14:35:25.232851Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-01T14:35:25.232858Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-10-01T14:35:25.232855Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:35:25.232867Z  INFO vyder_core::parser: Advancing to token index 7: 'EOF' [INFO] [stdout] 2025-10-01T14:35:25.232866Z  INFO vyder_core::lexer: Next token is '12' [INFO] [stdout] 2025-10-01T14:35:25.232876Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-01T14:35:25.232878Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-01T14:35:25.232885Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.232886Z  INFO vyder_core::parser: parsed statement ''Call(foo);' at test 1:1 - 1:15 (15 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.232891Z  INFO vyder_core::lexer: Constructing span at line 1, column 12 [INFO] [stdout] 2025-10-01T14:35:25.232902Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:35:25.232904Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.232908Z  INFO vyder_core::parser: Token at distance 0 from 7 is None [INFO] [stdout] 2025-10-01T14:35:25.232914Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-10-01T14:35:25.232922Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] test parser::tests::calls_test ... ok [INFO] [stdout] 2025-10-01T14:35:25.234867Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '#' [INFO] [stdout] 2025-10-01T14:35:25.234934Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-01T14:35:25.234974Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '!' [INFO] [stdout] 2025-10-01T14:35:25.235003Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-01T14:35:25.235038Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'v' [INFO] [stdout] 2025-10-01T14:35:25.235066Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-01T14:35:25.235101Z  INFO vyder_core::lexer: Char at distance 0 from 3 is 'y' [INFO] [stdout] 2025-10-01T14:35:25.235128Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-01T14:35:25.235154Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'd' [INFO] [stdout] 2025-10-01T14:35:25.235178Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-01T14:35:25.235205Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'e' [INFO] [stdout] 2025-10-01T14:35:25.235350Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-01T14:35:25.235367Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'r' [INFO] [stdout] 2025-10-01T14:35:25.235373Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-01T14:35:25.235541Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-10-01T14:35:25.235554Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.235561Z  INFO vyder_core::lexer: Constructing span at line 1, column 8 [INFO] [stdout] 2025-10-01T14:35:25.235567Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.235575Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-10-01T14:35:25.235582Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.235588Z  INFO vyder_core::lexer: Constructing span at line 2, column 1 [INFO] [stdout] 2025-10-01T14:35:25.235594Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:35:25.235601Z  INFO vyder_core::lexer: Char at distance 0 from 8 is '+' [INFO] [stdout] 2025-10-01T14:35:25.235608Z  INFO vyder_core::lexer: Char at distance 1 from 8 is ' ' [INFO] [stdout] 2025-10-01T14:35:25.235615Z  INFO vyder_core::lexer: Next token is '+' [INFO] [stdout] 2025-10-01T14:35:25.235635Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-10-01T14:35:25.235641Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.235646Z  INFO vyder_core::lexer: Constructing span at line 2, column 2 [INFO] [stdout] 2025-10-01T14:35:25.235652Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:35:25.235660Z  INFO vyder_core::lexer: Char at distance 0 from 9 is ' ' [INFO] [stdout] 2025-10-01T14:35:25.235665Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-01T14:35:25.235671Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.235676Z  INFO vyder_core::lexer: Constructing span at line 2, column 3 [INFO] [stdout] 2025-10-01T14:35:25.235682Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:35:25.235689Z  INFO vyder_core::lexer: Char at distance 0 from 10 is '/' [INFO] [stdout] 2025-10-01T14:35:25.235696Z  INFO vyder_core::lexer: Char at distance 1 from 10 is '/' [INFO] [stdout] 2025-10-01T14:35:25.235703Z  INFO vyder_core::lexer: Char at distance 1 from 10 is '/' [INFO] [stdout] 2025-10-01T14:35:25.235708Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-01T14:35:25.235715Z  INFO vyder_core::lexer: Char at distance 1 from 11 is ' ' [INFO] [stdout] 2025-10-01T14:35:25.235721Z  INFO vyder_core::lexer: Advancing to char index 12 [INFO] [stdout] 2025-10-01T14:35:25.235727Z  INFO vyder_core::lexer: Char at distance 1 from 12 is 't' [INFO] [stdout] 2025-10-01T14:35:25.235733Z  INFO vyder_core::lexer: Advancing to char index 13 [INFO] [stdout] 2025-10-01T14:35:25.235739Z  INFO vyder_core::lexer: Char at distance 1 from 13 is 'e' [INFO] [stdout] 2025-10-01T14:35:25.235745Z  INFO vyder_core::lexer: Advancing to char index 14 [INFO] [stdout] 2025-10-01T14:35:25.235751Z  INFO vyder_core::lexer: Char at distance 1 from 14 is 's' [INFO] [stdout] 2025-10-01T14:35:25.235757Z  INFO vyder_core::lexer: Advancing to char index 15 [INFO] [stdout] 2025-10-01T14:35:25.235763Z  INFO vyder_core::lexer: Char at distance 1 from 15 is 't' [INFO] [stdout] 2025-10-01T14:35:25.235769Z  INFO vyder_core::lexer: Advancing to char index 16 [INFO] [stdout] 2025-10-01T14:35:25.235776Z  INFO vyder_core::lexer: Char at distance 1 from 16 is ' ' [INFO] [stdout] 2025-10-01T14:35:25.235782Z  INFO vyder_core::lexer: Advancing to char index 17 [INFO] [stdout] 2025-10-01T14:35:25.235790Z  INFO vyder_core::lexer: Char at distance 1 from 17 is '2' [INFO] [stdout] 2025-10-01T14:35:25.235795Z  INFO vyder_core::lexer: Advancing to char index 18 [INFO] [stdout] 2025-10-01T14:35:25.235802Z  INFO vyder_core::lexer: Char at distance 1 from 18 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-10-01T14:35:25.235807Z  INFO vyder_core::lexer: Advancing to char index 19 [INFO] [stdout] 2025-10-01T14:35:25.235813Z  INFO vyder_core::lexer: Advancing to char index 20 [INFO] [stdout] 2025-10-01T14:35:25.236886Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.237018Z  INFO vyder_core::lexer: Constructing span at line 3, column 1 [INFO] [stdout] 2025-10-01T14:35:25.237044Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-10-01T14:35:25.237161Z  INFO vyder_core::lexer: Char at distance 0 from 20 is '/' [INFO] [stdout] test lexer::tests::numbers_test ... 2025-10-01T14:35:25.237173Z  INFO vyder_core::lexer: Char at distance 1 from 20 is '/' [INFO] [stdout] ok2025-10-01T14:35:25.237192Z  INFO vyder_core::lexer: Char at distance 1 from 20 is '/' [INFO] [stdout] [INFO] [stdout] 2025-10-01T14:35:25.237200Z  INFO vyder_core::lexer: Advancing to char index 21 [INFO] [stdout] 2025-10-01T14:35:25.237207Z  INFO vyder_core::lexer: Char at distance 1 from 21 is ' ' [INFO] [stdout] 2025-10-01T14:35:25.237212Z  INFO vyder_core::lexer: Advancing to char index 22 [INFO] [stdout] 2025-10-01T14:35:25.237219Z  INFO vyder_core::lexer: Char at distance 1 from 22 is 't' [INFO] [stdout] 2025-10-01T14:35:25.237224Z  INFO vyder_core::lexer: Advancing to char index 23 [INFO] [stdout] 2025-10-01T14:35:25.237231Z  INFO vyder_core::lexer: Char at distance 1 from 23 is 'e' [INFO] [stdout] 2025-10-01T14:35:25.237237Z  INFO vyder_core::lexer: Advancing to char index 24 [INFO] [stdout] 2025-10-01T14:35:25.237244Z  INFO vyder_core::lexer: Char at distance 1 from 24 is 's' [INFO] [stdout] 2025-10-01T14:35:25.234944Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-10-01T14:35:25.237303Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.237315Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-10-01T14:35:25.237322Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.237331Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-10-01T14:35:25.237337Z  INFO vyder_core::lexer: Char at distance 1 from 0 is '=' [INFO] [stdout] 2025-10-01T14:35:25.237343Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-01T14:35:25.237349Z  INFO vyder_core::lexer: Next token is '+=' [INFO] [stdout] 2025-10-01T14:35:25.237370Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-01T14:35:25.237376Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.237381Z  INFO vyder_core::lexer: Constructing span at line 1, column 3 [INFO] [stdout] 2025-10-01T14:35:25.237386Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:35:25.237393Z  INFO vyder_core::lexer: Char at distance 0 from 2 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-10-01T14:35:25.237398Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.237403Z  INFO vyder_core::lexer: Constructing span at line 2, column 1 [INFO] [stdout] 2025-10-01T14:35:25.237408Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:35:25.237415Z  INFO vyder_core::lexer: Char at distance 0 from 3 is '-' [INFO] [stdout] 2025-10-01T14:35:25.237421Z  INFO vyder_core::lexer: Char at distance 1 from 3 is '-' [INFO] [stdout] 2025-10-01T14:35:25.237426Z  INFO vyder_core::lexer: Char at distance 1 from 3 is '-' [INFO] [stdout] 2025-10-01T14:35:25.237432Z  INFO vyder_core::lexer: Next token is '-' [INFO] [stdout] 2025-10-01T14:35:25.237439Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-01T14:35:25.237444Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.237449Z  INFO vyder_core::lexer: Constructing span at line 2, column 2 [INFO] [stdout] 2025-10-01T14:35:25.237454Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:35:25.237462Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '-' [INFO] [stdout] 2025-10-01T14:35:25.237468Z  INFO vyder_core::lexer: Char at distance 1 from 4 is ' ' [INFO] [stdout] 2025-10-01T14:35:25.237474Z  INFO vyder_core::lexer: Char at distance 1 from 4 is ' ' [INFO] [stdout] 2025-10-01T14:35:25.237480Z  INFO vyder_core::lexer: Next token is '-' [INFO] [stdout] 2025-10-01T14:35:25.237487Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-01T14:35:25.237492Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.237497Z  INFO vyder_core::lexer: Constructing span at line 2, column 3 [INFO] [stdout] 2025-10-01T14:35:25.237502Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:35:25.237508Z  INFO vyder_core::lexer: Char at distance 0 from 5 is ' ' [INFO] [stdout] 2025-10-01T14:35:25.237513Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-01T14:35:25.237518Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.237523Z  INFO vyder_core::lexer: Constructing span at line 2, column 4 [INFO] [stdout] 2025-10-01T14:35:25.237528Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:35:25.237535Z  INFO vyder_core::lexer: Char at distance 0 from 6 is '/' [INFO] [stdout] 2025-10-01T14:35:25.237540Z  INFO vyder_core::lexer: Char at distance 1 from 6 is 'None' [INFO] [stdout] 2025-10-01T14:35:25.237546Z  INFO vyder_core::lexer: Char at distance 1 from 6 is 'None' [INFO] [stdout] 2025-10-01T14:35:25.237552Z  INFO vyder_core::lexer: Next token is '/' [INFO] [stdout] 2025-10-01T14:35:25.237558Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-01T14:35:25.237563Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.237568Z  INFO vyder_core::lexer: Constructing span at line 2, column 5 [INFO] [stdout] 2025-10-01T14:35:25.237573Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:35:25.237580Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'None' [INFO] [stdout] 2025-10-01T14:35:25.237585Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-10-01T14:35:25.237249Z  INFO vyder_core::lexer: Advancing to char index 25 [INFO] [stdout] 2025-10-01T14:35:25.237964Z  INFO vyder_core::lexer: Char at distance 1 from 25 is 't' [INFO] [stdout] 2025-10-01T14:35:25.237977Z  INFO vyder_core::lexer: Advancing to char index 26 [INFO] [stdout] 2025-10-01T14:35:25.237985Z  INFO vyder_core::lexer: Char at distance 1 from 26 is ' ' [INFO] [stdout] 2025-10-01T14:35:25.237990Z  INFO vyder_core::lexer: Advancing to char index 27 [INFO] [stdout] 2025-10-01T14:35:25.237998Z  INFO vyder_core::lexer: Char at distance 1 from 27 is '3' [INFO] [stdout] 2025-10-01T14:35:25.238003Z  INFO vyder_core::lexer: Advancing to char index 28 [INFO] [stdout] 2025-10-01T14:35:25.238010Z  INFO vyder_core::lexer: Char at distance 1 from 28 is 'None' [INFO] [stdout] 2025-10-01T14:35:25.238017Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.238022Z  INFO vyder_core::lexer: Constructing span at line 3, column 9 [INFO] [stdout] 2025-10-01T14:35:25.238029Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-10-01T14:35:25.238039Z  INFO vyder_core::lexer: Char at distance 0 from 28 is '3' [INFO] [stdout] 2025-10-01T14:35:25.238048Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2025-10-01T14:35:25.238055Z  INFO vyder_core::lexer: Char at distance 0 from 28 is '3' [INFO] [stdout] 2025-10-01T14:35:25.238061Z  INFO vyder_core::lexer: Advancing to char index 29 [INFO] [stdout] 2025-10-01T14:35:25.238069Z  INFO vyder_core::lexer: Char at distance 0 from 29 is 'None' [INFO] [stdout] 2025-10-01T14:35:25.238075Z  INFO vyder_core::lexer: Next token is '3' [INFO] [stdout] 2025-10-01T14:35:25.238086Z  INFO vyder_core::lexer: Advancing to char index 29 [INFO] [stdout] 2025-10-01T14:35:25.238091Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:35:25.238097Z  INFO vyder_core::lexer: Constructing span at line 3, column 10 [INFO] [stdout] 2025-10-01T14:35:25.238102Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-10-01T14:35:25.238111Z  INFO vyder_core::lexer: Char at distance 0 from 29 is 'None' [INFO] [stdout] 2025-10-01T14:35:25.238117Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] test lexer::tests::operators_test ... ok [INFO] [stdout] test lexer::tests::comments_test ... ok [INFO] [stdout] 2025-10-01T14:35:25.239684Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:35:25.239715Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.239729Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:35:25.239739Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:35:25.239750Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:35:25.239760Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:35:25.239769Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:35:25.239789Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.239805Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.239817Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.239828Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.239849Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.239909Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.239927Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.239934Z  INFO vyder_core::parser: Advancing to token index 1: '[' [INFO] [stdout] 2025-10-01T14:35:25.239943Z  INFO vyder_core::parser: Token at distance 0 from 1 is '[' at test 1:4 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.239950Z  INFO vyder_core::parser: Advancing to token index 2: '1' [INFO] [stdout] 2025-10-01T14:35:25.239957Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:35:25.239962Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:35:25.239968Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:35:25.239974Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:35:25.239985Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:35:25.239990Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.239996Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.240001Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.240011Z  INFO vyder_core::parser: Token at distance 0 from 2 is '1' at test 1:5 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240024Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.240075Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:35:25.240080Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.240092Z  INFO vyder_core::parser: Token at distance 0 from 2 is '1' at test 1:5 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240093Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.240099Z  INFO vyder_core::parser: Advancing to token index 3: ']' [INFO] [stdout] 2025-10-01T14:35:25.240104Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:35:25.240109Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240114Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:35:25.240120Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240127Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:35:25.240130Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240139Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240138Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:35:25.240151Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240149Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:35:25.240160Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240163Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.240169Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240173Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.240179Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240184Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.240186Z  INFO vyder_core::parser: Parsed expression ''1' at test 1:5 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:35:25.240198Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240199Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.240206Z  INFO vyder_core::parser: Advancing to token index 4: ';' [INFO] [stdout] 2025-10-01T14:35:25.240215Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240221Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.240226Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240236Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240246Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240257Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240288Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240300Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240309Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240315Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.240317Z  INFO vyder_core::parser: Parsed expression ''Index' at test 1:1 - 1:6 (6 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.240329Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.240340Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240344Z  INFO vyder_core::parser: Advancing to token index 1: '.' [INFO] [stdout] 2025-10-01T14:35:25.240350Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240354Z  INFO vyder_core::parser: Token at distance 0 from 1 is '.' at test 1:4 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240357Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:35:25.240361Z  INFO vyder_core::parser: Advancing to token index 2: 'bar' [INFO] [stdout] 2025-10-01T14:35:25.240366Z  INFO vyder_core::parser: Advancing to token index 5: 'EOF' [INFO] [stdout] 2025-10-01T14:35:25.240371Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-01T14:35:25.240371Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.240379Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-10-01T14:35:25.240377Z  INFO vyder_core::parser: parsed statement ''Index;' at test 1:1 - 1:7 (7 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.240389Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:35:25.240396Z  INFO vyder_core::parser: Token at distance 0 from 5 is None [INFO] [stdout] 2025-10-01T14:35:25.240396Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240402Z  INFO vyder_core::parser: ending branch for field access at token Some(Token { value: Semicolon(Semicolon), span: Span { start_location: Location { line: 1, column: 8, char_index: 7 }, end_location: None, module_name: "test", snippet: Some("foo.bar;") } }) [INFO] [stdout] 2025-10-01T14:35:25.240416Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240428Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240439Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240449Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240461Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240477Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240487Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240499Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240505Z  INFO vyder_core::parser: Parsed expression ''FieldAccess' at test 1:1 - 1:7 (7 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.240522Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240531Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.240538Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:35:25.240547Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-10-01T14:35:25.240553Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-01T14:35:25.245624Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:35:25.245785Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:35:25.245934Z  INFO vyder_core::parser: Token at distance 0 from 0 is '1' at test 1:1 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246064Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:35:25.246141Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:35:25.246183Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:35:25.246256Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:35:25.246311Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:35:25.246326Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.246324Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:35:25.246344Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.246353Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.246368Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:35:25.246382Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:35:25.246382Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.246393Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:35:25.246401Z  INFO vyder_core::parser: Token at distance 0 from 0 is '1' at test 1:1 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246404Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:35:25.246418Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:35:25.246428Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.246429Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.246442Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.246450Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.246467Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.246492Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.246508Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.246524Z  INFO vyder_core::parser: Token at distance 0 from 0 is '1' at test 1:1 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246533Z  INFO vyder_core::parser: Advancing to token index 1: '..' [INFO] [stdout] 2025-10-01T14:35:25.246545Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:35:25.246557Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:35:25.246566Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:35:25.246567Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.246582Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.246591Z  INFO vyder_core::parser: Advancing to token index 1: '=' [INFO] [stdout] 2025-10-01T14:35:25.240560Z  INFO vyder_core::parser: parsed statement ''FieldAccess;' at test 1:1 - 1:8 (8 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.246603Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246608Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:35:25.246615Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246616Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] 2025-10-01T14:35:25.246627Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246636Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246650Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246660Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246671Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246680Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246688Z  INFO vyder_core::parser: Advancing to token index 2: '12' [INFO] [stdout] 2025-10-01T14:35:25.246694Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:35:25.246700Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:35:25.246705Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:35:25.246711Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:35:25.246726Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:35:25.246733Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.246739Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.246746Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.246576Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:35:25.246760Z  INFO vyder_core::parser: Token at distance 0 from 2 is '12' at test 1:7 - 1:8 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:35:25.246773Z  INFO vyder_core::parser: Advancing to token index 2: '3' [INFO] [stdout] 2025-10-01T14:35:25.246777Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.246781Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.246786Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.246792Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.246792Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.246804Z  INFO vyder_core::parser: Token at distance 0 from 2 is '3' at test 1:4 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246807Z  INFO vyder_core::parser: Token at distance 0 from 2 is '12' at test 1:7 - 1:8 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:35:25.246815Z  INFO vyder_core::parser: Advancing to token index 3: 'or' [INFO] [stdout] 2025-10-01T14:35:25.246818Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.246826Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:35:25.246826Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.246836Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:35:25.246838Z  INFO vyder_core::parser: Token at distance 0 from 2 is '3' at test 1:4 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246846Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-10-01T14:35:25.246847Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:35:25.246857Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246859Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:35:25.246867Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246873Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:35:25.246876Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246884Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:35:25.246895Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:35:25.246896Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246902Z  INFO vyder_core::parser: Advancing to token index 4: '3' [INFO] [stdout] 2025-10-01T14:35:25.246907Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246908Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:35:25.246914Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:35:25.246916Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246920Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:35:25.246925Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246926Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:35:25.246932Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.246931Z  INFO vyder_core::parser: Parsed expression ''Range' at test 1:1 - 1:4 (4 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.246938Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.246944Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.246946Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246955Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246955Z  INFO vyder_core::parser: Token at distance 0 from 4 is '3' at test 1:13 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.246962Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:35:25.246971Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-10-01T14:35:25.246972Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.246976Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-01T14:35:25.246983Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.246982Z  INFO vyder_core::parser: parsed statement ''Range;' at test 1:1 - 1:5 (5 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.246995Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:35:25.246997Z  INFO vyder_core::parser: Token at distance 0 from 4 is '3' at test 1:13 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.247000Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] 2025-10-01T14:35:25.247005Z  INFO vyder_core::parser: Advancing to token index 5: ';' [INFO] [stdout] 2025-10-01T14:35:25.247015Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.247025Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.247034Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.247044Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.247056Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.247065Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.247083Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.247096Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.247105Z  INFO vyder_core::parser: Parsed expression ''Assignment' at test 1:1 - 1:13 (13 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.247123Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.247132Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.247139Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:35:25.247148Z  INFO vyder_core::parser: Advancing to token index 6: 'EOF' [INFO] [stdout] 2025-10-01T14:35:25.247154Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-01T14:35:25.247159Z  INFO vyder_core::parser: parsed statement ''Assignment;' at test 1:1 - 1:14 (14 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.247183Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:35:25.247189Z  INFO vyder_core::parser: Token at distance 0 from 6 is None [INFO] [stdout] 2025-10-01T14:35:25.247799Z  INFO vyder_core::interpreter: evaluating 'not' [INFO] [stdout] 2025-10-01T14:35:25.248305Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.248327Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:35:25.248348Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:35:25.248364Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:35:25.248375Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:35:25.248388Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:35:25.248403Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.248420Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.248433Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.248450Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.248478Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.248562Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.248585Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.248597Z  INFO vyder_core::parser: Advancing to token index 1: '=' [INFO] [stdout] 2025-10-01T14:35:25.248609Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.248620Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.248631Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.248642Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.248656Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.248667Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.248678Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.248688Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.248696Z  INFO vyder_core::parser: Advancing to token index 2: '(' [INFO] [stdout] 2025-10-01T14:35:25.248703Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:35:25.248709Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:35:25.248717Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:35:25.248724Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:35:25.248731Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:35:25.248737Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.248749Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.248755Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.248766Z  INFO vyder_core::parser: Token at distance 0 from 2 is '(' at test 1:7 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.248781Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.248794Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.248805Z  INFO vyder_core::parser: Token at distance 0 from 2 is '(' at test 1:7 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.248814Z  INFO vyder_core::parser: Advancing to token index 3: 'import' [INFO] [stdout] 2025-10-01T14:35:25.248827Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:35:25.248841Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:35:25.248853Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:35:25.248865Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:35:25.248880Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:35:25.248892Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.248905Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.248913Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.248930Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'import' at test 1:8 - 1:13 (6 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^ here [INFO] [stdout] 2025-10-01T14:35:25.248953Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.249016Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.249029Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'import' at test 1:8 - 1:13 (6 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^ here [INFO] [stdout] 2025-10-01T14:35:25.249036Z  INFO vyder_core::parser: Advancing to token index 4: '(' [INFO] [stdout] 2025-10-01T14:35:25.249048Z  INFO vyder_core::parser: Token at distance 0 from 4 is '(' at test 1:14 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.249055Z  INFO vyder_core::parser: Advancing to token index 5: '"std"' [INFO] [stdout] 2025-10-01T14:35:25.249068Z  INFO vyder_core::parser: Token at distance 0 from 5 is '"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here [INFO] [stdout] 2025-10-01T14:35:25.249076Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:35:25.249083Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:35:25.249089Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:35:25.249096Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:35:25.249105Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:35:25.249112Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.249119Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.249125Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.249138Z  INFO vyder_core::parser: Token at distance 0 from 5 is '"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here [INFO] [stdout] 2025-10-01T14:35:25.249152Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.249224Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.249242Z  INFO vyder_core::parser: Token at distance 0 from 5 is '"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here [INFO] [stdout] 2025-10-01T14:35:25.249255Z  INFO vyder_core::parser: Advancing to token index 6: ')' [INFO] [stdout] 2025-10-01T14:35:25.251305Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.251521Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.251732Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.253990Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.254366Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.254719Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.255014Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.255238Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.255540Z  INFO vyder_core::parser: Parsed expression ''"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.255615Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.255633Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.255643Z  INFO vyder_core::parser: Advancing to token index 7: '.' [INFO] [stdout] 2025-10-01T14:35:25.255655Z  INFO vyder_core::parser: Token at distance 0 from 7 is '.' at test 1:21 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.255662Z  INFO vyder_core::parser: Advancing to token index 8: 'argc' [INFO] [stdout] 2025-10-01T14:35:25.255673Z  INFO vyder_core::parser: Token at distance 0 from 8 is 'argc' at test 1:22 - 1:25 (4 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^ here [INFO] [stdout] 2025-10-01T14:35:25.255707Z  INFO vyder_core::parser: Advancing to token index 9: '+' [INFO] [stdout] 2025-10-01T14:35:25.255725Z  INFO vyder_core::parser: Token at distance 0 from 9 is '+' at test 1:27 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.255731Z  INFO vyder_core::parser: ending branch for field access at token Some(Token { value: Plus(Plus), span: Span { start_location: Location { line: 1, column: 27, char_index: 26 }, end_location: None, module_name: "test", snippet: Some("foo = (import('std').argc + 2) + 2;") } }) [INFO] [stdout] 2025-10-01T14:35:25.255746Z  INFO vyder_core::parser: Token at distance 0 from 9 is '+' at test 1:27 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.255758Z  INFO vyder_core::parser: Token at distance 0 from 9 is '+' at test 1:27 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.255800Z  INFO vyder_core::parser: Token at distance 0 from 9 is '+' at test 1:27 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.255812Z  INFO vyder_core::parser: Advancing to token index 10: '2' [INFO] [stdout] 2025-10-01T14:35:25.255818Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.255824Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.255830Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.255842Z  INFO vyder_core::parser: Token at distance 0 from 10 is '2' at test 1:29 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.255856Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.256172Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.256236Z  INFO vyder_core::parser: Token at distance 0 from 10 is '2' at test 1:29 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.256281Z  INFO vyder_core::parser: Advancing to token index 11: ')' [INFO] [stdout] 2025-10-01T14:35:25.256328Z  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] test parser::tests::index_test ... ok [INFO] [stdout] 2025-10-01T14:35:25.256439Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.256456Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.256470Z  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] test parser::tests::field_access_test ... ok [INFO] [stdout] 2025-10-01T14:35:25.256823Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.256931Z  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] test parser::tests::ranges_test ... ok [INFO] [stdout] test parser::tests::assignment_test ... ok [INFO] [stdout] test interpreter::tests::not_test ... ok [INFO] [stdout] test interpreter::tests::number_test ... ok [INFO] [stdout] test interpreter::tests::negate_test ... ok [INFO] [stdout] test statement::tests::expect_test ... ok [INFO] [stdout] 2025-10-01T14:35:25.257812Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.257892Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.258103Z  INFO vyder_core::parser: Parsed expression ''Addition' at test 1:8 - 1:29 (22 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^^^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.258316Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.258519Z  INFO vyder_core::parser: Advancing to token index 12: '+' [INFO] [stdout] 2025-10-01T14:35:25.258544Z  INFO vyder_core::parser: Token at distance 0 from 12 is '+' at test 1:32 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.258558Z  INFO vyder_core::parser: Token at distance 0 from 12 is '+' at test 1:32 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.258569Z  INFO vyder_core::parser: Token at distance 0 from 12 is '+' at test 1:32 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.258958Z  INFO vyder_core::parser: Advancing to token index 13: '2' [INFO] [stdout] 2025-10-01T14:35:25.258970Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.258976Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.258983Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.258998Z  INFO vyder_core::parser: Token at distance 0 from 13 is '2' at test 1:34 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.259477Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:35:25.259495Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.259511Z  INFO vyder_core::parser: Token at distance 0 from 13 is '2' at test 1:34 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.259520Z  INFO vyder_core::parser: Advancing to token index 14: ';' [INFO] [stdout] 2025-10-01T14:35:25.259736Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.259753Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.259765Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.259777Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.259792Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.259805Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.259815Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.259827Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.260177Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:35:25.260345Z  INFO vyder_core::parser: Token at distance 0 from 0 is '!' at test 1:1 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.260709Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:35:25.260730Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:35:25.260749Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:35:25.260436Z  INFO vyder_core::parser: Parsed expression ''Assignment' at test 1:1 - 1:34 (34 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.260807Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.260822Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.260830Z  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] test token::tests::expect_test ... ok [INFO] [stdout] 2025-10-01T14:35:25.261233Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:35:25.261253Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:35:25.260840Z  INFO vyder_core::parser: Advancing to token index 15: 'EOF' [INFO] [stdout] 2025-10-01T14:35:25.261366Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-01T14:35:25.261490Z  INFO vyder_core::parser: parsed statement ''Assignment;' at test 1:1 - 1:35 (35 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.261671Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:35:25.261686Z  INFO vyder_core::parser: Token at distance 0 from 15 is None [INFO] [stdout] 2025-10-01T14:35:25.261842Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:35:25.261891Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:35:25.261909Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.261922Z  INFO vyder_core::parser: Token at distance 0 from 0 is '!' at test 1:1 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.261935Z  INFO vyder_core::parser: Advancing to token index 1: '-' [INFO] [stdout] 2025-10-01T14:35:25.261945Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.261958Z  INFO vyder_core::parser: Token at distance 0 from 1 is '-' at test 1:2 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.261965Z  INFO vyder_core::parser: Advancing to token index 2: 'foo' [INFO] [stdout] 2025-10-01T14:35:25.261971Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:35:25.262574Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'foo' at test 1:3 - 1:5 (3 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.262613Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] test parser::tests::import_test ... ok [INFO] [stdout] 2025-10-01T14:35:25.262764Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:35:25.262784Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'foo' at test 1:3 - 1:5 (3 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:35:25.262793Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-10-01T14:35:25.262804Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.262823Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.262833Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.262842Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.262855Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.262865Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.262876Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.262886Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.262892Z  INFO vyder_core::parser: Parsed expression ''Not' at test 1:1 - 1:5 (5 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.262906Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.262915Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:35:25.262922Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:35:25.262932Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-10-01T14:35:25.262938Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-01T14:35:25.262944Z  INFO vyder_core::parser: parsed statement ''Not;' at test 1:1 - 1:6 (6 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^^^^ here' [INFO] [stdout] 2025-10-01T14:35:25.262957Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:35:25.262963Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] test parser::tests::unary_test ... ok [INFO] [stderr] Running unittests src/bin/vyder_debug_cli/main.rs (/opt/rustwide/target/debug/deps/vyder_debug_cli-4ba272964e4934ad) [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Doc-tests vyder_core [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.51s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "c3d97949ee48e1f1d9a0472370af971c1cebdb6e5a509db579e8d3388615b4ce", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c3d97949ee48e1f1d9a0472370af971c1cebdb6e5a509db579e8d3388615b4ce", kill_on_drop: false }` [INFO] [stdout] c3d97949ee48e1f1d9a0472370af971c1cebdb6e5a509db579e8d3388615b4ce