[INFO] fetching crate vyder_core 0.3.4... [INFO] testing vyder_core-0.3.4 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate vyder_core 0.3.4 into /workspace/builds/worker-7-tc1/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-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate vyder_core 0.3.4 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded clap v4.5.9 [INFO] [stderr] Downloaded enum_downcast_derive v0.2.0 [INFO] [stderr] Downloaded enum_downcast v0.2.0 [INFO] [stderr] Downloaded tracing-test-macro v0.2.5 [INFO] [stderr] Downloaded tracing-test v0.2.5 [INFO] [stderr] Downloaded vyder_macros v0.3.4 [INFO] [stderr] Downloaded clap_builder v4.5.9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 22b3009c880916adc997697d0b2aae8cd6cda5c3cd256e9f408708cad92d2b5a [INFO] running `Command { std: "docker" "start" "-a" "22b3009c880916adc997697d0b2aae8cd6cda5c3cd256e9f408708cad92d2b5a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "22b3009c880916adc997697d0b2aae8cd6cda5c3cd256e9f408708cad92d2b5a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "22b3009c880916adc997697d0b2aae8cd6cda5c3cd256e9f408708cad92d2b5a", kill_on_drop: false }` [INFO] [stdout] 22b3009c880916adc997697d0b2aae8cd6cda5c3cd256e9f408708cad92d2b5a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 29811fc40b2542bcd5afc77f781644c4a99c92a0593694527c66be8523c88ead [INFO] running `Command { std: "docker" "start" "-a" "29811fc40b2542bcd5afc77f781644c4a99c92a0593694527c66be8523c88ead", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling colored v2.1.0 [INFO] [stderr] Compiling clap_builder v4.5.9 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling regex v1.10.5 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling enum_downcast_derive v0.2.0 [INFO] [stderr] Compiling tracing-test-macro v0.2.5 [INFO] [stderr] Compiling clap_derive v4.5.8 [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 20.77s [INFO] running `Command { std: "docker" "inspect" "29811fc40b2542bcd5afc77f781644c4a99c92a0593694527c66be8523c88ead", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "29811fc40b2542bcd5afc77f781644c4a99c92a0593694527c66be8523c88ead", kill_on_drop: false }` [INFO] [stdout] 29811fc40b2542bcd5afc77f781644c4a99c92a0593694527c66be8523c88ead [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4e933476ce5dee766ddcc83ade7bce849cfcf94086b95389a4bdf7521adeec64 [INFO] running `Command { std: "docker" "start" "-a" "4e933476ce5dee766ddcc83ade7bce849cfcf94086b95389a4bdf7521adeec64", kill_on_drop: false }` [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/value/values.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 35 | #[derive(Clone, Debug, IntoValueEnum, PartialEq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 43 | function: fn(&[ValueResult], Span) -> Result<(ValueResult, Option)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling vyder_core v0.3.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/value/values.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 35 | #[derive(Clone, Debug, IntoValueEnum, PartialEq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 43 | function: fn(&[ValueResult], Span) -> Result<(ValueResult, Option)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.45s [INFO] running `Command { std: "docker" "inspect" "4e933476ce5dee766ddcc83ade7bce849cfcf94086b95389a4bdf7521adeec64", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4e933476ce5dee766ddcc83ade7bce849cfcf94086b95389a4bdf7521adeec64", kill_on_drop: false }` [INFO] [stdout] 4e933476ce5dee766ddcc83ade7bce849cfcf94086b95389a4bdf7521adeec64 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2b17bd635ac9292a25bc2d13580d1a9cc41aa8bdf7fcd06adec6b6016eb7556c [INFO] running `Command { std: "docker" "start" "-a" "2b17bd635ac9292a25bc2d13580d1a9cc41aa8bdf7fcd06adec6b6016eb7556c", 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.08s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vyder_core-36b7dcc3cc730f69) [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] 2026-04-20T01:07:12.002208Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2026-04-20T01:07:12.002652Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2026-04-20T01:07:12.004392Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.004476Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2026-04-20T01:07:12.004512Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.004546Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2026-04-20T01:07:12.004575Z  INFO vyder_core::lexer: Char at distance 1 from 0 is '=' [INFO] [stdout] 2026-04-20T01:07:12.004602Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2026-04-20T01:07:12.004641Z  INFO vyder_core::lexer: Next token is '+=' [INFO] [stdout] 2026-04-20T01:07:12.004690Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2026-04-20T01:07:12.004734Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.004765Z  INFO vyder_core::lexer: Constructing span at line 1, column 3 [INFO] [stdout] 2026-04-20T01:07:12.004805Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.004836Z  INFO vyder_core::lexer: Char at distance 0 from 2 is ' [INFO] [stdout] ' [INFO] [stdout] 2026-04-20T01:07:12.004871Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.004897Z  INFO vyder_core::lexer: Constructing span at line 2, column 1 [INFO] [stdout] 2026-04-20T01:07:12.004925Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2026-04-20T01:07:12.002429Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2026-04-20T01:07:12.005168Z  INFO vyder_core::lexer: Char at distance 0 from 3 is '-' [INFO] [stdout] 2026-04-20T01:07:12.005184Z  INFO vyder_core::lexer: Char at distance 1 from 3 is '-' [INFO] [stdout] 2026-04-20T01:07:12.003421Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2026-04-20T01:07:12.005194Z  INFO vyder_core::lexer: Char at distance 1 from 3 is '-' [INFO] [stdout] 2026-04-20T01:07:12.003860Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2026-04-20T01:07:12.005204Z  INFO vyder_core::lexer: Next token is '-' [INFO] [stdout] 2026-04-20T01:07:12.005207Z  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] 2026-04-20T01:07:12.005217Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2026-04-20T01:07:12.005226Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.005228Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.005243Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2026-04-20T01:07:12.005245Z  INFO vyder_core::lexer: Constructing span at line 2, column 2 [INFO] [stdout] 2026-04-20T01:07:12.005256Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2026-04-20T01:07:12.005255Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.005254Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2026-04-20T01:07:12.005266Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '-' [INFO] [stdout] 2026-04-20T01:07:12.005271Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2026-04-20T01:07:12.005275Z  INFO vyder_core::lexer: Char at distance 1 from 4 is ' ' [INFO] [stdout] 2026-04-20T01:07:12.005283Z  INFO vyder_core::lexer: Char at distance 1 from 0 is '"' [INFO] [stdout] 2026-04-20T01:07:12.005284Z  INFO vyder_core::lexer: Char at distance 1 from 4 is ' ' [INFO] [stdout] 2026-04-20T01:07:12.005295Z  INFO vyder_core::lexer: Next token is '-' [INFO] [stdout] 2026-04-20T01:07:12.005295Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2026-04-20T01:07:12.005335Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2026-04-20T01:07:12.005344Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.005342Z  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] 2026-04-20T01:07:12.005353Z  INFO vyder_core::lexer: Constructing span at line 2, column 3 [INFO] [stdout] 2026-04-20T01:07:12.005361Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2026-04-20T01:07:12.005361Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2026-04-20T01:07:12.005368Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2026-04-20T01:07:12.005371Z  INFO vyder_core::lexer: Char at distance 0 from 5 is ' ' [INFO] [stdout] 2026-04-20T01:07:12.005380Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2026-04-20T01:07:12.005384Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2026-04-20T01:07:12.005388Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.005388Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2026-04-20T01:07:12.005397Z  INFO vyder_core::lexer: Constructing span at line 2, column 4 [INFO] [stdout] 2026-04-20T01:07:12.005401Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2026-04-20T01:07:12.005409Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2026-04-20T01:07:12.005416Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2026-04-20T01:07:12.005417Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2026-04-20T01:07:12.005420Z  INFO vyder_core::lexer: Char at distance 0 from 6 is '/' [INFO] [stdout] 2026-04-20T01:07:12.005430Z  INFO vyder_core::lexer: Char at distance 1 from 6 is 'None' [INFO] [stdout] 2026-04-20T01:07:12.005433Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2026-04-20T01:07:12.005440Z  INFO vyder_core::lexer: Char at distance 1 from 6 is 'None' [INFO] [stdout] 2026-04-20T01:07:12.005442Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.005449Z  INFO vyder_core::lexer: Next token is '/' [INFO] [stdout] 2026-04-20T01:07:12.005447Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.005460Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2026-04-20T01:07:12.005469Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.005475Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.005477Z  INFO vyder_core::lexer: Constructing span at line 2, column 5 [INFO] [stdout] 2026-04-20T01:07:12.005486Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2026-04-20T01:07:12.005497Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'None' [INFO] [stdout] 2026-04-20T01:07:12.005499Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.005506Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2026-04-20T01:07:12.005521Z  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] 2026-04-20T01:07:12.004054Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2026-04-20T01:07:12.002907Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2026-04-20T01:07:12.005614Z  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] 2026-04-20T01:07:12.005633Z  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] 2026-04-20T01:07:12.005638Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2026-04-20T01:07:12.005657Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2026-04-20T01:07:12.005659Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2026-04-20T01:07:12.005677Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2026-04-20T01:07:12.005693Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2026-04-20T01:07:12.005711Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2026-04-20T01:07:12.005727Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.005745Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.005758Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.005780Z  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] 2026-04-20T01:07:12.005824Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] test interpreter::tests::number_test ... ok [INFO] [stdout] 2026-04-20T01:07:12.005941Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.005963Z  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] 2026-04-20T01:07:12.005984Z  INFO vyder_core::parser: Advancing to token index 1: '=' [INFO] [stdout] test lexer::tests::operators_test ... ok [INFO] [stdout] 2026-04-20T01:07:12.006002Z  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] 2026-04-20T01:07:12.006017Z  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] 2026-04-20T01:07:12.006031Z  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] 2026-04-20T01:07:12.006044Z  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] 2026-04-20T01:07:12.006050Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2026-04-20T01:07:12.006062Z  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] 2026-04-20T01:07:12.006078Z  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] 2026-04-20T01:07:12.006081Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2026-04-20T01:07:12.006092Z  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] 2026-04-20T01:07:12.006103Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2026-04-20T01:07:12.006107Z  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] 2026-04-20T01:07:12.006119Z  INFO vyder_core::parser: Advancing to token index 2: '(' [INFO] [stdout] 2026-04-20T01:07:12.006120Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2026-04-20T01:07:12.006127Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2026-04-20T01:07:12.006136Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2026-04-20T01:07:12.006140Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.006144Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2026-04-20T01:07:12.006152Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2026-04-20T01:07:12.006156Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.006160Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2026-04-20T01:07:12.006168Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.006172Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.006177Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.006186Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.006195Z  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] 2026-04-20T01:07:12.006198Z  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] 2026-04-20T01:07:12.006215Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.006233Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.006249Z  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] 2026-04-20T01:07:12.006250Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.006259Z  INFO vyder_core::parser: Advancing to token index 3: 'import' [INFO] [stdout] 2026-04-20T01:07:12.006280Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2026-04-20T01:07:12.006294Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2026-04-20T01:07:12.006331Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2026-04-20T01:07:12.006346Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2026-04-20T01:07:12.006363Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2026-04-20T01:07:12.006369Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.006376Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.006394Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.006398Z  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] 2026-04-20T01:07:12.006406Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.006414Z  INFO vyder_core::parser: Advancing to token index 1: '(' [INFO] [stdout] 2026-04-20T01:07:12.006430Z  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] 2026-04-20T01:07:12.006432Z  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] 2026-04-20T01:07:12.006445Z  INFO vyder_core::parser: Advancing to token index 2: 'bar' [INFO] [stdout] 2026-04-20T01:07:12.006462Z  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] 2026-04-20T01:07:12.006461Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.006473Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2026-04-20T01:07:12.006483Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2026-04-20T01:07:12.006493Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2026-04-20T01:07:12.006503Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2026-04-20T01:07:12.006512Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2026-04-20T01:07:12.006520Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.006529Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.006538Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.006555Z  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] 2026-04-20T01:07:12.006559Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.006573Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.006582Z  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] 2026-04-20T01:07:12.006594Z  INFO vyder_core::parser: Advancing to token index 4: '(' [INFO] [stdout] 2026-04-20T01:07:12.006611Z  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] 2026-04-20T01:07:12.006622Z  INFO vyder_core::parser: Advancing to token index 5: '"std"' [INFO] [stdout] 2026-04-20T01:07:12.006639Z  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] 2026-04-20T01:07:12.006637Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.006650Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2026-04-20T01:07:12.006660Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2026-04-20T01:07:12.006663Z  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] 2026-04-20T01:07:12.006669Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2026-04-20T01:07:12.006676Z  INFO vyder_core::parser: Advancing to token index 3: '(' [INFO] [stdout] 2026-04-20T01:07:12.006680Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2026-04-20T01:07:12.006691Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2026-04-20T01:07:12.006693Z  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] 2026-04-20T01:07:12.006701Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.006705Z  INFO vyder_core::parser: Advancing to token index 4: ')' [INFO] [stdout] 2026-04-20T01:07:12.006714Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.006721Z  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] 2026-04-20T01:07:12.006725Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.006732Z  INFO vyder_core::parser: Advancing to token index 5: ')' [INFO] [stdout] 2026-04-20T01:07:12.006744Z  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] 2026-04-20T01:07:12.006750Z  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] 2026-04-20T01:07:12.006765Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.006766Z  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] 2026-04-20T01:07:12.006793Z  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] 2026-04-20T01:07:12.006807Z  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] 2026-04-20T01:07:12.006824Z  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] 2026-04-20T01:07:12.006837Z  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] 2026-04-20T01:07:12.006849Z  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] 2026-04-20T01:07:12.006853Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.006863Z  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] 2026-04-20T01:07:12.006889Z  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] 2026-04-20T01:07:12.006908Z  INFO vyder_core::parser: Advancing to token index 6: ')' [INFO] [stdout] 2026-04-20T01:07:12.006898Z  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] 2026-04-20T01:07:12.006926Z  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] 2026-04-20T01:07:12.006928Z  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] 2026-04-20T01:07:12.003249Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2026-04-20T01:07:12.006943Z  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] 2026-04-20T01:07:12.006946Z  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] 2026-04-20T01:07:12.006954Z  INFO vyder_core::parser: Advancing to token index 6: ';' [INFO] [stdout] 2026-04-20T01:07:12.006963Z  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] 2026-04-20T01:07:12.006967Z  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] 2026-04-20T01:07:12.006972Z  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] 2026-04-20T01:07:12.006979Z  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] 2026-04-20T01:07:12.006981Z  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] 2026-04-20T01:07:12.006995Z  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] 2026-04-20T01:07:12.006998Z  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] 2026-04-20T01:07:12.006998Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2026-04-20T01:07:12.007008Z  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] 2026-04-20T01:07:12.007015Z  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] 2026-04-20T01:07:12.007016Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2026-04-20T01:07:12.007024Z  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] 2026-04-20T01:07:12.007031Z  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] 2026-04-20T01:07:12.007033Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2026-04-20T01:07:12.007037Z  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] 2026-04-20T01:07:12.007047Z  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] 2026-04-20T01:07:12.007051Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2026-04-20T01:07:12.007052Z  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] 2026-04-20T01:07:12.007066Z  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] 2026-04-20T01:07:12.007065Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2026-04-20T01:07:12.007060Z  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] 2026-04-20T01:07:12.007084Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.007075Z  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] 2026-04-20T01:07:12.007100Z  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] 2026-04-20T01:07:12.007099Z  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] 2026-04-20T01:07:12.003869Z  INFO vyder_core::interpreter: evaluating 'not' [INFO] [stdout] 2026-04-20T01:07:12.007113Z  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] 2026-04-20T01:07:12.007132Z  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] 2026-04-20T01:07:12.007132Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2026-04-20T01:07:12.007144Z  INFO vyder_core::parser: Advancing to token index 7: '.' [INFO] [stdout] 2026-04-20T01:07:12.007146Z  INFO vyder_core::parser: Advancing to token index 7: 'EOF' [INFO] [stdout] 2026-04-20T01:07:12.007162Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2026-04-20T01:07:12.007161Z  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] 2026-04-20T01:07:12.007173Z  INFO vyder_core::parser: Advancing to token index 8: 'argc' [INFO] [stdout] 2026-04-20T01:07:12.007178Z  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] 2026-04-20T01:07:12.007190Z  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] 2026-04-20T01:07:12.007199Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2026-04-20T01:07:12.007203Z  INFO vyder_core::parser: Advancing to token index 9: '+' [INFO] [stdout] 2026-04-20T01:07:12.007208Z  INFO vyder_core::parser: Token at distance 0 from 7 is None [INFO] [stdout] 2026-04-20T01:07:12.007239Z  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] 2026-04-20T01:07:12.007250Z  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] 2026-04-20T01:07:12.007275Z  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] 2026-04-20T01:07:12.007293Z  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] 2026-04-20T01:07:12.007342Z  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] 2026-04-20T01:07:12.007356Z  INFO vyder_core::parser: Advancing to token index 10: '2' [INFO] [stdout] 2026-04-20T01:07:12.007366Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.007375Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.007385Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.007409Z  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] test statement::tests::expect_test ... ok [INFO] [stdout] test interpreter::tests::group_test ... 2026-04-20T01:07:12.007430Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] ok [INFO] [stdout] 2026-04-20T01:07:12.007444Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.004357Z  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] 2026-04-20T01:07:12.007477Z  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] 2026-04-20T01:07:12.005065Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2026-04-20T01:07:12.007492Z  INFO vyder_core::parser: Advancing to token index 11: ')' [INFO] [stdout] 2026-04-20T01:07:12.007508Z  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] 2026-04-20T01:07:12.007507Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2026-04-20T01:07:12.007509Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.007522Z  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] 2026-04-20T01:07:12.007528Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2026-04-20T01:07:12.007530Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2026-04-20T01:07:12.007537Z  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] 2026-04-20T01:07:12.007540Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.007546Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2026-04-20T01:07:12.007553Z  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] 2026-04-20T01:07:12.007554Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2026-04-20T01:07:12.007565Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2026-04-20T01:07:12.007563Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2026-04-20T01:07:12.007571Z  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] 2026-04-20T01:07:12.007575Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2026-04-20T01:07:12.007583Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2026-04-20T01:07:12.007586Z  INFO vyder_core::lexer: Char at distance 0 from 1 is 'o' [INFO] [stdout] 2026-04-20T01:07:12.007588Z  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] 2026-04-20T01:07:12.007595Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2026-04-20T01:07:12.007604Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'o' [INFO] [stdout] 2026-04-20T01:07:12.007605Z  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] 2026-04-20T01:07:12.007598Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.007613Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2026-04-20T01:07:12.007622Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.007622Z  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] 2026-04-20T01:07:12.007622Z  INFO vyder_core::lexer: Char at distance 0 from 3 is ' ' [INFO] [stdout] 2026-04-20T01:07:12.007634Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.007638Z  INFO vyder_core::lexer: Next token is 'foo' [INFO] [stdout] 2026-04-20T01:07:12.007635Z  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] 2026-04-20T01:07:12.007657Z  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] 2026-04-20T01:07:12.007658Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2026-04-20T01:07:12.007665Z  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] 2026-04-20T01:07:12.007668Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.007677Z  INFO vyder_core::lexer: Constructing span at line 1, column 4 [INFO] [stdout] 2026-04-20T01:07:12.007677Z  INFO vyder_core::parser: Advancing to token index 12: '+' [INFO] [stdout] 2026-04-20T01:07:12.007686Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.007686Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.007699Z  INFO vyder_core::lexer: Char at distance 0 from 3 is ' ' [INFO] [stdout] 2026-04-20T01:07:12.007698Z  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] 2026-04-20T01:07:12.007708Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2026-04-20T01:07:12.007716Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.007717Z  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] 2026-04-20T01:07:12.007726Z  INFO vyder_core::lexer: Constructing span at line 1, column 5 [INFO] [stdout] 2026-04-20T01:07:12.007735Z  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] 2026-04-20T01:07:12.007736Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.007746Z  INFO vyder_core::parser: Advancing to token index 13: '2' [INFO] [stdout] 2026-04-20T01:07:12.007747Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'r' [INFO] [stdout] 2026-04-20T01:07:12.007756Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.007758Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'r' [INFO] [stdout] 2026-04-20T01:07:12.007765Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.007765Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.007767Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2026-04-20T01:07:12.007774Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.007778Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'e' [INFO] [stdout] 2026-04-20T01:07:12.007782Z  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] 2026-04-20T01:07:12.007787Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2026-04-20T01:07:12.007788Z  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] 2026-04-20T01:07:12.007794Z  INFO vyder_core::parser: Advancing to token index 1: '[' [INFO] [stdout] 2026-04-20T01:07:12.007796Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 't' [INFO] [stdout] 2026-04-20T01:07:12.007806Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2026-04-20T01:07:12.007805Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.007809Z  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] 2026-04-20T01:07:12.007815Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'u' [INFO] [stdout] 2026-04-20T01:07:12.007817Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.007820Z  INFO vyder_core::parser: Advancing to token index 2: '1' [INFO] [stdout] 2026-04-20T01:07:12.007823Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2026-04-20T01:07:12.007829Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2026-04-20T01:07:12.007833Z  INFO vyder_core::lexer: Char at distance 0 from 8 is 'r' [INFO] [stdout] 2026-04-20T01:07:12.007839Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2026-04-20T01:07:12.007842Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2026-04-20T01:07:12.007848Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2026-04-20T01:07:12.007851Z  INFO vyder_core::lexer: Char at distance 0 from 9 is 'n' [INFO] [stdout] 2026-04-20T01:07:12.007857Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2026-04-20T01:07:12.007862Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2026-04-20T01:07:12.007863Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.007866Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2026-04-20T01:07:12.007871Z  INFO vyder_core::lexer: Char at distance 0 from 10 is ')' [INFO] [stdout] 2026-04-20T01:07:12.007875Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.007881Z  INFO vyder_core::lexer: Next token is 'return' [INFO] [stdout] 2026-04-20T01:07:12.007885Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.007892Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2026-04-20T01:07:12.007894Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.007901Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.007908Z  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] 2026-04-20T01:07:12.007909Z  INFO vyder_core::lexer: Constructing span at line 1, column 11 [INFO] [stdout] 2026-04-20T01:07:12.007919Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.007924Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.007929Z  INFO vyder_core::lexer: Char at distance 0 from 10 is ')' [INFO] [stdout] 2026-04-20T01:07:12.007938Z  INFO vyder_core::lexer: Next token is ')' [INFO] [stdout] 2026-04-20T01:07:12.007946Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.007948Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2026-04-20T01:07:12.007957Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.007963Z  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] 2026-04-20T01:07:12.007965Z  INFO vyder_core::lexer: Constructing span at line 1, column 12 [INFO] [stdout] 2026-04-20T01:07:12.007975Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.007975Z  INFO vyder_core::parser: Advancing to token index 1: '.' [INFO] [stdout] 2026-04-20T01:07:12.007985Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2026-04-20T01:07:12.007994Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2026-04-20T01:07:12.007992Z  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] 2026-04-20T01:07:12.007994Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.008006Z  INFO vyder_core::parser: Advancing to token index 2: 'bar' [INFO] [stdout] 2026-04-20T01:07:12.008011Z  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] 2026-04-20T01:07:12.008022Z  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] 2026-04-20T01:07:12.008022Z  INFO vyder_core::parser: Advancing to token index 3: ']' [INFO] [stdout] 2026-04-20T01:07:12.008033Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2026-04-20T01:07:12.008038Z  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] 2026-04-20T01:07:12.008051Z  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] 2026-04-20T01:07:12.008052Z  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] test parser::tests::calls_test ... 2026-04-20T01:07:12.008059Z  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] 2026-04-20T01:07:12.008098Z  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] ok2026-04-20T01:07:12.008116Z  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] [INFO] [stdout] test interpreter::tests::not_test ... ok [INFO] [stdout] 2026-04-20T01:07:12.008131Z  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] 2026-04-20T01:07:12.008147Z  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] 2026-04-20T01:07:12.008166Z  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] 2026-04-20T01:07:12.008181Z  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] 2026-04-20T01:07:12.008195Z  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] 2026-04-20T01:07:12.008210Z  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] 2026-04-20T01:07:12.008222Z  INFO vyder_core::parser: Parsed expression ''FieldAccess' at test 1:1 - 1:7 (7 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^^^^^ here' [INFO] [stdout] 2026-04-20T01:07:12.008244Z  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] 2026-04-20T01:07:12.008258Z  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] 2026-04-20T01:07:12.008268Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2026-04-20T01:07:12.008281Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2026-04-20T01:07:12.008290Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2026-04-20T01:07:12.008299Z  INFO vyder_core::parser: parsed statement ''FieldAccess;' at test 1:1 - 1:8 (8 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^^^^^^ here' [INFO] [stdout] 2026-04-20T01:07:12.008488Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2026-04-20T01:07:12.008501Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] 2026-04-20T01:07:12.005294Z  INFO vyder_core::lexer: Next token is '+' [INFO] [stdout] 2026-04-20T01:07:12.008651Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2026-04-20T01:07:12.008668Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.008679Z  INFO vyder_core::lexer: Constructing span at line 1, column 2 [INFO] [stdout] 2026-04-20T01:07:12.008689Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.008703Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '"' [INFO] [stdout] 2026-04-20T01:07:12.008715Z  INFO vyder_core::lexer: get_string function [INFO] [stdout] 2026-04-20T01:07:12.008725Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2026-04-20T01:07:12.008735Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'H' [INFO] [stdout] 2026-04-20T01:07:12.003016Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2026-04-20T01:07:12.008746Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2026-04-20T01:07:12.008756Z  INFO vyder_core::lexer: Char at distance 0 from 3 is 'e' [INFO] [stdout] 2026-04-20T01:07:12.008767Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2026-04-20T01:07:12.008777Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'l' [INFO] [stdout] 2026-04-20T01:07:12.008773Z  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] 2026-04-20T01:07:12.008787Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2026-04-20T01:07:12.008798Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2026-04-20T01:07:12.008798Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'l' [INFO] [stdout] 2026-04-20T01:07:12.008809Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2026-04-20T01:07:12.008814Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2026-04-20T01:07:12.008819Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'o' [INFO] [stdout] 2026-04-20T01:07:12.008827Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2026-04-20T01:07:12.008829Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2026-04-20T01:07:12.008840Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ',' [INFO] [stdout] 2026-04-20T01:07:12.008841Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2026-04-20T01:07:12.008850Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2026-04-20T01:07:12.008858Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2026-04-20T01:07:12.008861Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2026-04-20T01:07:12.008871Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2026-04-20T01:07:12.008872Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.008881Z  INFO vyder_core::lexer: Char at distance 0 from 9 is 'W' [INFO] [stdout] 2026-04-20T01:07:12.008889Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.008892Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2026-04-20T01:07:12.008900Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.008904Z  INFO vyder_core::lexer: Char at distance 0 from 10 is 'o' [INFO] [stdout] 2026-04-20T01:07:12.008915Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2026-04-20T01:07:12.008918Z  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] 2026-04-20T01:07:12.008925Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'r' [INFO] [stdout] 2026-04-20T01:07:12.008936Z  INFO vyder_core::lexer: Advancing to char index 12 [INFO] [stdout] 2026-04-20T01:07:12.008946Z  INFO vyder_core::lexer: Char at distance 0 from 12 is 'l' [INFO] [stdout] 2026-04-20T01:07:12.008949Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.008956Z  INFO vyder_core::lexer: Advancing to char index 13 [INFO] [stdout] 2026-04-20T01:07:12.008967Z  INFO vyder_core::lexer: Char at distance 0 from 13 is 'd' [INFO] [stdout] 2026-04-20T01:07:12.008977Z  INFO vyder_core::lexer: Advancing to char index 14 [INFO] [stdout] 2026-04-20T01:07:12.008987Z  INFO vyder_core::lexer: Char at distance 0 from 14 is '!' [INFO] [stdout] 2026-04-20T01:07:12.008997Z  INFO vyder_core::lexer: Advancing to char index 15 [INFO] [stdout] 2026-04-20T01:07:12.009007Z  INFO vyder_core::lexer: Char at distance 0 from 15 is '"' [INFO] [stdout] 2026-04-20T01:07:12.009019Z  INFO vyder_core::lexer: Next token is '"Hello, World!"' [INFO] [stdout] 2026-04-20T01:07:12.009031Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.009033Z  INFO vyder_core::lexer: Advancing to char index 16 [INFO] [stdout] 2026-04-20T01:07:12.009043Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.009047Z  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] 2026-04-20T01:07:12.009052Z  INFO vyder_core::lexer: Constructing span at line 1, column 17 [INFO] [stdout] 2026-04-20T01:07:12.009058Z  INFO vyder_core::parser: Advancing to token index 1: '..' [INFO] [stdout] 2026-04-20T01:07:12.009061Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.009071Z  INFO vyder_core::lexer: Char at distance 0 from 16 is ''' [INFO] [stdout] 2026-04-20T01:07:12.009076Z  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] 2026-04-20T01:07:12.009081Z  INFO vyder_core::lexer: get_string function [INFO] [stdout] 2026-04-20T01:07:12.009089Z  INFO vyder_core::lexer: Advancing to char index 17 [INFO] [stdout] 2026-04-20T01:07:12.009098Z  INFO vyder_core::lexer: Char at distance 0 from 17 is 'f' [INFO] [stdout] 2026-04-20T01:07:12.009102Z  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] 2026-04-20T01:07:12.009107Z  INFO vyder_core::lexer: Advancing to char index 18 [INFO] [stdout] 2026-04-20T01:07:12.009117Z  INFO vyder_core::lexer: Char at distance 0 from 18 is 'o' [INFO] [stdout] 2026-04-20T01:07:12.009119Z  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] 2026-04-20T01:07:12.009126Z  INFO vyder_core::lexer: Advancing to char index 19 [INFO] [stdout] 2026-04-20T01:07:12.009135Z  INFO vyder_core::lexer: Char at distance 0 from 19 is 'o' [INFO] [stdout] 2026-04-20T01:07:12.009135Z  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] 2026-04-20T01:07:12.009147Z  INFO vyder_core::lexer: Advancing to char index 20 [INFO] [stdout] 2026-04-20T01:07:12.009150Z  INFO vyder_core::parser: Advancing to token index 2: '3' [INFO] [stdout] 2026-04-20T01:07:12.009157Z  INFO vyder_core::lexer: Char at distance 0 from 20 is '\' [INFO] [stdout] 2026-04-20T01:07:12.009159Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.009167Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.009168Z  INFO vyder_core::lexer: Char at distance 1 from 20 is 't' [INFO] [stdout] 2026-04-20T01:07:12.009176Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.009189Z  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] 2026-04-20T01:07:12.009190Z  INFO vyder_core::lexer: Advancing to char index 21 without increasing column [INFO] [stdout] 2026-04-20T01:07:12.009201Z  INFO vyder_core::lexer: Advancing to char index 22 [INFO] [stdout] 2026-04-20T01:07:12.009212Z  INFO vyder_core::lexer: Char at distance 0 from 22 is ''' [INFO] [stdout] 2026-04-20T01:07:12.009207Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.009222Z  INFO vyder_core::lexer: Next token is '"foo "' [INFO] [stdout] 2026-04-20T01:07:12.009227Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.009234Z  INFO vyder_core::lexer: Advancing to char index 23 [INFO] [stdout] 2026-04-20T01:07:12.009240Z  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] 2026-04-20T01:07:12.009243Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.009250Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2026-04-20T01:07:12.009251Z  INFO vyder_core::lexer: Constructing span at line 1, column 23 [INFO] [stdout] 2026-04-20T01:07:12.009261Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.009264Z  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] 2026-04-20T01:07:12.009272Z  INFO vyder_core::lexer: Char at distance 0 from 23 is '(' [INFO] [stdout] 2026-04-20T01:07:12.009277Z  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] 2026-04-20T01:07:12.009281Z  INFO vyder_core::lexer: Next token is '(' [INFO] [stdout] 2026-04-20T01:07:12.009290Z  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] 2026-04-20T01:07:12.009292Z  INFO vyder_core::lexer: Advancing to char index 24 [INFO] [stdout] 2026-04-20T01:07:12.009320Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.009323Z  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] 2026-04-20T01:07:12.009331Z  INFO vyder_core::lexer: Constructing span at line 1, column 24 [INFO] [stdout] 2026-04-20T01:07:12.009338Z  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] 2026-04-20T01:07:12.009340Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.009343Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.009351Z  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] 2026-04-20T01:07:12.009353Z  INFO vyder_core::lexer: Char at distance 0 from 24 is 'None' [INFO] [stdout] 2026-04-20T01:07:12.009363Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2026-04-20T01:07:12.009364Z  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] 2026-04-20T01:07:12.009364Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.009374Z  INFO vyder_core::parser: Parsed expression ''Range' at test 1:1 - 1:4 (4 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^^^ here' [INFO] [stdout] 2026-04-20T01:07:12.009386Z  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] 2026-04-20T01:07:12.009394Z  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] 2026-04-20T01:07:12.009403Z  INFO vyder_core::parser: Advancing to token index 1: '-' [INFO] [stdout] 2026-04-20T01:07:12.009408Z  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] 2026-04-20T01:07:12.009416Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.009418Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2026-04-20T01:07:12.009443Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2026-04-20T01:07:12.009443Z  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] 2026-04-20T01:07:12.009452Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2026-04-20T01:07:12.009455Z  INFO vyder_core::parser: Advancing to token index 2: 'foo' [INFO] [stdout] 2026-04-20T01:07:12.009462Z  INFO vyder_core::parser: parsed statement ''Range;' at test 1:1 - 1:5 (5 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2026-04-20T01:07:12.009475Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.009480Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2026-04-20T01:07:12.009488Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] 2026-04-20T01:07:12.009495Z  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] 2026-04-20T01:07:12.009509Z  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] 2026-04-20T01:07:12.009529Z  INFO vyder_core::parser: Advancing to token index 14: ';' [INFO] [stdout] 2026-04-20T01:07:12.009536Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.009560Z  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] 2026-04-20T01:07:12.009579Z  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] 2026-04-20T01:07:12.009595Z  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] 2026-04-20T01:07:12.009616Z  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] 2026-04-20T01:07:12.009634Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.009638Z  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] 2026-04-20T01:07:12.009666Z  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] 2026-04-20T01:07:12.009664Z  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] 2026-04-20T01:07:12.009684Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2026-04-20T01:07:12.009685Z  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] test lexer::tests::identifiers_test ... ok [INFO] [stdout] test parser::tests::field_access_test ... 2026-04-20T01:07:12.009705Z  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] ok [INFO] [stdout] test lexer::tests::strings_test ... 2026-04-20T01:07:12.009713Z  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] ok [INFO] [stdout] test parser::tests::ranges_test ... ok [INFO] [stdout] 2026-04-20T01:07:12.009737Z  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] 2026-04-20T01:07:12.009721Z  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] 2026-04-20T01:07:12.009755Z  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] 2026-04-20T01:07:12.009758Z  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] 2026-04-20T01:07:12.009771Z  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] 2026-04-20T01:07:12.009774Z  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] 2026-04-20T01:07:12.009791Z  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] 2026-04-20T01:07:12.009786Z  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] 2026-04-20T01:07:12.009803Z  INFO vyder_core::parser: Advancing to token index 15: 'EOF' [INFO] [stdout] 2026-04-20T01:07:12.009805Z  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] 2026-04-20T01:07:12.009814Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2026-04-20T01:07:12.009823Z  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] 2026-04-20T01:07:12.009838Z  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] 2026-04-20T01:07:12.009826Z  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] 2026-04-20T01:07:12.009855Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2026-04-20T01:07:12.009848Z  INFO vyder_core::parser: Parsed expression ''Not' at test 1:1 - 1:5 (5 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2026-04-20T01:07:12.009865Z  INFO vyder_core::parser: Token at distance 0 from 15 is None [INFO] [stdout] 2026-04-20T01:07:12.009872Z  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] 2026-04-20T01:07:12.009887Z  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] 2026-04-20T01:07:12.009898Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2026-04-20T01:07:12.009913Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2026-04-20T01:07:12.009924Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2026-04-20T01:07:12.009935Z  INFO vyder_core::parser: parsed statement ''Not;' at test 1:1 - 1:6 (6 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^^^^ here' [INFO] [stdout] 2026-04-20T01:07:12.009954Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2026-04-20T01:07:12.009963Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] 2026-04-20T01:07:12.007099Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.010052Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] test parser::tests::import_test ... ok [INFO] [stdout] 2026-04-20T01:07:12.010079Z  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] 2026-04-20T01:07:12.010132Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.010239Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.010277Z  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] 2026-04-20T01:07:12.010291Z  INFO vyder_core::parser: Advancing to token index 1: '=' [INFO] [stdout] 2026-04-20T01:07:12.011351Z  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] 2026-04-20T01:07:12.011385Z  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] 2026-04-20T01:07:12.011402Z  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] 2026-04-20T01:07:12.011416Z  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] 2026-04-20T01:07:12.011436Z  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] 2026-04-20T01:07:12.011465Z  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] 2026-04-20T01:07:12.011482Z  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] 2026-04-20T01:07:12.011497Z  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] 2026-04-20T01:07:12.011509Z  INFO vyder_core::parser: Advancing to token index 2: '12' [INFO] [stdout] 2026-04-20T01:07:12.011518Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2026-04-20T01:07:12.011527Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2026-04-20T01:07:12.011536Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2026-04-20T01:07:12.011545Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2026-04-20T01:07:12.011553Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2026-04-20T01:07:12.011562Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.011571Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.011581Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.011639Z  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] 2026-04-20T01:07:12.011692Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.008066Z  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] 2026-04-20T01:07:12.011783Z  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] 2026-04-20T01:07:12.011868Z  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] 2026-04-20T01:07:12.011918Z  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] 2026-04-20T01:07:12.011970Z  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] 2026-04-20T01:07:12.012025Z  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] 2026-04-20T01:07:12.012060Z  INFO vyder_core::parser: Parsed expression ''1' at test 1:5 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2026-04-20T01:07:12.012109Z  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] 2026-04-20T01:07:12.011835Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.012193Z  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] 2026-04-20T01:07:12.012383Z  INFO vyder_core::parser: Advancing to token index 3: 'or' [INFO] [stdout] 2026-04-20T01:07:12.012245Z  INFO vyder_core::parser: Advancing to token index 4: ';' [INFO] [stdout] 2026-04-20T01:07:12.012521Z  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] 2026-04-20T01:07:12.012540Z  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] 2026-04-20T01:07:12.012557Z  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] 2026-04-20T01:07:12.012572Z  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] 2026-04-20T01:07:12.012593Z  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] 2026-04-20T01:07:12.012610Z  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] 2026-04-20T01:07:12.012627Z  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] 2026-04-20T01:07:12.012643Z  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] 2026-04-20T01:07:12.012655Z  INFO vyder_core::parser: Parsed expression ''Index' at test 1:1 - 1:6 (6 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^^^^ here' [INFO] [stdout] 2026-04-20T01:07:12.012679Z  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] 2026-04-20T01:07:12.012694Z  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] 2026-04-20T01:07:12.012708Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2026-04-20T01:07:12.012723Z  INFO vyder_core::parser: Advancing to token index 5: 'EOF' [INFO] [stdout] 2026-04-20T01:07:12.012733Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2026-04-20T01:07:12.012743Z  INFO vyder_core::parser: parsed statement ''Index;' at test 1:1 - 1:7 (7 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^^^^^ here' [INFO] [stdout] 2026-04-20T01:07:12.012781Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2026-04-20T01:07:12.012793Z  INFO vyder_core::parser: Token at distance 0 from 5 is None [INFO] [stdout] test parser::tests::unary_test ... ok [INFO] [stdout] test parser::tests::index_test ... ok [INFO] [stdout] 2026-04-20T01:07:12.012491Z  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] 2026-04-20T01:07:12.013002Z  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] 2026-04-20T01:07:12.013027Z  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] 2026-04-20T01:07:12.013044Z  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] 2026-04-20T01:07:12.013066Z  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] 2026-04-20T01:07:12.013084Z  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] 2026-04-20T01:07:12.013102Z  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] 2026-04-20T01:07:12.013116Z  INFO vyder_core::parser: Advancing to token index 4: '3' [INFO] [stdout] 2026-04-20T01:07:12.013125Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2026-04-20T01:07:12.013134Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2026-04-20T01:07:12.013143Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2026-04-20T01:07:12.013152Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2026-04-20T01:07:12.013161Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2026-04-20T01:07:12.013170Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2026-04-20T01:07:12.013179Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2026-04-20T01:07:12.013196Z  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] 2026-04-20T01:07:12.013215Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2026-04-20T01:07:12.013235Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2026-04-20T01:07:12.013254Z  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] 2026-04-20T01:07:12.013265Z  INFO vyder_core::parser: Advancing to token index 5: ';' [INFO] [stdout] 2026-04-20T01:07:12.013280Z  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] 2026-04-20T01:07:12.013294Z  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] 2026-04-20T01:07:12.013335Z  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] 2026-04-20T01:07:12.013351Z  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] 2026-04-20T01:07:12.013369Z  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] 2026-04-20T01:07:12.013384Z  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] 2026-04-20T01:07:12.013400Z  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] 2026-04-20T01:07:12.013429Z  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] 2026-04-20T01:07:12.013445Z  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] 2026-04-20T01:07:12.013479Z  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] 2026-04-20T01:07:12.013492Z  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] 2026-04-20T01:07:12.013504Z  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] 2026-04-20T01:07:12.013518Z  INFO vyder_core::parser: Advancing to token index 6: 'EOF' [INFO] [stdout] 2026-04-20T01:07:12.013529Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2026-04-20T01:07:12.013539Z  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] 2026-04-20T01:07:12.013561Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2026-04-20T01:07:12.013569Z  INFO vyder_core::parser: Token at distance 0 from 6 is None [INFO] [stdout] test parser::tests::assignment_test ... ok [INFO] [stdout] test token::tests::expect_test ... ok [INFO] [stdout] test interpreter::tests::negate_test ... ok [INFO] [stdout] 2026-04-20T01:07:12.085725Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '#' [INFO] [stdout] 2026-04-20T01:07:12.085773Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2026-04-20T01:07:12.085786Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '!' [INFO] [stdout] 2026-04-20T01:07:12.085795Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2026-04-20T01:07:12.085804Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'v' [INFO] [stdout] 2026-04-20T01:07:12.085813Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2026-04-20T01:07:12.085831Z  INFO vyder_core::lexer: Char at distance 0 from 3 is 'y' [INFO] [stdout] 2026-04-20T01:07:12.085839Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2026-04-20T01:07:12.085849Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'd' [INFO] [stdout] 2026-04-20T01:07:12.085869Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2026-04-20T01:07:12.085878Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'e' [INFO] [stdout] 2026-04-20T01:07:12.085887Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2026-04-20T01:07:12.085896Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'r' [INFO] [stdout] 2026-04-20T01:07:12.085905Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2026-04-20T01:07:12.085914Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ' [INFO] [stdout] ' [INFO] [stdout] 2026-04-20T01:07:12.085923Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.085932Z  INFO vyder_core::lexer: Constructing span at line 1, column 8 [INFO] [stdout] 2026-04-20T01:07:12.085940Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.085953Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ' [INFO] [stdout] ' [INFO] [stdout] 2026-04-20T01:07:12.085962Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.085971Z  INFO vyder_core::lexer: Constructing span at line 2, column 1 [INFO] [stdout] 2026-04-20T01:07:12.085993Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2026-04-20T01:07:12.086004Z  INFO vyder_core::lexer: Char at distance 0 from 8 is '+' [INFO] [stdout] 2026-04-20T01:07:12.086013Z  INFO vyder_core::lexer: Char at distance 1 from 8 is ' ' [INFO] [stdout] 2026-04-20T01:07:12.086024Z  INFO vyder_core::lexer: Next token is '+' [INFO] [stdout] 2026-04-20T01:07:12.086040Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2026-04-20T01:07:12.086049Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.086057Z  INFO vyder_core::lexer: Constructing span at line 2, column 2 [INFO] [stdout] 2026-04-20T01:07:12.086065Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2026-04-20T01:07:12.086075Z  INFO vyder_core::lexer: Char at distance 0 from 9 is ' ' [INFO] [stdout] 2026-04-20T01:07:12.086084Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2026-04-20T01:07:12.086093Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.086101Z  INFO vyder_core::lexer: Constructing span at line 2, column 3 [INFO] [stdout] 2026-04-20T01:07:12.086110Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2026-04-20T01:07:12.086120Z  INFO vyder_core::lexer: Char at distance 0 from 10 is '/' [INFO] [stdout] 2026-04-20T01:07:12.086130Z  INFO vyder_core::lexer: Char at distance 1 from 10 is '/' [INFO] [stdout] 2026-04-20T01:07:12.086139Z  INFO vyder_core::lexer: Char at distance 1 from 10 is '/' [INFO] [stdout] 2026-04-20T01:07:12.086147Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2026-04-20T01:07:12.086157Z  INFO vyder_core::lexer: Char at distance 1 from 11 is ' ' [INFO] [stdout] 2026-04-20T01:07:12.086165Z  INFO vyder_core::lexer: Advancing to char index 12 [INFO] [stdout] 2026-04-20T01:07:12.086174Z  INFO vyder_core::lexer: Char at distance 1 from 12 is 't' [INFO] [stdout] 2026-04-20T01:07:12.086183Z  INFO vyder_core::lexer: Advancing to char index 13 [INFO] [stdout] 2026-04-20T01:07:12.086193Z  INFO vyder_core::lexer: Char at distance 1 from 13 is 'e' [INFO] [stdout] 2026-04-20T01:07:12.086202Z  INFO vyder_core::lexer: Advancing to char index 14 [INFO] [stdout] 2026-04-20T01:07:12.086211Z  INFO vyder_core::lexer: Char at distance 1 from 14 is 's' [INFO] [stdout] 2026-04-20T01:07:12.086220Z  INFO vyder_core::lexer: Advancing to char index 15 [INFO] [stdout] 2026-04-20T01:07:12.086230Z  INFO vyder_core::lexer: Char at distance 1 from 15 is 't' [INFO] [stdout] 2026-04-20T01:07:12.086239Z  INFO vyder_core::lexer: Advancing to char index 16 [INFO] [stdout] 2026-04-20T01:07:12.086250Z  INFO vyder_core::lexer: Char at distance 1 from 16 is ' ' [INFO] [stdout] 2026-04-20T01:07:12.086259Z  INFO vyder_core::lexer: Advancing to char index 17 [INFO] [stdout] 2026-04-20T01:07:12.086275Z  INFO vyder_core::lexer: Char at distance 1 from 17 is '2' [INFO] [stdout] 2026-04-20T01:07:12.086285Z  INFO vyder_core::lexer: Advancing to char index 18 [INFO] [stdout] 2026-04-20T01:07:12.086294Z  INFO vyder_core::lexer: Char at distance 1 from 18 is ' [INFO] [stdout] ' [INFO] [stdout] 2026-04-20T01:07:12.086328Z  INFO vyder_core::lexer: Advancing to char index 19 [INFO] [stdout] 2026-04-20T01:07:12.086337Z  INFO vyder_core::lexer: Advancing to char index 20 [INFO] [stdout] 2026-04-20T01:07:12.086357Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.086365Z  INFO vyder_core::lexer: Constructing span at line 3, column 1 [INFO] [stdout] 2026-04-20T01:07:12.086374Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2026-04-20T01:07:12.086385Z  INFO vyder_core::lexer: Char at distance 0 from 20 is '/' [INFO] [stdout] 2026-04-20T01:07:12.086395Z  INFO vyder_core::lexer: Char at distance 1 from 20 is '/' [INFO] [stdout] 2026-04-20T01:07:12.086404Z  INFO vyder_core::lexer: Char at distance 1 from 20 is '/' [INFO] [stdout] 2026-04-20T01:07:12.086424Z  INFO vyder_core::lexer: Advancing to char index 21 [INFO] [stdout] 2026-04-20T01:07:12.086452Z  INFO vyder_core::lexer: Char at distance 1 from 21 is ' ' [INFO] [stdout] 2026-04-20T01:07:12.086460Z  INFO vyder_core::lexer: Advancing to char index 22 [INFO] [stdout] 2026-04-20T01:07:12.086469Z  INFO vyder_core::lexer: Char at distance 1 from 22 is 't' [INFO] [stdout] 2026-04-20T01:07:12.086478Z  INFO vyder_core::lexer: Advancing to char index 23 [INFO] [stdout] 2026-04-20T01:07:12.086487Z  INFO vyder_core::lexer: Char at distance 1 from 23 is 'e' [INFO] [stdout] 2026-04-20T01:07:12.086501Z  INFO vyder_core::lexer: Advancing to char index 24 [INFO] [stdout] 2026-04-20T01:07:12.086510Z  INFO vyder_core::lexer: Char at distance 1 from 24 is 's' [INFO] [stdout] 2026-04-20T01:07:12.086518Z  INFO vyder_core::lexer: Advancing to char index 25 [INFO] [stdout] 2026-04-20T01:07:12.086527Z  INFO vyder_core::lexer: Char at distance 1 from 25 is 't' [INFO] [stdout] 2026-04-20T01:07:12.086535Z  INFO vyder_core::lexer: Advancing to char index 26 [INFO] [stdout] 2026-04-20T01:07:12.086555Z  INFO vyder_core::lexer: Char at distance 1 from 26 is ' ' [INFO] [stdout] 2026-04-20T01:07:12.086564Z  INFO vyder_core::lexer: Advancing to char index 27 [INFO] [stdout] 2026-04-20T01:07:12.086585Z  INFO vyder_core::lexer: Char at distance 1 from 27 is '3' [INFO] [stdout] 2026-04-20T01:07:12.086594Z  INFO vyder_core::lexer: Advancing to char index 28 [INFO] [stdout] 2026-04-20T01:07:12.086603Z  INFO vyder_core::lexer: Char at distance 1 from 28 is 'None' [INFO] [stdout] 2026-04-20T01:07:12.086611Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.086623Z  INFO vyder_core::lexer: Constructing span at line 3, column 9 [INFO] [stdout] 2026-04-20T01:07:12.086632Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2026-04-20T01:07:12.086650Z  INFO vyder_core::lexer: Char at distance 0 from 28 is '3' [INFO] [stdout] 2026-04-20T01:07:12.086659Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2026-04-20T01:07:12.086668Z  INFO vyder_core::lexer: Char at distance 0 from 28 is '3' [INFO] [stdout] 2026-04-20T01:07:12.086677Z  INFO vyder_core::lexer: Advancing to char index 29 [INFO] [stdout] 2026-04-20T01:07:12.086686Z  INFO vyder_core::lexer: Char at distance 0 from 29 is 'None' [INFO] [stdout] 2026-04-20T01:07:12.087121Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2026-04-20T01:07:12.087159Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.087168Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2026-04-20T01:07:12.087177Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.087188Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2026-04-20T01:07:12.087198Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2026-04-20T01:07:12.087207Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2026-04-20T01:07:12.087216Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2026-04-20T01:07:12.087225Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '2' [INFO] [stdout] 2026-04-20T01:07:12.087234Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2026-04-20T01:07:12.087243Z  INFO vyder_core::lexer: Char at distance 0 from 2 is '.' [INFO] [stdout] 2026-04-20T01:07:12.087252Z  INFO vyder_core::lexer: Char at distance 1 from 2 is '5' [INFO] [stdout] 2026-04-20T01:07:12.087262Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2026-04-20T01:07:12.087270Z  INFO vyder_core::lexer: Char at distance 0 from 3 is '5' [INFO] [stdout] 2026-04-20T01:07:12.087279Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2026-04-20T01:07:12.087287Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '.' [INFO] [stdout] 2026-04-20T01:07:12.087299Z  INFO vyder_core::lexer: Next token is '12.5' [INFO] [stdout] 2026-04-20T01:07:12.087330Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2026-04-20T01:07:12.087340Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.087348Z  INFO vyder_core::lexer: Constructing span at line 1, column 5 [INFO] [stdout] 2026-04-20T01:07:12.087358Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.087369Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '.' [INFO] [stdout] 2026-04-20T01:07:12.087379Z  INFO vyder_core::lexer: Char at distance 1 from 4 is 'f' [INFO] [stdout] 2026-04-20T01:07:12.087388Z  INFO vyder_core::lexer: Next token is '.' [INFO] [stdout] 2026-04-20T01:07:12.087402Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2026-04-20T01:07:12.087410Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.087419Z  INFO vyder_core::lexer: Constructing span at line 1, column 6 [INFO] [stdout] 2026-04-20T01:07:12.087435Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.087446Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'f' [INFO] [stdout] 2026-04-20T01:07:12.087456Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'f' [INFO] [stdout] 2026-04-20T01:07:12.087465Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2026-04-20T01:07:12.087475Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'o' [INFO] [stdout] 2026-04-20T01:07:12.087483Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2026-04-20T01:07:12.087492Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'o' [INFO] [stdout] 2026-04-20T01:07:12.087500Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2026-04-20T01:07:12.087508Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2026-04-20T01:07:12.087521Z  INFO vyder_core::lexer: Next token is 'foo' [INFO] [stdout] 2026-04-20T01:07:12.087534Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2026-04-20T01:07:12.087543Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.087552Z  INFO vyder_core::lexer: Constructing span at line 1, column 9 [INFO] [stdout] 2026-04-20T01:07:12.087560Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.087571Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2026-04-20T01:07:12.087579Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2026-04-20T01:07:12.087587Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.087595Z  INFO vyder_core::lexer: Constructing span at line 1, column 10 [INFO] [stdout] 2026-04-20T01:07:12.087603Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.087612Z  INFO vyder_core::lexer: Char at distance 0 from 9 is '1' [INFO] [stdout] 2026-04-20T01:07:12.087620Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2026-04-20T01:07:12.087628Z  INFO vyder_core::lexer: Char at distance 0 from 9 is '1' [INFO] [stdout] 2026-04-20T01:07:12.087637Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2026-04-20T01:07:12.087645Z  INFO vyder_core::lexer: Char at distance 0 from 10 is '2' [INFO] [stdout] 2026-04-20T01:07:12.087654Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2026-04-20T01:07:12.087663Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2026-04-20T01:07:12.087672Z  INFO vyder_core::lexer: Next token is '12' [INFO] [stdout] 2026-04-20T01:07:12.087688Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2026-04-20T01:07:12.087696Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.087703Z  INFO vyder_core::lexer: Constructing span at line 1, column 12 [INFO] [stdout] 2026-04-20T01:07:12.087711Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2026-04-20T01:07:12.087721Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2026-04-20T01:07:12.087729Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2026-04-20T01:07:12.087864Z  INFO vyder_core::lexer: Next token is '3' [INFO] [stdout] test lexer::tests::numbers_test ... ok [INFO] [stdout] 2026-04-20T01:07:12.087884Z  INFO vyder_core::lexer: Advancing to char index 29 [INFO] [stdout] 2026-04-20T01:07:12.087894Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2026-04-20T01:07:12.087902Z  INFO vyder_core::lexer: Constructing span at line 3, column 10 [INFO] [stdout] 2026-04-20T01:07:12.087911Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2026-04-20T01:07:12.087925Z  INFO vyder_core::lexer: Char at distance 0 from 29 is 'None' [INFO] [stdout] 2026-04-20T01:07:12.087934Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] test lexer::tests::comments_test ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/vyder_debug_cli/main.rs (/opt/rustwide/target/debug/deps/vyder_debug_cli-eef2d41ccd05c0b6) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests vyder_core [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test src/token/mod.rs - token::Token::expect (line 22) ... ok [INFO] [stdout] test src/statement/mod.rs - statement::Statement::expect (line 23) ... 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.35s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2b17bd635ac9292a25bc2d13580d1a9cc41aa8bdf7fcd06adec6b6016eb7556c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b17bd635ac9292a25bc2d13580d1a9cc41aa8bdf7fcd06adec6b6016eb7556c", kill_on_drop: false }` [INFO] [stdout] 2b17bd635ac9292a25bc2d13580d1a9cc41aa8bdf7fcd06adec6b6016eb7556c