[INFO] fetching crate vyder_core 0.3.4... [INFO] testing vyder_core-0.3.4 against 1.90.0 for beta-1.91-3 [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 1.90.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "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" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tracing-test v0.2.5 [INFO] [stderr] Downloaded enum_downcast v0.2.0 [INFO] [stderr] Downloaded vyder_macros v0.3.4 [INFO] [stderr] Downloaded tracing-attributes v0.1.27 [INFO] [stderr] Downloaded tracing-test-macro v0.2.5 [INFO] [stderr] Downloaded clap v4.5.9 [INFO] [stderr] Downloaded anstyle-parse v0.2.4 [INFO] [stderr] Downloaded colorchoice v1.0.1 [INFO] [stderr] Downloaded anstyle-query v1.1.0 [INFO] [stderr] Downloaded clap_builder v4.5.9 [INFO] [stderr] Downloaded enum_downcast_derive v0.2.0 [INFO] [stderr] Downloaded regex v1.10.5 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 118f0c2d1f7986a08e2ae452be7d1d2e89da673a051d4db5eb460922e92482c8 [INFO] running `Command { std: "docker" "start" "-a" "118f0c2d1f7986a08e2ae452be7d1d2e89da673a051d4db5eb460922e92482c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "118f0c2d1f7986a08e2ae452be7d1d2e89da673a051d4db5eb460922e92482c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "118f0c2d1f7986a08e2ae452be7d1d2e89da673a051d4db5eb460922e92482c8", kill_on_drop: false }` [INFO] [stdout] 118f0c2d1f7986a08e2ae452be7d1d2e89da673a051d4db5eb460922e92482c8 [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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 413b3c3220eae3bd3deb6268f5a9c0edf85867b5c2e481975592c4e3389341be [INFO] running `Command { std: "docker" "start" "-a" "413b3c3220eae3bd3deb6268f5a9c0edf85867b5c2e481975592c4e3389341be", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling pin-project-lite v0.2.14 [INFO] [stderr] Compiling anstyle-query v1.1.0 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling anstyle-parse v0.2.4 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling colorchoice v1.0.1 [INFO] [stderr] Compiling anstyle v1.0.7 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.0 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling anstream v0.6.14 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling clap_lex v0.7.1 [INFO] [stderr] Compiling matchers v0.1.0 [INFO] [stderr] Compiling colored v2.1.0 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling clap_builder v4.5.9 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling regex v1.10.5 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling enum_downcast_derive v0.2.0 [INFO] [stderr] Compiling 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 30.52s [INFO] running `Command { std: "docker" "inspect" "413b3c3220eae3bd3deb6268f5a9c0edf85867b5c2e481975592c4e3389341be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "413b3c3220eae3bd3deb6268f5a9c0edf85867b5c2e481975592c4e3389341be", kill_on_drop: false }` [INFO] [stdout] 413b3c3220eae3bd3deb6268f5a9c0edf85867b5c2e481975592c4e3389341be [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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 66a63704d166d00a53329827efb87e4e269524521ac2ff78dd52acb94971473c [INFO] running `Command { std: "docker" "start" "-a" "66a63704d166d00a53329827efb87e4e269524521ac2ff78dd52acb94971473c", 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.33s [INFO] running `Command { std: "docker" "inspect" "66a63704d166d00a53329827efb87e4e269524521ac2ff78dd52acb94971473c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "66a63704d166d00a53329827efb87e4e269524521ac2ff78dd52acb94971473c", kill_on_drop: false }` [INFO] [stdout] 66a63704d166d00a53329827efb87e4e269524521ac2ff78dd52acb94971473c [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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a98063347f03e0f74b7a1c168ee069f7b62870e8f53fc71a658f2bf68bda8614 [INFO] running `Command { std: "docker" "start" "-a" "a98063347f03e0f74b7a1c168ee069f7b62870e8f53fc71a658f2bf68bda8614", kill_on_drop: false }` [INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stderr] --> src/value/values.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 35 | #[derive(Clone, Debug, IntoValueEnum, PartialEq)] [INFO] [stderr] | --------- in this derive macro expansion [INFO] [stderr] ... [INFO] [stderr] 43 | function: fn(&[ValueResult], Span) -> Result<(ValueResult, Option)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the address of the same function can vary between different codegen units [INFO] [stderr] = note: furthermore, different functions could have the same address after being merged together [INFO] [stderr] = note: for more information visit [INFO] [stderr] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `vyder_core` (lib) generated 1 warning [INFO] [stderr] warning: `vyder_core` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vyder_core-e1b452783ad64849) [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test environment::tests::environments_test ... ok [INFO] [stdout] test expression::tests::expect_test ... ok [INFO] [stdout] 2025-10-01T14:34:46.835140Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-10-01T14:34:46.835155Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2025-10-01T14:34:46.835171Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.835171Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.835181Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-10-01T14:34:46.835183Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-10-01T14:34:46.835190Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.835190Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.835200Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2025-10-01T14:34:46.835208Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-10-01T14:34:46.835208Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2025-10-01T14:34:46.835214Z  INFO vyder_core::lexer: Char at distance 1 from 0 is '=' [INFO] [stdout] 2025-10-01T14:34:46.835220Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-01T14:34:46.835220Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-01T14:34:46.835228Z  INFO vyder_core::lexer: Next token is '+=' [INFO] [stdout] 2025-10-01T14:34:46.835242Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-01T14:34:46.835241Z  INFO vyder_core::lexer: Char at distance 0 from 1 is 'o' [INFO] [stdout] 2025-10-01T14:34:46.835247Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.835249Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-01T14:34:46.835252Z  INFO vyder_core::lexer: Constructing span at line 1, column 3 [INFO] [stdout] 2025-10-01T14:34:46.835256Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'o' [INFO] [stdout] 2025-10-01T14:34:46.835257Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.835305Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-01T14:34:46.835312Z  INFO vyder_core::lexer: Char at distance 0 from 2 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-10-01T14:34:46.835314Z  INFO vyder_core::lexer: Char at distance 0 from 3 is ' ' [INFO] [stdout] 2025-10-01T14:34:46.835318Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.835322Z  INFO vyder_core::lexer: Next token is 'foo' [INFO] [stdout] 2025-10-01T14:34:46.835323Z  INFO vyder_core::lexer: Constructing span at line 2, column 1 [INFO] [stdout] 2025-10-01T14:34:46.835330Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:34:46.835333Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-01T14:34:46.835342Z  INFO vyder_core::lexer: Char at distance 0 from 3 is '-' [INFO] [stdout] 2025-10-01T14:34:46.835345Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.835348Z  INFO vyder_core::lexer: Char at distance 1 from 3 is '-' [INFO] [stdout] 2025-10-01T14:34:46.835351Z  INFO vyder_core::lexer: Constructing span at line 1, column 4 [INFO] [stdout] 2025-10-01T14:34:46.835353Z  INFO vyder_core::lexer: Char at distance 1 from 3 is '-' [INFO] [stdout] 2025-10-01T14:34:46.835357Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.835359Z  INFO vyder_core::lexer: Next token is '-' [INFO] [stdout] 2025-10-01T14:34:46.835368Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-01T14:34:46.835367Z  INFO vyder_core::lexer: Char at distance 0 from 3 is ' ' [INFO] [stdout] 2025-10-01T14:34:46.835372Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.835374Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-01T14:34:46.835377Z  INFO vyder_core::lexer: Constructing span at line 2, column 2 [INFO] [stdout] 2025-10-01T14:34:46.835380Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.835382Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:34:46.835386Z  INFO vyder_core::lexer: Constructing span at line 1, column 5 [INFO] [stdout] 2025-10-01T14:34:46.835389Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '-' [INFO] [stdout] 2025-10-01T14:34:46.835392Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.835394Z  INFO vyder_core::lexer: Char at distance 1 from 4 is ' ' [INFO] [stdout] 2025-10-01T14:34:46.835399Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'r' [INFO] [stdout] 2025-10-01T14:34:46.835401Z  INFO vyder_core::lexer: Char at distance 1 from 4 is ' ' [INFO] [stdout] 2025-10-01T14:34:46.835405Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'r' [INFO] [stdout] 2025-10-01T14:34:46.835407Z  INFO vyder_core::lexer: Next token is '-' [INFO] [stdout] 2025-10-01T14:34:46.835412Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-01T14:34:46.835414Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-01T14:34:46.835419Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.835418Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'e' [INFO] [stdout] 2025-10-01T14:34:46.835423Z  INFO vyder_core::lexer: Constructing span at line 2, column 3 [INFO] [stdout] 2025-10-01T14:34:46.835425Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-01T14:34:46.835428Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:34:46.835431Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 't' [INFO] [stdout] 2025-10-01T14:34:46.835435Z  INFO vyder_core::lexer: Char at distance 0 from 5 is ' ' [INFO] [stdout] 2025-10-01T14:34:46.835437Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-01T14:34:46.835440Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-01T14:34:46.835444Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'u' [INFO] [stdout] 2025-10-01T14:34:46.835445Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.835450Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-10-01T14:34:46.835451Z  INFO vyder_core::lexer: Constructing span at line 2, column 4 [INFO] [stdout] 2025-10-01T14:34:46.835457Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:34:46.835457Z  INFO vyder_core::lexer: Char at distance 0 from 8 is 'r' [INFO] [stdout] 2025-10-01T14:34:46.835463Z  INFO vyder_core::lexer: Char at distance 0 from 6 is '/' [INFO] [stdout] 2025-10-01T14:34:46.835464Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-10-01T14:34:46.835469Z  INFO vyder_core::lexer: Char at distance 1 from 6 is 'None' [INFO] [stdout] 2025-10-01T14:34:46.835470Z  INFO vyder_core::lexer: Char at distance 0 from 9 is 'n' [INFO] [stdout] 2025-10-01T14:34:46.835476Z  INFO vyder_core::lexer: Char at distance 1 from 6 is 'None' [INFO] [stdout] 2025-10-01T14:34:46.835477Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-01T14:34:46.835481Z  INFO vyder_core::lexer: Next token is '/' [INFO] [stdout] 2025-10-01T14:34:46.835483Z  INFO vyder_core::lexer: Char at distance 0 from 10 is ')' [INFO] [stdout] 2025-10-01T14:34:46.835488Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-01T14:34:46.835490Z  INFO vyder_core::lexer: Next token is 'return' [INFO] [stdout] 2025-10-01T14:34:46.835493Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.835498Z  INFO vyder_core::lexer: Constructing span at line 2, column 5 [INFO] [stdout] 2025-10-01T14:34:46.835500Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-01T14:34:46.835502Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:34:46.835505Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.835508Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'None' [INFO] [stdout] 2025-10-01T14:34:46.835510Z  INFO vyder_core::lexer: Constructing span at line 1, column 11 [INFO] [stdout] 2025-10-01T14:34:46.835513Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-10-01T14:34:46.835516Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.835525Z  INFO vyder_core::lexer: Char at distance 0 from 10 is ')' [INFO] [stdout] 2025-10-01T14:34:46.835531Z  INFO vyder_core::lexer: Next token is ')' [INFO] [stdout] 2025-10-01T14:34:46.835539Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-01T14:34:46.835545Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.835551Z  INFO vyder_core::lexer: Constructing span at line 1, column 12 [INFO] [stdout] 2025-10-01T14:34:46.835557Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.835565Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-10-01T14:34:46.835571Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] test lexer::tests::operators_test ... ok [INFO] [stdout] test lexer::tests::identifiers_test ... ok [INFO] [stdout] 2025-10-01T14:34:46.837086Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '#' [INFO] [stdout] 2025-10-01T14:34:46.839161Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-01T14:34:46.839177Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '!' [INFO] [stdout] 2025-10-01T14:34:46.839185Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-01T14:34:46.839192Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'v' [INFO] [stdout] 2025-10-01T14:34:46.839198Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-01T14:34:46.839204Z  INFO vyder_core::lexer: Char at distance 0 from 3 is 'y' [INFO] [stdout] 2025-10-01T14:34:46.839211Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-01T14:34:46.839218Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'd' [INFO] [stdout] 2025-10-01T14:34:46.839224Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-01T14:34:46.839230Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'e' [INFO] [stdout] 2025-10-01T14:34:46.839236Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-01T14:34:46.839243Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'r' [INFO] [stdout] 2025-10-01T14:34:46.839249Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-01T14:34:46.839256Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-10-01T14:34:46.839278Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.839285Z  INFO vyder_core::lexer: Constructing span at line 1, column 8 [INFO] [stdout] 2025-10-01T14:34:46.839291Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.839301Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-10-01T14:34:46.839308Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.839314Z  INFO vyder_core::lexer: Constructing span at line 2, column 1 [INFO] [stdout] 2025-10-01T14:34:46.839320Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:34:46.839335Z  INFO vyder_core::lexer: Char at distance 0 from 8 is '+' [INFO] [stdout] 2025-10-01T14:34:46.839344Z  INFO vyder_core::lexer: Char at distance 1 from 8 is ' ' [INFO] [stdout] 2025-10-01T14:34:46.839351Z  INFO vyder_core::lexer: Next token is '+' [INFO] [stdout] 2025-10-01T14:34:46.839362Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-10-01T14:34:46.839368Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.839373Z  INFO vyder_core::lexer: Constructing span at line 2, column 2 [INFO] [stdout] 2025-10-01T14:34:46.839380Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-10-01T14:34:46.839388Z  INFO vyder_core::lexer: Char at distance 0 from 9 is ' ' [INFO] [stdout] 2025-10-01T14:34:46.839394Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-01T14:34:46.837495Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-10-01T14:34:46.839401Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] test interpreter::tests::group_test ... 2025-10-01T14:34:46.839407Z  INFO vyder_core::lexer: Constructing span at line 2, column 3 [INFO] [stdout] ok2025-10-01T14:34:46.839414Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] [INFO] [stdout] 2025-10-01T14:34:46.839422Z  INFO vyder_core::lexer: Char at distance 0 from 10 is '/' [INFO] [stdout] 2025-10-01T14:34:46.839429Z  INFO vyder_core::lexer: Char at distance 1 from 10 is '/' [INFO] [stdout] 2025-10-01T14:34:46.839439Z  INFO vyder_core::lexer: Char at distance 1 from 10 is '/' [INFO] [stdout] 2025-10-01T14:34:46.839445Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-01T14:34:46.839452Z  INFO vyder_core::lexer: Char at distance 1 from 11 is ' ' [INFO] [stdout] 2025-10-01T14:34:46.839458Z  INFO vyder_core::lexer: Advancing to char index 12 [INFO] [stdout] 2025-10-01T14:34:46.839466Z  INFO vyder_core::lexer: Char at distance 1 from 12 is 't' [INFO] [stdout] 2025-10-01T14:34:46.839472Z  INFO vyder_core::lexer: Advancing to char index 13 [INFO] [stdout] 2025-10-01T14:34:46.839479Z  INFO vyder_core::lexer: Char at distance 1 from 13 is 'e' [INFO] [stdout] 2025-10-01T14:34:46.839485Z  INFO vyder_core::lexer: Advancing to char index 14 [INFO] [stdout] 2025-10-01T14:34:46.839492Z  INFO vyder_core::lexer: Char at distance 1 from 14 is 's' [INFO] [stdout] 2025-10-01T14:34:46.839498Z  INFO vyder_core::lexer: Advancing to char index 15 [INFO] [stdout] 2025-10-01T14:34:46.839505Z  INFO vyder_core::lexer: Char at distance 1 from 15 is 't' [INFO] [stdout] 2025-10-01T14:34:46.839512Z  INFO vyder_core::lexer: Advancing to char index 16 [INFO] [stdout] 2025-10-01T14:34:46.839519Z  INFO vyder_core::lexer: Char at distance 1 from 16 is ' ' [INFO] [stdout] 2025-10-01T14:34:46.839525Z  INFO vyder_core::lexer: Advancing to char index 17 [INFO] [stdout] 2025-10-01T14:34:46.839532Z  INFO vyder_core::lexer: Char at distance 1 from 17 is '2' [INFO] [stdout] 2025-10-01T14:34:46.839538Z  INFO vyder_core::lexer: Advancing to char index 18 [INFO] [stdout] 2025-10-01T14:34:46.839546Z  INFO vyder_core::lexer: Char at distance 1 from 18 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-10-01T14:34:46.839552Z  INFO vyder_core::lexer: Advancing to char index 19 [INFO] [stdout] 2025-10-01T14:34:46.839557Z  INFO vyder_core::lexer: Advancing to char index 20 [INFO] [stdout] 2025-10-01T14:34:46.839564Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.839570Z  INFO vyder_core::lexer: Constructing span at line 3, column 1 [INFO] [stdout] 2025-10-01T14:34:46.839580Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-10-01T14:34:46.839590Z  INFO vyder_core::lexer: Char at distance 0 from 20 is '/' [INFO] [stdout] 2025-10-01T14:34:46.839599Z  INFO vyder_core::lexer: Char at distance 1 from 20 is '/' [INFO] [stdout] 2025-10-01T14:34:46.839606Z  INFO vyder_core::lexer: Char at distance 1 from 20 is '/' [INFO] [stdout] 2025-10-01T14:34:46.839612Z  INFO vyder_core::lexer: Advancing to char index 21 [INFO] [stdout] 2025-10-01T14:34:46.839620Z  INFO vyder_core::lexer: Char at distance 1 from 21 is ' ' [INFO] [stdout] 2025-10-01T14:34:46.839626Z  INFO vyder_core::lexer: Advancing to char index 22 [INFO] [stdout] 2025-10-01T14:34:46.839634Z  INFO vyder_core::lexer: Char at distance 1 from 22 is 't' [INFO] [stdout] 2025-10-01T14:34:46.839640Z  INFO vyder_core::lexer: Advancing to char index 23 [INFO] [stdout] 2025-10-01T14:34:46.839647Z  INFO vyder_core::lexer: Char at distance 1 from 23 is 'e' [INFO] [stdout] 2025-10-01T14:34:46.839654Z  INFO vyder_core::lexer: Advancing to char index 24 [INFO] [stdout] 2025-10-01T14:34:46.839661Z  INFO vyder_core::lexer: Char at distance 1 from 24 is 's' [INFO] [stdout] 2025-10-01T14:34:46.839668Z  INFO vyder_core::lexer: Advancing to char index 25 [INFO] [stdout] 2025-10-01T14:34:46.839675Z  INFO vyder_core::lexer: Char at distance 1 from 25 is 't' [INFO] [stdout] 2025-10-01T14:34:46.839683Z  INFO vyder_core::lexer: Advancing to char index 26 [INFO] [stdout] 2025-10-01T14:34:46.839690Z  INFO vyder_core::lexer: Char at distance 1 from 26 is ' ' [INFO] [stdout] 2025-10-01T14:34:46.839697Z  INFO vyder_core::lexer: Advancing to char index 27 [INFO] [stdout] 2025-10-01T14:34:46.839705Z  INFO vyder_core::lexer: Char at distance 1 from 27 is '3' [INFO] [stdout] 2025-10-01T14:34:46.839711Z  INFO vyder_core::lexer: Advancing to char index 28 [INFO] [stdout] 2025-10-01T14:34:46.839719Z  INFO vyder_core::lexer: Char at distance 1 from 28 is 'None' [INFO] [stdout] 2025-10-01T14:34:46.839726Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.839732Z  INFO vyder_core::lexer: Constructing span at line 3, column 9 [INFO] [stdout] 2025-10-01T14:34:46.839738Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-10-01T14:34:46.839756Z  INFO vyder_core::lexer: Char at distance 0 from 28 is '3' [INFO] [stdout] 2025-10-01T14:34:46.839771Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2025-10-01T14:34:46.839781Z  INFO vyder_core::lexer: Char at distance 0 from 28 is '3' [INFO] [stdout] 2025-10-01T14:34:46.839787Z  INFO vyder_core::lexer: Advancing to char index 29 [INFO] [stdout] 2025-10-01T14:34:46.839795Z  INFO vyder_core::lexer: Char at distance 0 from 29 is 'None' [INFO] [stdout] 2025-10-01T14:34:46.839804Z  INFO vyder_core::lexer: Next token is '3' [INFO] [stdout] 2025-10-01T14:34:46.839814Z  INFO vyder_core::lexer: Advancing to char index 29 [INFO] [stdout] 2025-10-01T14:34:46.839821Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.839827Z  INFO vyder_core::lexer: Constructing span at line 3, column 10 [INFO] [stdout] 2025-10-01T14:34:46.839833Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-10-01T14:34:46.839843Z  INFO vyder_core::lexer: Char at distance 0 from 29 is 'None' [INFO] [stdout] 2025-10-01T14:34:46.839850Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] test interpreter::tests::negate_test ... ok [INFO] [stdout] test lexer::tests::comments_test ... ok [INFO] [stdout] 2025-10-01T14:34:46.840414Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:34:46.840449Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.840472Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:34:46.840495Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:34:46.840508Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:34:46.840521Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:34:46.840536Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:34:46.840549Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.840565Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.840575Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.840590Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.838703Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-10-01T14:34:46.839121Z  INFO vyder_core::interpreter: evaluating 'not' [INFO] [stdout] 2025-10-01T14:34:46.840768Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.840783Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.840792Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-10-01T14:34:46.840799Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.840797Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-10-01T14:34:46.840808Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-10-01T14:34:46.840808Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.840815Z  INFO vyder_core::lexer: Char at distance 1 from 0 is '"' [INFO] [stdout] 2025-10-01T14:34:46.840818Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-10-01T14:34:46.840821Z  INFO vyder_core::lexer: Next token is '+' [INFO] [stdout] 2025-10-01T14:34:46.840825Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2025-10-01T14:34:46.840831Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-01T14:34:46.840832Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-10-01T14:34:46.840836Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.840839Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-10-01T14:34:46.840843Z  INFO vyder_core::lexer: Constructing span at line 1, column 2 [INFO] [stdout] 2025-10-01T14:34:46.840846Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '2' [INFO] [stdout] 2025-10-01T14:34:46.840849Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.840852Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-01T14:34:46.840856Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '"' [INFO] [stdout] 2025-10-01T14:34:46.840858Z  INFO vyder_core::lexer: Char at distance 0 from 2 is '.' [INFO] [stdout] 2025-10-01T14:34:46.840863Z  INFO vyder_core::lexer: get_string function [INFO] [stdout] 2025-10-01T14:34:46.840864Z  INFO vyder_core::lexer: Char at distance 1 from 2 is '5' [INFO] [stdout] 2025-10-01T14:34:46.840869Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-10-01T14:34:46.840870Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-01T14:34:46.840876Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'H' [INFO] [stdout] 2025-10-01T14:34:46.840877Z  INFO vyder_core::lexer: Char at distance 0 from 3 is '5' [INFO] [stdout] 2025-10-01T14:34:46.840882Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-10-01T14:34:46.840883Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-01T14:34:46.840889Z  INFO vyder_core::lexer: Char at distance 0 from 3 is 'e' [INFO] [stdout] 2025-10-01T14:34:46.840890Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '.' [INFO] [stdout] 2025-10-01T14:34:46.840895Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-01T14:34:46.840898Z  INFO vyder_core::lexer: Next token is '12.5' [INFO] [stdout] 2025-10-01T14:34:46.840902Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'l' [INFO] [stdout] 2025-10-01T14:34:46.840908Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-10-01T14:34:46.840908Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-01T14:34:46.840915Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.840918Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'l' [INFO] [stdout] 2025-10-01T14:34:46.840921Z  INFO vyder_core::lexer: Constructing span at line 1, column 5 [INFO] [stdout] 2025-10-01T14:34:46.840924Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-01T14:34:46.840926Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.840932Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'o' [INFO] [stdout] 2025-10-01T14:34:46.840933Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '.' [INFO] [stdout] 2025-10-01T14:34:46.840939Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-01T14:34:46.840940Z  INFO vyder_core::lexer: Char at distance 1 from 4 is 'f' [INFO] [stdout] 2025-10-01T14:34:46.840946Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ',' [INFO] [stdout] 2025-10-01T14:34:46.840946Z  INFO vyder_core::lexer: Next token is '.' [INFO] [stdout] 2025-10-01T14:34:46.840952Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-10-01T14:34:46.840955Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-10-01T14:34:46.840964Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-10-01T14:34:46.840967Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.840971Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-10-01T14:34:46.840972Z  INFO vyder_core::lexer: Constructing span at line 1, column 6 [INFO] [stdout] 2025-10-01T14:34:46.840978Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.840978Z  INFO vyder_core::lexer: Char at distance 0 from 9 is 'W' [INFO] [stdout] 2025-10-01T14:34:46.840984Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'f' [INFO] [stdout] 2025-10-01T14:34:46.840985Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-01T14:34:46.840990Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'f' [INFO] [stdout] 2025-10-01T14:34:46.840992Z  INFO vyder_core::lexer: Char at distance 0 from 10 is 'o' [INFO] [stdout] 2025-10-01T14:34:46.840996Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-10-01T14:34:46.840998Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-01T14:34:46.841003Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'o' [INFO] [stdout] 2025-10-01T14:34:46.841006Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'r' [INFO] [stdout] 2025-10-01T14:34:46.841008Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-10-01T14:34:46.841012Z  INFO vyder_core::lexer: Advancing to char index 12 [INFO] [stdout] 2025-10-01T14:34:46.841014Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'o' [INFO] [stdout] 2025-10-01T14:34:46.841020Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-10-01T14:34:46.841021Z  INFO vyder_core::lexer: Char at distance 0 from 12 is 'l' [INFO] [stdout] 2025-10-01T14:34:46.841026Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-10-01T14:34:46.841027Z  INFO vyder_core::lexer: Advancing to char index 13 [INFO] [stdout] 2025-10-01T14:34:46.841033Z  INFO vyder_core::lexer: Next token is 'foo' [INFO] [stdout] 2025-10-01T14:34:46.841037Z  INFO vyder_core::lexer: Char at distance 0 from 13 is 'd' [INFO] [stdout] 2025-10-01T14:34:46.841040Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-10-01T14:34:46.841043Z  INFO vyder_core::lexer: Advancing to char index 14 [INFO] [stdout] 2025-10-01T14:34:46.841050Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.841056Z  INFO vyder_core::lexer: Constructing span at line 1, column 9 [INFO] [stdout] 2025-10-01T14:34:46.841056Z  INFO vyder_core::lexer: Char at distance 0 from 14 is '!' [INFO] [stdout] 2025-10-01T14:34:46.841067Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.841067Z  INFO vyder_core::lexer: Advancing to char index 15 [INFO] [stdout] 2025-10-01T14:34:46.841074Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-10-01T14:34:46.841076Z  INFO vyder_core::lexer: Char at distance 0 from 15 is '"' [INFO] [stdout] 2025-10-01T14:34:46.841080Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-10-01T14:34:46.841083Z  INFO vyder_core::lexer: Next token is '"Hello, World!"' [INFO] [stdout] 2025-10-01T14:34:46.841086Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.841091Z  INFO vyder_core::lexer: Constructing span at line 1, column 10 [INFO] [stdout] 2025-10-01T14:34:46.841094Z  INFO vyder_core::lexer: Advancing to char index 16 [INFO] [stdout] 2025-10-01T14:34:46.841097Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.841101Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.841103Z  INFO vyder_core::lexer: Char at distance 0 from 9 is '1' [INFO] [stdout] 2025-10-01T14:34:46.841106Z  INFO vyder_core::lexer: Constructing span at line 1, column 17 [INFO] [stdout] 2025-10-01T14:34:46.841109Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2025-10-01T14:34:46.841112Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.841115Z  INFO vyder_core::lexer: Char at distance 0 from 9 is '1' [INFO] [stdout] 2025-10-01T14:34:46.841121Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-10-01T14:34:46.841121Z  INFO vyder_core::lexer: Char at distance 0 from 16 is ''' [INFO] [stdout] 2025-10-01T14:34:46.841123Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.841127Z  INFO vyder_core::lexer: Char at distance 0 from 10 is '2' [INFO] [stdout] 2025-10-01T14:34:46.841128Z  INFO vyder_core::lexer: get_string function [INFO] [stdout] 2025-10-01T14:34:46.841133Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-01T14:34:46.841134Z  INFO vyder_core::lexer: Advancing to char index 17 [INFO] [stdout] 2025-10-01T14:34:46.841139Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-10-01T14:34:46.841142Z  INFO vyder_core::lexer: Char at distance 0 from 17 is 'f' [INFO] [stdout] 2025-10-01T14:34:46.841145Z  INFO vyder_core::lexer: Next token is '12' [INFO] [stdout] 2025-10-01T14:34:46.841148Z  INFO vyder_core::lexer: Advancing to char index 18 [INFO] [stdout] 2025-10-01T14:34:46.841153Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-10-01T14:34:46.841155Z  INFO vyder_core::lexer: Char at distance 0 from 18 is 'o' [INFO] [stdout] 2025-10-01T14:34:46.841160Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.841162Z  INFO vyder_core::lexer: Advancing to char index 19 [INFO] [stdout] 2025-10-01T14:34:46.841165Z  INFO vyder_core::lexer: Constructing span at line 1, column 12 [INFO] [stdout] 2025-10-01T14:34:46.841169Z  INFO vyder_core::lexer: Char at distance 0 from 19 is 'o' [INFO] [stdout] 2025-10-01T14:34:46.841170Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.841175Z  INFO vyder_core::lexer: Advancing to char index 20 [INFO] [stdout] 2025-10-01T14:34:46.841178Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-10-01T14:34:46.841183Z  INFO vyder_core::lexer: Char at distance 0 from 20 is '\' [INFO] [stdout] 2025-10-01T14:34:46.841184Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-10-01T14:34:46.841191Z  INFO vyder_core::lexer: Char at distance 1 from 20 is 't' [INFO] [stdout] 2025-10-01T14:34:46.841201Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.841203Z  INFO vyder_core::lexer: Advancing to char index 21 without increasing column [INFO] [stdout] 2025-10-01T14:34:46.841209Z  INFO vyder_core::lexer: Advancing to char index 22 [INFO] [stdout] 2025-10-01T14:34:46.841216Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.841218Z  INFO vyder_core::lexer: Char at distance 0 from 22 is ''' [INFO] [stdout] 2025-10-01T14:34:46.841224Z  INFO vyder_core::lexer: Next token is '"foo "' [INFO] [stdout] 2025-10-01T14:34:46.841230Z  INFO vyder_core::parser: Advancing to token index 1: '=' [INFO] [stdout] 2025-10-01T14:34:46.841234Z  INFO vyder_core::lexer: Advancing to char index 23 [INFO] [stdout] 2025-10-01T14:34:46.841245Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.841248Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841252Z  INFO vyder_core::lexer: Constructing span at line 1, column 23 [INFO] [stdout] 2025-10-01T14:34:46.841258Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.841293Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841303Z  INFO vyder_core::lexer: Char at distance 0 from 23 is '(' [INFO] [stdout] 2025-10-01T14:34:46.841305Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841310Z  INFO vyder_core::lexer: Next token is '(' [INFO] [stdout] 2025-10-01T14:34:46.841315Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841320Z  INFO vyder_core::lexer: Advancing to char index 24 [INFO] [stdout] 2025-10-01T14:34:46.841326Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-10-01T14:34:46.841339Z  INFO vyder_core::lexer: Constructing span at line 1, column 24 [INFO] [stdout] 2025-10-01T14:34:46.841329Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841346Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-10-01T14:34:46.841353Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841355Z  INFO vyder_core::lexer: Char at distance 0 from 24 is 'None' [INFO] [stdout] 2025-10-01T14:34:46.841361Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-10-01T14:34:46.841364Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841381Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841391Z  INFO vyder_core::parser: Advancing to token index 2: '12' [INFO] [stdout] 2025-10-01T14:34:46.841398Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:34:46.841404Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:34:46.841411Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:34:46.841417Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:34:46.841428Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:34:46.841435Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.841442Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.841449Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.841469Z  INFO vyder_core::parser: Token at distance 0 from 2 is '12' at test 1:7 - 1:8 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:34:46.841483Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.841498Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.841510Z  INFO vyder_core::parser: Token at distance 0 from 2 is '12' at test 1:7 - 1:8 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:34:46.841517Z  INFO vyder_core::parser: Advancing to token index 3: 'or' [INFO] [stdout] 2025-10-01T14:34:46.841527Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:34:46.841537Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:34:46.841547Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:34:46.841557Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:34:46.841568Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:34:46.841578Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:34:46.841590Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:34:46.841598Z  INFO vyder_core::parser: Advancing to token index 4: '3' [INFO] [stdout] 2025-10-01T14:34:46.841606Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:34:46.841611Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:34:46.841617Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:34:46.841622Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:34:46.841627Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.841632Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.841638Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.841647Z  INFO vyder_core::parser: Token at distance 0 from 4 is '3' at test 1:13 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841659Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.841668Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.841681Z  INFO vyder_core::parser: Token at distance 0 from 4 is '3' at test 1:13 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841688Z  INFO vyder_core::parser: Advancing to token index 5: ';' [INFO] [stdout] 2025-10-01T14:34:46.841698Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841708Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841717Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841726Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841737Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841746Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841755Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.841766Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:34:46.841779Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.841795Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:34:46.841808Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:34:46.841818Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:34:46.841828Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:34:46.841842Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:34:46.841852Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.841862Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.841872Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.841885Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.841912Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.841975Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.841987Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.841994Z  INFO vyder_core::parser: Advancing to token index 1: '(' [INFO] [stdout] 2025-10-01T14:34:46.842004Z  INFO vyder_core::parser: Token at distance 0 from 1 is '(' at test 1:4 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842010Z  INFO vyder_core::parser: Advancing to token index 2: 'bar' [INFO] [stdout] 2025-10-01T14:34:46.842020Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.842027Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:34:46.842033Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:34:46.842039Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:34:46.842045Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:34:46.842050Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:34:46.842056Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.842062Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.842067Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.842078Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.842092Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.842154Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.842169Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.842177Z  INFO vyder_core::parser: Advancing to token index 3: '(' [INFO] [stdout] 2025-10-01T14:34:46.842187Z  INFO vyder_core::parser: Token at distance 0 from 3 is '(' at test 1:8 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842193Z  INFO vyder_core::parser: Advancing to token index 4: ')' [INFO] [stdout] 2025-10-01T14:34:46.842203Z  INFO vyder_core::parser: Token at distance 0 from 4 is ')' at test 1:13 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842210Z  INFO vyder_core::parser: Advancing to token index 5: ')' [INFO] [stdout] 2025-10-01T14:34:46.842220Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842231Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842240Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842250Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842284Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842297Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842307Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842317Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842332Z  INFO vyder_core::parser: Parsed expression ''Call(bar)' at test 1:5 - 1:13 (9 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.842353Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842366Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842373Z  INFO vyder_core::parser: Advancing to token index 6: ';' [INFO] [stdout] 2025-10-01T14:34:46.842383Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842394Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842404Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842415Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842428Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842439Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842450Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842461Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842468Z  INFO vyder_core::parser: Parsed expression ''Call(foo)' at test 1:1 - 1:14 (14 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.842486Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842496Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.842510Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:34:46.842522Z  INFO vyder_core::parser: Advancing to token index 7: 'EOF' [INFO] [stdout] 2025-10-01T14:34:46.842532Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-01T14:34:46.842544Z  INFO vyder_core::parser: parsed statement ''Call(foo);' at test 1:1 - 1:15 (15 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.842562Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:34:46.842568Z  INFO vyder_core::parser: Token at distance 0 from 7 is None [INFO] [stdout] 2025-10-01T14:34:46.842767Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:34:46.842790Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stderr] Running unittests src/bin/vyder_debug_cli/main.rs (/opt/rustwide/target/debug/deps/vyder_debug_cli-15f5478e497e1ce6) [INFO] [stdout] | foo.bar; [INFO] [stderr] Doc-tests vyder_core [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.842804Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:34:46.842814Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:34:46.842827Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:34:46.842837Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:34:46.842848Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:34:46.842861Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.842872Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.842888Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.842901Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.842926Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.842999Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.843018Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.843026Z  INFO vyder_core::parser: Advancing to token index 1: '.' [INFO] [stdout] 2025-10-01T14:34:46.843038Z  INFO vyder_core::parser: Token at distance 0 from 1 is '.' at test 1:4 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.843045Z  INFO vyder_core::parser: Advancing to token index 2: 'bar' [INFO] [stdout] 2025-10-01T14:34:46.843056Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.843063Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-10-01T14:34:46.843082Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.843277Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:34:46.843301Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.843313Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:34:46.843323Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:34:46.843336Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:34:46.843346Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:34:46.843357Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:34:46.843370Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.843379Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.843392Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.843404Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.843428Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.843498Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.843515Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.843522Z  INFO vyder_core::parser: Advancing to token index 1: '=' [INFO] [stdout] 2025-10-01T14:34:46.843533Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.843545Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.843555Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.843565Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.843578Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.843596Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.843607Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.843617Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.843624Z  INFO vyder_core::parser: Advancing to token index 2: '(' [INFO] [stdout] 2025-10-01T14:34:46.843630Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:34:46.843636Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:34:46.843642Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:34:46.843648Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:34:46.843654Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:34:46.843660Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.843666Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.843672Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.843681Z  INFO vyder_core::parser: Token at distance 0 from 2 is '(' at test 1:7 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.843694Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.843708Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.843719Z  INFO vyder_core::parser: Token at distance 0 from 2 is '(' at test 1:7 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.843727Z  INFO vyder_core::parser: Advancing to token index 3: 'import' [INFO] [stdout] 2025-10-01T14:34:46.843740Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:34:46.843759Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:34:46.843770Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:34:46.843781Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:34:46.843794Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:34:46.843804Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.843818Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.843826Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.843841Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'import' at test 1:8 - 1:13 (6 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^ here [INFO] [stdout] 2025-10-01T14:34:46.843862Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.843926Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.843940Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'import' at test 1:8 - 1:13 (6 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^ here [INFO] [stdout] 2025-10-01T14:34:46.843947Z  INFO vyder_core::parser: Advancing to token index 4: '(' [INFO] [stdout] 2025-10-01T14:34:46.843957Z  INFO vyder_core::parser: Token at distance 0 from 4 is '(' at test 1:14 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.843963Z  INFO vyder_core::parser: Advancing to token index 5: '"std"' [INFO] [stdout] 2025-10-01T14:34:46.843974Z  INFO vyder_core::parser: Token at distance 0 from 5 is '"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here [INFO] [stdout] 2025-10-01T14:34:46.843980Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:34:46.843986Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:34:46.843992Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:34:46.843998Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:34:46.844004Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:34:46.844010Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.844015Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.844020Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.844031Z  INFO vyder_core::parser: Token at distance 0 from 5 is '"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here [INFO] [stdout] 2025-10-01T14:34:46.844043Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.844101Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.844114Z  INFO vyder_core::parser: Token at distance 0 from 5 is '"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here [INFO] [stdout] 2025-10-01T14:34:46.844124Z  INFO vyder_core::parser: Advancing to token index 6: ')' [INFO] [stdout] 2025-10-01T14:34:46.844134Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.844146Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.844155Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.844165Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.844176Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.844186Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.844197Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.844207Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.844213Z  INFO vyder_core::parser: Parsed expression ''"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.844230Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.844243Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.844250Z  INFO vyder_core::parser: Advancing to token index 7: '.' [INFO] [stdout] test interpreter::tests::number_test ... ok [INFO] [stdout] test lexer::tests::numbers_test ... ok [INFO] [stdout] test lexer::tests::strings_test ... ok [INFO] [stdout] test interpreter::tests::not_test ... ok [INFO] [stdout] test parser::tests::calls_test ... ok [INFO] [stdout] test token::tests::expect_test ... ok [INFO] [stdout] 2025-10-01T14:34:46.845081Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:34:46.845114Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.845128Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:34:46.845139Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:34:46.845152Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:34:46.845162Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:34:46.845173Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:34:46.845192Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.845201Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.845211Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.845222Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.845243Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.845322Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.845344Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.845352Z  INFO vyder_core::parser: Advancing to token index 1: '[' [INFO] [stdout] 2025-10-01T14:34:46.845361Z  INFO vyder_core::parser: Token at distance 0 from 1 is '[' at test 1:4 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845368Z  INFO vyder_core::parser: Advancing to token index 2: '1' [INFO] [stdout] 2025-10-01T14:34:46.845374Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:34:46.845379Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:34:46.845384Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:34:46.845389Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:34:46.845395Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:34:46.845401Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.845406Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.845411Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.845421Z  INFO vyder_core::parser: Token at distance 0 from 2 is '1' at test 1:5 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845433Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.845478Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.845495Z  INFO vyder_core::parser: Token at distance 0 from 2 is '1' at test 1:5 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845502Z  INFO vyder_core::parser: Advancing to token index 3: ']' [INFO] [stdout] 2025-10-01T14:34:46.845511Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845519Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845527Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845538Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845549Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845557Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845566Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845575Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845581Z  INFO vyder_core::parser: Parsed expression ''1' at test 1:5 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:34:46.845602Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845610Z  INFO vyder_core::parser: Advancing to token index 4: ';' [INFO] [stdout] 2025-10-01T14:34:46.845619Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845629Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845639Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845648Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845661Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845670Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845680Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845690Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845696Z  INFO vyder_core::parser: Parsed expression ''Index' at test 1:1 - 1:6 (6 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.845711Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845720Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.845727Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:34:46.845736Z  INFO vyder_core::parser: Advancing to token index 5: 'EOF' [INFO] [stdout] 2025-10-01T14:34:46.845742Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-01T14:34:46.845748Z  INFO vyder_core::parser: parsed statement ''Index;' at test 1:1 - 1:7 (7 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.845761Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:34:46.845767Z  INFO vyder_core::parser: Token at distance 0 from 5 is None [INFO] [stdout] test parser::tests::index_test ... ok [INFO] [stdout] 2025-10-01T14:34:46.846342Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:34:46.846364Z  INFO vyder_core::parser: Token at distance 0 from 0 is '1' at test 1:1 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.846375Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:34:46.846385Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:34:46.846398Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:34:46.846408Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:34:46.846417Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:34:46.846428Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.846438Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.846447Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.846457Z  INFO vyder_core::parser: Token at distance 0 from 0 is '1' at test 1:1 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.846477Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.846542Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.846556Z  INFO vyder_core::parser: Token at distance 0 from 0 is '1' at test 1:1 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.846564Z  INFO vyder_core::parser: Advancing to token index 1: '..' [INFO] [stdout] 2025-10-01T14:34:46.846574Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:34:46.846588Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:34:46.846598Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:34:46.846608Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-10-01T14:34:46.846615Z  INFO vyder_core::parser: Advancing to token index 2: '3' [INFO] [stdout] 2025-10-01T14:34:46.846620Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.846625Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.846630Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.846639Z  INFO vyder_core::parser: Token at distance 0 from 2 is '3' at test 1:4 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.846651Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.846657Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.846666Z  INFO vyder_core::parser: Token at distance 0 from 2 is '3' at test 1:4 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.846673Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-10-01T14:34:46.846682Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.846691Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.846699Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.846709Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.846721Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.846729Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.846739Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.846745Z  INFO vyder_core::parser: Parsed expression ''Range' at test 1:1 - 1:4 (4 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.846759Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.846768Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.846774Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:34:46.846783Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-10-01T14:34:46.846790Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-01T14:34:46.846796Z  INFO vyder_core::parser: parsed statement ''Range;' at test 1:1 - 1:5 (5 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.846809Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:34:46.846815Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] test parser::tests::ranges_test ... ok [INFO] [stdout] 2025-10-01T14:34:46.847404Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:34:46.847425Z  INFO vyder_core::parser: Token at distance 0 from 0 is '!' at test 1:1 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.847436Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-10-01T14:34:46.847445Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-10-01T14:34:46.847456Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-10-01T14:34:46.847465Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-10-01T14:34:46.847474Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-10-01T14:34:46.847486Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.847495Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.847504Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.847513Z  INFO vyder_core::parser: Token at distance 0 from 0 is '!' at test 1:1 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.847523Z  INFO vyder_core::parser: Advancing to token index 1: '-' [INFO] [stdout] 2025-10-01T14:34:46.847531Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.847541Z  INFO vyder_core::parser: Token at distance 0 from 1 is '-' at test 1:2 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.847547Z  INFO vyder_core::parser: Advancing to token index 2: 'foo' [INFO] [stdout] 2025-10-01T14:34:46.847552Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.847564Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'foo' at test 1:3 - 1:5 (3 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.847589Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.847649Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.847663Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'foo' at test 1:3 - 1:5 (3 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-10-01T14:34:46.847670Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-10-01T14:34:46.847679Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.847690Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.847699Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.847707Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.847717Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.847725Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.847733Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.847741Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.847747Z  INFO vyder_core::parser: Parsed expression ''Not' at test 1:1 - 1:5 (5 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.847760Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.847768Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.847773Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:34:46.847781Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-10-01T14:34:46.847787Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-01T14:34:46.847799Z  INFO vyder_core::parser: parsed statement ''Not;' at test 1:1 - 1:6 (6 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.847810Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:34:46.847815Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] test parser::tests::unary_test ... ok [INFO] [stdout] test statement::tests::expect_test ... ok [INFO] [stdout] 2025-10-01T14:34:46.844353Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848019Z  INFO vyder_core::parser: Parsed expression ''Assignment' at test 1:1 - 1:13 (13 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.848044Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848053Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848059Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:34:46.848069Z  INFO vyder_core::parser: Advancing to token index 6: 'EOF' [INFO] [stdout] 2025-10-01T14:34:46.848075Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-01T14:34:46.848081Z  INFO vyder_core::parser: parsed statement ''Assignment;' at test 1:1 - 1:14 (14 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.848095Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:34:46.848100Z  INFO vyder_core::parser: Token at distance 0 from 6 is None [INFO] [stdout] test parser::tests::assignment_test ... ok [INFO] [stdout] 2025-10-01T14:34:46.843089Z  INFO vyder_core::parser: ending branch for field access at token Some(Token { value: Semicolon(Semicolon), span: Span { start_location: Location { line: 1, column: 8, char_index: 7 }, end_location: None, module_name: "test", snippet: Some("foo.bar;") } }) [INFO] [stdout] 2025-10-01T14:34:46.848219Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848233Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848243Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848251Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848280Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848291Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848300Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848309Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848315Z  INFO vyder_core::parser: Parsed expression ''FieldAccess' at test 1:1 - 1:7 (7 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.848329Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848337Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848344Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:34:46.848353Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-10-01T14:34:46.848358Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-01T14:34:46.848365Z  INFO vyder_core::parser: parsed statement ''FieldAccess;' at test 1:1 - 1:8 (8 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.848378Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:34:46.848383Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] test parser::tests::field_access_test ... ok [INFO] [stdout] 2025-10-01T14:34:46.848500Z  INFO vyder_core::parser: Token at distance 0 from 7 is '.' at test 1:21 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848511Z  INFO vyder_core::parser: Advancing to token index 8: 'argc' [INFO] [stdout] 2025-10-01T14:34:46.848522Z  INFO vyder_core::parser: Token at distance 0 from 8 is 'argc' at test 1:22 - 1:25 (4 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^ here [INFO] [stdout] 2025-10-01T14:34:46.848529Z  INFO vyder_core::parser: Advancing to token index 9: '+' [INFO] [stdout] 2025-10-01T14:34:46.848539Z  INFO vyder_core::parser: Token at distance 0 from 9 is '+' at test 1:27 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848544Z  INFO vyder_core::parser: ending branch for field access at token Some(Token { value: Plus(Plus), span: Span { start_location: Location { line: 1, column: 27, char_index: 26 }, end_location: None, module_name: "test", snippet: Some("foo = (import('std').argc + 2) + 2;") } }) [INFO] [stdout] 2025-10-01T14:34:46.848557Z  INFO vyder_core::parser: Token at distance 0 from 9 is '+' at test 1:27 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848567Z  INFO vyder_core::parser: Token at distance 0 from 9 is '+' at test 1:27 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848577Z  INFO vyder_core::parser: Token at distance 0 from 9 is '+' at test 1:27 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848592Z  INFO vyder_core::parser: Advancing to token index 10: '2' [INFO] [stdout] 2025-10-01T14:34:46.848597Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.848603Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.848608Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.848617Z  INFO vyder_core::parser: Token at distance 0 from 10 is '2' at test 1:29 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848629Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.848635Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.848645Z  INFO vyder_core::parser: Token at distance 0 from 10 is '2' at test 1:29 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848651Z  INFO vyder_core::parser: Advancing to token index 11: ')' [INFO] [stdout] 2025-10-01T14:34:46.848660Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848669Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848677Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848687Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848702Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848711Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848721Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848732Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848738Z  INFO vyder_core::parser: Parsed expression ''Addition' at test 1:8 - 1:29 (22 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^^^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.848755Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848761Z  INFO vyder_core::parser: Advancing to token index 12: '+' [INFO] [stdout] 2025-10-01T14:34:46.848772Z  INFO vyder_core::parser: Token at distance 0 from 12 is '+' at test 1:32 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848783Z  INFO vyder_core::parser: Token at distance 0 from 12 is '+' at test 1:32 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848792Z  INFO vyder_core::parser: Token at distance 0 from 12 is '+' at test 1:32 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848798Z  INFO vyder_core::parser: Advancing to token index 13: '2' [INFO] [stdout] 2025-10-01T14:34:46.848804Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-10-01T14:34:46.848809Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-10-01T14:34:46.848814Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-10-01T14:34:46.848823Z  INFO vyder_core::parser: Token at distance 0 from 13 is '2' at test 1:34 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848834Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-10-01T14:34:46.848840Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-10-01T14:34:46.848849Z  INFO vyder_core::parser: Token at distance 0 from 13 is '2' at test 1:34 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848856Z  INFO vyder_core::parser: Advancing to token index 14: ';' [INFO] [stdout] 2025-10-01T14:34:46.848865Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848876Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848888Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848899Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848910Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848920Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848929Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848937Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848946Z  INFO vyder_core::parser: Parsed expression ''Assignment' at test 1:1 - 1:34 (34 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.848967Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848976Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-10-01T14:34:46.848983Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-10-01T14:34:46.848991Z  INFO vyder_core::parser: Advancing to token index 15: 'EOF' [INFO] [stdout] 2025-10-01T14:34:46.848997Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-10-01T14:34:46.849002Z  INFO vyder_core::parser: parsed statement ''Assignment;' at test 1:1 - 1:35 (35 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-10-01T14:34:46.849020Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-10-01T14:34:46.849026Z  INFO vyder_core::parser: Token at distance 0 from 15 is None [INFO] [stdout] test parser::tests::import_test ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test src/statement/mod.rs - statement::Statement::expect (line 23) ... ok [INFO] [stdout] test src/expression/mod.rs - expression::Expression::expect (line 23) ... ok [INFO] [stdout] test src/token/mod.rs - token::Token::expect (line 22) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.56s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a98063347f03e0f74b7a1c168ee069f7b62870e8f53fc71a658f2bf68bda8614", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a98063347f03e0f74b7a1c168ee069f7b62870e8f53fc71a658f2bf68bda8614", kill_on_drop: false }` [INFO] [stdout] a98063347f03e0f74b7a1c168ee069f7b62870e8f53fc71a658f2bf68bda8614