[INFO] fetching crate vyder_core 0.3.4... [INFO] testing vyder_core-0.3.4 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate vyder_core 0.3.4 into /workspace/builds/worker-3-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-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate vyder_core 0.3.4 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded enum_downcast v0.2.0 [INFO] [stderr] Downloaded enum_downcast_derive v0.2.0 [INFO] [stderr] Downloaded vyder_macros v0.3.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 47832188dc765209485a9bcf96fd0a2d6e76f53f35bcd0faf47b955525d071ca [INFO] running `Command { std: "docker" "start" "-a" "47832188dc765209485a9bcf96fd0a2d6e76f53f35bcd0faf47b955525d071ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "47832188dc765209485a9bcf96fd0a2d6e76f53f35bcd0faf47b955525d071ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "47832188dc765209485a9bcf96fd0a2d6e76f53f35bcd0faf47b955525d071ca", kill_on_drop: false }` [INFO] [stdout] 47832188dc765209485a9bcf96fd0a2d6e76f53f35bcd0faf47b955525d071ca [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4cce50033627db7d17a22984165837ea1fee07bc4e6d84e782285d48ff4f50b0 [INFO] running `Command { std: "docker" "start" "-a" "4cce50033627db7d17a22984165837ea1fee07bc4e6d84e782285d48ff4f50b0", kill_on_drop: false }` [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.0 [INFO] [stderr] Compiling colorchoice v1.0.1 [INFO] [stderr] Compiling anstyle-query v1.1.0 [INFO] [stderr] Compiling anstyle v1.0.7 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling anstyle-parse v0.2.4 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling clap_lex v0.7.1 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling colored v2.1.0 [INFO] [stderr] Compiling anstream v0.6.14 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling clap_builder v4.5.9 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling regex v1.10.5 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling clap_derive v4.5.8 [INFO] [stderr] Compiling tracing-test-macro v0.2.5 [INFO] [stderr] Compiling enum_downcast_derive v0.2.0 [INFO] [stderr] Compiling vyder_macros v0.3.4 [INFO] [stderr] Compiling enum_downcast v0.2.0 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling tracing-subscriber v0.3.18 [INFO] [stderr] Compiling clap v4.5.9 [INFO] [stderr] Compiling tracing-test v0.2.5 [INFO] [stderr] Compiling vyder_core v0.3.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/value/values.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 35 | #[derive(Clone, Debug, IntoValueEnum, PartialEq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 43 | function: fn(&[ValueResult], Span) -> Result<(ValueResult, Option)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.94s [INFO] running `Command { std: "docker" "inspect" "4cce50033627db7d17a22984165837ea1fee07bc4e6d84e782285d48ff4f50b0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4cce50033627db7d17a22984165837ea1fee07bc4e6d84e782285d48ff4f50b0", kill_on_drop: false }` [INFO] [stdout] 4cce50033627db7d17a22984165837ea1fee07bc4e6d84e782285d48ff4f50b0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c2d809d81876ed6fc3b3141916b24c097e93b64f5ccd46b2e7e6a806d34f3624 [INFO] running `Command { std: "docker" "start" "-a" "c2d809d81876ed6fc3b3141916b24c097e93b64f5ccd46b2e7e6a806d34f3624", kill_on_drop: false }` [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/value/values.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 35 | #[derive(Clone, Debug, IntoValueEnum, PartialEq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 43 | function: fn(&[ValueResult], Span) -> Result<(ValueResult, Option)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling vyder_core v0.3.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/value/values.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 35 | #[derive(Clone, Debug, IntoValueEnum, PartialEq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 43 | function: fn(&[ValueResult], Span) -> Result<(ValueResult, Option)>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.69s [INFO] running `Command { std: "docker" "inspect" "c2d809d81876ed6fc3b3141916b24c097e93b64f5ccd46b2e7e6a806d34f3624", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c2d809d81876ed6fc3b3141916b24c097e93b64f5ccd46b2e7e6a806d34f3624", kill_on_drop: false }` [INFO] [stdout] c2d809d81876ed6fc3b3141916b24c097e93b64f5ccd46b2e7e6a806d34f3624 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 407e0202d8bf963abd7175604144a5b6aa6804faeef40b4d5dd8130a6ffd53ca [INFO] running `Command { std: "docker" "start" "-a" "407e0202d8bf963abd7175604144a5b6aa6804faeef40b4d5dd8130a6ffd53ca", kill_on_drop: false }` [INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stderr] --> src/value/values.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 35 | #[derive(Clone, Debug, IntoValueEnum, PartialEq)] [INFO] [stderr] | --------- in this derive macro expansion [INFO] [stderr] ... [INFO] [stderr] 43 | function: fn(&[ValueResult], Span) -> Result<(ValueResult, Option)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the address of the same function can vary between different codegen units [INFO] [stderr] = note: furthermore, different functions could have the same address after being merged together [INFO] [stderr] = note: for more information visit [INFO] [stderr] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `vyder_core` (lib) generated 1 warning [INFO] [stderr] warning: `vyder_core` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vyder_core-5973d1184e3ed235) [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test expression::tests::expect_test ... ok [INFO] [stdout] test environment::tests::environments_test ... ok [INFO] [stdout] test interpreter::tests::number_test ... ok [INFO] [stdout] test statement::tests::expect_test ... ok [INFO] [stdout] test token::tests::expect_test ... ok [INFO] [stdout] 2025-09-01T12:55:23.715245Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2025-09-01T12:55:23.715277Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.715286Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-09-01T12:55:23.715294Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.715305Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2025-09-01T12:55:23.715313Z  INFO vyder_core::lexer: Char at distance 0 from 0 is 'f' [INFO] [stdout] 2025-09-01T12:55:23.715319Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-09-01T12:55:23.715326Z  INFO vyder_core::lexer: Char at distance 0 from 1 is 'o' [INFO] [stdout] 2025-09-01T12:55:23.715332Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-09-01T12:55:23.715338Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'o' [INFO] [stdout] 2025-09-01T12:55:23.715344Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-09-01T12:55:23.715350Z  INFO vyder_core::lexer: Char at distance 0 from 3 is ' ' [INFO] [stdout] 2025-09-01T12:55:23.715358Z  INFO vyder_core::lexer: Next token is 'foo' [INFO] [stdout] 2025-09-01T12:55:23.715381Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-09-01T12:55:23.715387Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.715393Z  INFO vyder_core::lexer: Constructing span at line 1, column 4 [INFO] [stdout] 2025-09-01T12:55:23.715399Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.715408Z  INFO vyder_core::lexer: Char at distance 0 from 3 is ' ' [INFO] [stdout] 2025-09-01T12:55:23.715415Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-09-01T12:55:23.715430Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.715436Z  INFO vyder_core::lexer: Constructing span at line 1, column 5 [INFO] [stdout] 2025-09-01T12:55:23.715443Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.715450Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'r' [INFO] [stdout] 2025-09-01T12:55:23.715457Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'r' [INFO] [stdout] 2025-09-01T12:55:23.715463Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-09-01T12:55:23.715469Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'e' [INFO] [stdout] 2025-09-01T12:55:23.715475Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-09-01T12:55:23.715481Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 't' [INFO] [stdout] 2025-09-01T12:55:23.715486Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-09-01T12:55:23.715484Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-09-01T12:55:23.715493Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'u' [INFO] [stdout] 2025-09-01T12:55:23.715500Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-09-01T12:55:23.715500Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.715506Z  INFO vyder_core::lexer: Char at distance 0 from 8 is 'r' [INFO] [stdout] 2025-09-01T12:55:23.715508Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-09-01T12:55:23.715512Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-09-01T12:55:23.715516Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.715518Z  INFO vyder_core::lexer: Char at distance 0 from 9 is 'n' [INFO] [stdout] 2025-09-01T12:55:23.715524Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-09-01T12:55:23.715525Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-09-01T12:55:23.715531Z  INFO vyder_core::lexer: Char at distance 0 from 10 is ')' [INFO] [stdout] 2025-09-01T12:55:23.715532Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2025-09-01T12:55:23.715538Z  INFO vyder_core::lexer: Next token is 'return' [INFO] [stdout] 2025-09-01T12:55:23.715539Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '1' [INFO] [stdout] 2025-09-01T12:55:23.715547Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-09-01T12:55:23.715547Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-09-01T12:55:23.715552Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.715555Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '2' [INFO] [stdout] 2025-09-01T12:55:23.715558Z  INFO vyder_core::lexer: Constructing span at line 1, column 11 [INFO] [stdout] 2025-09-01T12:55:23.715562Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-09-01T12:55:23.715564Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.715568Z  INFO vyder_core::lexer: Char at distance 0 from 2 is '.' [INFO] [stdout] 2025-09-01T12:55:23.715574Z  INFO vyder_core::lexer: Char at distance 0 from 10 is ')' [INFO] [stdout] 2025-09-01T12:55:23.715575Z  INFO vyder_core::lexer: Char at distance 1 from 2 is '5' [INFO] [stdout] 2025-09-01T12:55:23.715582Z  INFO vyder_core::lexer: Next token is ')' [INFO] [stdout] 2025-09-01T12:55:23.715582Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-09-01T12:55:23.715591Z  INFO vyder_core::lexer: Char at distance 0 from 3 is '5' [INFO] [stdout] 2025-09-01T12:55:23.715591Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-09-01T12:55:23.715597Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-09-01T12:55:23.715598Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.715605Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '.' [INFO] [stdout] 2025-09-01T12:55:23.715605Z  INFO vyder_core::lexer: Constructing span at line 1, column 12 [INFO] [stdout] 2025-09-01T12:55:23.715612Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.715613Z  INFO vyder_core::lexer: Next token is '12.5' [INFO] [stdout] 2025-09-01T12:55:23.715620Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-09-01T12:55:23.715625Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-09-01T12:55:23.715627Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-09-01T12:55:23.715632Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.715639Z  INFO vyder_core::lexer: Constructing span at line 1, column 5 [INFO] [stdout] 2025-09-01T12:55:23.715645Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.715654Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '.' [INFO] [stdout] 2025-09-01T12:55:23.715661Z  INFO vyder_core::lexer: Char at distance 1 from 4 is 'f' [INFO] [stdout] 2025-09-01T12:55:23.715669Z  INFO vyder_core::lexer: Next token is '.' [INFO] [stdout] 2025-09-01T12:55:23.715684Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-09-01T12:55:23.715692Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.715699Z  INFO vyder_core::lexer: Constructing span at line 1, column 6 [INFO] [stdout] 2025-09-01T12:55:23.715706Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.715715Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'f' [INFO] [stdout] 2025-09-01T12:55:23.715722Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'f' [INFO] [stdout] 2025-09-01T12:55:23.715730Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-09-01T12:55:23.715737Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'o' [INFO] [stdout] 2025-09-01T12:55:23.715743Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-09-01T12:55:23.715751Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'o' [INFO] [stdout] 2025-09-01T12:55:23.715758Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-09-01T12:55:23.715765Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-09-01T12:55:23.715773Z  INFO vyder_core::lexer: Next token is 'foo' [INFO] [stdout] 2025-09-01T12:55:23.715783Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-09-01T12:55:23.715791Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.715797Z  INFO vyder_core::lexer: Constructing span at line 1, column 9 [INFO] [stdout] 2025-09-01T12:55:23.715804Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.715812Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-09-01T12:55:23.715819Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-09-01T12:55:23.715825Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.715832Z  INFO vyder_core::lexer: Constructing span at line 1, column 10 [INFO] [stdout] 2025-09-01T12:55:23.715838Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.715845Z  INFO vyder_core::lexer: Char at distance 0 from 9 is '1' [INFO] [stdout] 2025-09-01T12:55:23.715852Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2025-09-01T12:55:23.715859Z  INFO vyder_core::lexer: Char at distance 0 from 9 is '1' [INFO] [stdout] 2025-09-01T12:55:23.715866Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-09-01T12:55:23.715874Z  INFO vyder_core::lexer: Char at distance 0 from 10 is '2' [INFO] [stdout] 2025-09-01T12:55:23.715880Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-09-01T12:55:23.715888Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-09-01T12:55:23.715895Z  INFO vyder_core::lexer: Next token is '12' [INFO] [stdout] 2025-09-01T12:55:23.715905Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-09-01T12:55:23.715911Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.715917Z  INFO vyder_core::lexer: Constructing span at line 1, column 12 [INFO] [stdout] 2025-09-01T12:55:23.715923Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.715932Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'None' [INFO] [stdout] 2025-09-01T12:55:23.715939Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] test interpreter::tests::group_test ... ok [INFO] [stdout] test lexer::tests::identifiers_test ... ok [INFO] [stdout] test lexer::tests::numbers_test ... ok [INFO] [stdout] 2025-09-01T12:55:23.721848Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-09-01T12:55:23.721887Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.721895Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-09-01T12:55:23.721903Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.721913Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-09-01T12:55:23.721921Z  INFO vyder_core::lexer: Char at distance 1 from 0 is '=' [INFO] [stdout] 2025-09-01T12:55:23.721928Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-09-01T12:55:23.721937Z  INFO vyder_core::lexer: Next token is '+=' [INFO] [stdout] 2025-09-01T12:55:23.721987Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-09-01T12:55:23.722004Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.722027Z  INFO vyder_core::lexer: Constructing span at line 1, column 3 [INFO] [stdout] 2025-09-01T12:55:23.722046Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.722055Z  INFO vyder_core::lexer: Char at distance 0 from 2 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-09-01T12:55:23.722071Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.722077Z  INFO vyder_core::lexer: Constructing span at line 2, column 1 [INFO] [stdout] 2025-09-01T12:55:23.722084Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:23.722104Z  INFO vyder_core::lexer: Char at distance 0 from 3 is '-' [INFO] [stdout] 2025-09-01T12:55:23.722112Z  INFO vyder_core::lexer: Char at distance 1 from 3 is '-' [INFO] [stdout] 2025-09-01T12:55:23.722130Z  INFO vyder_core::lexer: Char at distance 1 from 3 is '-' [INFO] [stdout] 2025-09-01T12:55:23.722139Z  INFO vyder_core::lexer: Next token is '-' [INFO] [stdout] 2025-09-01T12:55:23.722158Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-09-01T12:55:23.722167Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.722186Z  INFO vyder_core::lexer: Constructing span at line 2, column 2 [INFO] [stdout] 2025-09-01T12:55:23.722194Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:23.722216Z  INFO vyder_core::lexer: Char at distance 0 from 4 is '-' [INFO] [stdout] 2025-09-01T12:55:23.722224Z  INFO vyder_core::lexer: Char at distance 1 from 4 is ' ' [INFO] [stdout] 2025-09-01T12:55:23.722231Z  INFO vyder_core::lexer: Char at distance 1 from 4 is ' ' [INFO] [stdout] 2025-09-01T12:55:23.722244Z  INFO vyder_core::lexer: Next token is '-' [INFO] [stdout] 2025-09-01T12:55:23.722254Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-09-01T12:55:23.722270Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.722276Z  INFO vyder_core::lexer: Constructing span at line 2, column 3 [INFO] [stdout] 2025-09-01T12:55:23.722283Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:23.722301Z  INFO vyder_core::lexer: Char at distance 0 from 5 is ' ' [INFO] [stdout] 2025-09-01T12:55:23.722308Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-09-01T12:55:23.722314Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.722320Z  INFO vyder_core::lexer: Constructing span at line 2, column 4 [INFO] [stdout] 2025-09-01T12:55:23.722327Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:23.722334Z  INFO vyder_core::lexer: Char at distance 0 from 6 is '/' [INFO] [stdout] 2025-09-01T12:55:23.722342Z  INFO vyder_core::lexer: Char at distance 1 from 6 is 'None' [INFO] [stdout] 2025-09-01T12:55:23.722360Z  INFO vyder_core::lexer: Char at distance 1 from 6 is 'None' [INFO] [stdout] 2025-09-01T12:55:23.722367Z  INFO vyder_core::lexer: Next token is '/' [INFO] [stdout] 2025-09-01T12:55:23.722390Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-09-01T12:55:23.722398Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.722409Z  INFO vyder_core::lexer: Constructing span at line 2, column 5 [INFO] [stdout] 2025-09-01T12:55:23.722422Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:23.722431Z  INFO vyder_core::lexer: Char at distance 0 from 7 is 'None' [INFO] [stdout] 2025-09-01T12:55:23.722438Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] test lexer::tests::operators_test ... ok [INFO] [stdout] 2025-09-01T12:55:23.722616Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:23.724525Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:23.724565Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.724597Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '#' [INFO] [stdout] 2025-09-01T12:55:23.724615Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-09-01T12:55:23.724633Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '!' [INFO] [stdout] 2025-09-01T12:55:23.724647Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-09-01T12:55:23.724655Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'v' [INFO] [stdout] 2025-09-01T12:55:23.724691Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-09-01T12:55:23.724699Z  INFO vyder_core::lexer: Char at distance 0 from 3 is 'y' [INFO] [stdout] 2025-09-01T12:55:23.724706Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-09-01T12:55:23.724713Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'd' [INFO] [stdout] 2025-09-01T12:55:23.724720Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-09-01T12:55:23.724727Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'e' [INFO] [stdout] 2025-09-01T12:55:23.724738Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-09-01T12:55:23.724745Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'r' [INFO] [stdout] 2025-09-01T12:55:23.724761Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-09-01T12:55:23.724769Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-09-01T12:55:23.724783Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.724790Z  INFO vyder_core::lexer: Constructing span at line 1, column 8 [INFO] [stdout] 2025-09-01T12:55:23.724804Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.724815Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-09-01T12:55:23.724823Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.724829Z  INFO vyder_core::lexer: Constructing span at line 2, column 1 [INFO] [stdout] 2025-09-01T12:55:23.724836Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:23.724850Z  INFO vyder_core::lexer: Char at distance 0 from 8 is '+' [INFO] [stdout] 2025-09-01T12:55:23.724871Z  INFO vyder_core::lexer: Char at distance 1 from 8 is ' ' [INFO] [stdout] 2025-09-01T12:55:23.724880Z  INFO vyder_core::lexer: Next token is '+' [INFO] [stdout] 2025-09-01T12:55:23.724910Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-09-01T12:55:23.724927Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.724934Z  INFO vyder_core::lexer: Constructing span at line 2, column 2 [INFO] [stdout] 2025-09-01T12:55:23.724940Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:23.724965Z  INFO vyder_core::lexer: Char at distance 0 from 9 is ' ' [INFO] [stdout] 2025-09-01T12:55:23.724975Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-09-01T12:55:23.724985Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.724992Z  INFO vyder_core::lexer: Constructing span at line 2, column 3 [INFO] [stdout] 2025-09-01T12:55:23.727847Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-09-01T12:55:23.727877Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.727886Z  INFO vyder_core::lexer: Constructing span at line 1, column 1 [INFO] [stdout] 2025-09-01T12:55:23.727894Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.727904Z  INFO vyder_core::lexer: Char at distance 0 from 0 is '+' [INFO] [stdout] 2025-09-01T12:55:23.727912Z  INFO vyder_core::lexer: Char at distance 1 from 0 is '"' [INFO] [stdout] 2025-09-01T12:55:23.727920Z  INFO vyder_core::lexer: Next token is '+' [INFO] [stdout] 2025-09-01T12:55:23.727932Z  INFO vyder_core::lexer: Advancing to char index 1 [INFO] [stdout] 2025-09-01T12:55:23.727939Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.727945Z  INFO vyder_core::lexer: Constructing span at line 1, column 2 [INFO] [stdout] 2025-09-01T12:55:23.727979Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.727990Z  INFO vyder_core::lexer: Char at distance 0 from 1 is '"' [INFO] [stdout] 2025-09-01T12:55:23.728004Z  INFO vyder_core::lexer: get_string function [INFO] [stdout] 2025-09-01T12:55:23.728030Z  INFO vyder_core::lexer: Advancing to char index 2 [INFO] [stdout] 2025-09-01T12:55:23.728039Z  INFO vyder_core::lexer: Char at distance 0 from 2 is 'H' [INFO] [stdout] 2025-09-01T12:55:23.728047Z  INFO vyder_core::lexer: Advancing to char index 3 [INFO] [stdout] 2025-09-01T12:55:23.728054Z  INFO vyder_core::lexer: Char at distance 0 from 3 is 'e' [INFO] [stdout] 2025-09-01T12:55:23.728061Z  INFO vyder_core::lexer: Advancing to char index 4 [INFO] [stdout] 2025-09-01T12:55:23.728068Z  INFO vyder_core::lexer: Char at distance 0 from 4 is 'l' [INFO] [stdout] 2025-09-01T12:55:23.728075Z  INFO vyder_core::lexer: Advancing to char index 5 [INFO] [stdout] 2025-09-01T12:55:23.728081Z  INFO vyder_core::lexer: Char at distance 0 from 5 is 'l' [INFO] [stdout] 2025-09-01T12:55:23.728087Z  INFO vyder_core::lexer: Advancing to char index 6 [INFO] [stdout] 2025-09-01T12:55:23.728094Z  INFO vyder_core::lexer: Char at distance 0 from 6 is 'o' [INFO] [stdout] 2025-09-01T12:55:23.728100Z  INFO vyder_core::lexer: Advancing to char index 7 [INFO] [stdout] 2025-09-01T12:55:23.728121Z  INFO vyder_core::lexer: Char at distance 0 from 7 is ',' [INFO] [stdout] 2025-09-01T12:55:23.728129Z  INFO vyder_core::lexer: Advancing to char index 8 [INFO] [stdout] 2025-09-01T12:55:23.728154Z  INFO vyder_core::lexer: Char at distance 0 from 8 is ' ' [INFO] [stdout] 2025-09-01T12:55:23.728172Z  INFO vyder_core::lexer: Advancing to char index 9 [INFO] [stdout] 2025-09-01T12:55:23.728178Z  INFO vyder_core::lexer: Char at distance 0 from 9 is 'W' [INFO] [stdout] 2025-09-01T12:55:23.728184Z  INFO vyder_core::lexer: Advancing to char index 10 [INFO] [stdout] 2025-09-01T12:55:23.728172Z  INFO vyder_core::interpreter: evaluating 'not' [INFO] [stdout] 2025-09-01T12:55:23.728191Z  INFO vyder_core::lexer: Char at distance 0 from 10 is 'o' [INFO] [stdout] 2025-09-01T12:55:23.728197Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-09-01T12:55:23.728204Z  INFO vyder_core::lexer: Char at distance 0 from 11 is 'r' [INFO] [stdout] 2025-09-01T12:55:23.728210Z  INFO vyder_core::lexer: Advancing to char index 12 [INFO] [stdout] 2025-09-01T12:55:23.728217Z  INFO vyder_core::lexer: Char at distance 0 from 12 is 'l' [INFO] [stdout] 2025-09-01T12:55:23.728223Z  INFO vyder_core::lexer: Advancing to char index 13 [INFO] [stdout] 2025-09-01T12:55:23.728229Z  INFO vyder_core::lexer: Char at distance 0 from 13 is 'd' [INFO] [stdout] 2025-09-01T12:55:23.728235Z  INFO vyder_core::lexer: Advancing to char index 14 [INFO] [stdout] 2025-09-01T12:55:23.728242Z  INFO vyder_core::lexer: Char at distance 0 from 14 is '!' [INFO] [stdout] 2025-09-01T12:55:23.728261Z  INFO vyder_core::lexer: Advancing to char index 15 [INFO] [stdout] 2025-09-01T12:55:23.728269Z  INFO vyder_core::lexer: Char at distance 0 from 15 is '"' [INFO] [stdout] 2025-09-01T12:55:23.728277Z  INFO vyder_core::lexer: Next token is '"Hello, World!"' [INFO] [stdout] 2025-09-01T12:55:23.728287Z  INFO vyder_core::lexer: Advancing to char index 16 [INFO] [stdout] 2025-09-01T12:55:23.728293Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.728300Z  INFO vyder_core::lexer: Constructing span at line 1, column 17 [INFO] [stdout] 2025-09-01T12:55:23.728306Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.728314Z  INFO vyder_core::lexer: Char at distance 0 from 16 is ''' [INFO] [stdout] 2025-09-01T12:55:23.728321Z  INFO vyder_core::lexer: get_string function [INFO] [stdout] 2025-09-01T12:55:23.728327Z  INFO vyder_core::lexer: Advancing to char index 17 [INFO] [stdout] 2025-09-01T12:55:23.728334Z  INFO vyder_core::lexer: Char at distance 0 from 17 is 'f' [INFO] [stdout] 2025-09-01T12:55:23.728341Z  INFO vyder_core::lexer: Advancing to char index 18 [INFO] [stdout] 2025-09-01T12:55:23.728348Z  INFO vyder_core::lexer: Char at distance 0 from 18 is 'o' [INFO] [stdout] 2025-09-01T12:55:23.728354Z  INFO vyder_core::lexer: Advancing to char index 19 [INFO] [stdout] 2025-09-01T12:55:23.728361Z  INFO vyder_core::lexer: Char at distance 0 from 19 is 'o' [INFO] [stdout] 2025-09-01T12:55:23.728368Z  INFO vyder_core::lexer: Advancing to char index 20 [INFO] [stdout] 2025-09-01T12:55:23.728375Z  INFO vyder_core::lexer: Char at distance 0 from 20 is '\' [INFO] [stdout] 2025-09-01T12:55:23.728383Z  INFO vyder_core::lexer: Char at distance 1 from 20 is 't' [INFO] [stdout] 2025-09-01T12:55:23.728405Z  INFO vyder_core::lexer: Advancing to char index 21 without increasing column [INFO] [stdout] 2025-09-01T12:55:23.728420Z  INFO vyder_core::lexer: Advancing to char index 22 [INFO] [stdout] 2025-09-01T12:55:23.728427Z  INFO vyder_core::lexer: Char at distance 0 from 22 is ''' [INFO] [stdout] 2025-09-01T12:55:23.728434Z  INFO vyder_core::lexer: Next token is '"foo "' [INFO] [stdout] 2025-09-01T12:55:23.728425Z  INFO vyder_core::parser: Token at distance 0 from 0 is '!' at test 1:1 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.728443Z  INFO vyder_core::lexer: Advancing to char index 23 [INFO] [stdout] 2025-09-01T12:55:23.728450Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.728456Z  INFO vyder_core::lexer: Constructing span at line 1, column 23 [INFO] [stdout] 2025-09-01T12:55:23.728463Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.728459Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:23.728472Z  INFO vyder_core::lexer: Char at distance 0 from 23 is '(' [INFO] [stdout] 2025-09-01T12:55:23.728478Z  INFO vyder_core::lexer: Next token is '(' [INFO] [stdout] 2025-09-01T12:55:23.728487Z  INFO vyder_core::lexer: Advancing to char index 24 [INFO] [stdout] 2025-09-01T12:55:23.728485Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:23.728495Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.728502Z  INFO vyder_core::lexer: Constructing span at line 1, column 24 [INFO] [stdout] 2025-09-01T12:55:23.728512Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:23.728515Z  INFO vyder_core::lexer: getting line 0 [INFO] [stdout] 2025-09-01T12:55:23.728525Z  INFO vyder_core::lexer: Char at distance 0 from 24 is 'None' [INFO] [stdout] 2025-09-01T12:55:23.728533Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-09-01T12:55:23.728533Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:23.728560Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:23.725006Z  INFO vyder_core::lexer: getting line 1 [INFO] [stdout] 2025-09-01T12:55:23.728584Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.728599Z  INFO vyder_core::lexer: Char at distance 0 from 10 is '/' [INFO] [stdout] 2025-09-01T12:55:23.728606Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.728611Z  INFO vyder_core::lexer: Char at distance 1 from 10 is '/' [INFO] [stdout] 2025-09-01T12:55:23.728620Z  INFO vyder_core::lexer: Char at distance 1 from 10 is '/' [INFO] [stdout] 2025-09-01T12:55:23.728626Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.728633Z  INFO vyder_core::lexer: Advancing to char index 11 [INFO] [stdout] 2025-09-01T12:55:23.728642Z  INFO vyder_core::lexer: Char at distance 1 from 11 is ' ' [INFO] [stdout] 2025-09-01T12:55:23.728648Z  INFO vyder_core::parser: Token at distance 0 from 0 is '!' at test 1:1 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.728648Z  INFO vyder_core::lexer: Advancing to char index 12 [INFO] [stdout] 2025-09-01T12:55:23.728658Z  INFO vyder_core::lexer: Char at distance 1 from 12 is 't' [INFO] [stdout] 2025-09-01T12:55:23.728664Z  INFO vyder_core::lexer: Advancing to char index 13 [INFO] [stdout] 2025-09-01T12:55:23.728670Z  INFO vyder_core::parser: Advancing to token index 1: '-' [INFO] [stdout] 2025-09-01T12:55:23.728672Z  INFO vyder_core::lexer: Char at distance 1 from 13 is 'e' [INFO] [stdout] 2025-09-01T12:55:23.728680Z  INFO vyder_core::lexer: Advancing to char index 14 [INFO] [stdout] 2025-09-01T12:55:23.728683Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.728828Z  INFO vyder_core::parser: Token at distance 0 from 1 is '-' at test 1:2 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.728844Z  INFO vyder_core::parser: Advancing to token index 2: 'foo' [INFO] [stdout] 2025-09-01T12:55:23.728852Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.728871Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'foo' at test 1:3 - 1:5 (3 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.728912Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.729058Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.729086Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'foo' at test 1:3 - 1:5 (3 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.729101Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-09-01T12:55:23.729116Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729152Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729167Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729180Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729196Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729207Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729219Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729231Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729255Z  INFO vyder_core::parser: Parsed expression ''Not' at test 1:1 - 1:5 (5 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.729277Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729298Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729317Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:6 [INFO] [stdout] | !-foo; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-09-01T12:55:23.729330Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-09-01T12:55:23.729344Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-09-01T12:55:23.729360Z  INFO vyder_core::parser: parsed statement ''Not;' at test 1:1 - 1:6 (6 chars) [INFO] [stdout] | !-foo; [INFO] [stdout] ^^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.729378Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:23.729386Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] 2025-09-01T12:55:23.729460Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:23.729490Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.729505Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:23.729522Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:23.729534Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:23.729548Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:23.729566Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:23.729580Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.729602Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.729621Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.729637Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.729664Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.729744Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.729761Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.729773Z  INFO vyder_core::parser: Advancing to token index 1: '=' [INFO] [stdout] 2025-09-01T12:55:23.729786Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729797Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729808Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729819Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729836Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729848Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729859Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729871Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.729881Z  INFO vyder_core::parser: Advancing to token index 2: '12' [INFO] [stdout] 2025-09-01T12:55:23.729889Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:23.729882Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:23.729897Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:23.729904Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:23.729911Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:23.729913Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:23.729919Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:23.729925Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.729928Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:23.729931Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.729939Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.729942Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:23.729962Z  INFO vyder_core::parser: Token at distance 0 from 2 is '12' at test 1:7 - 1:8 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-09-01T12:55:23.729970Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:23.729980Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.729985Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.729996Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.730000Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.730030Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.730031Z  INFO vyder_core::parser: Token at distance 0 from 2 is '12' at test 1:7 - 1:8 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-09-01T12:55:23.730043Z  INFO vyder_core::parser: Advancing to token index 3: 'or' [INFO] [stdout] 2025-09-01T12:55:23.730049Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.730057Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-09-01T12:55:23.730071Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-09-01T12:55:23.730084Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-09-01T12:55:23.730097Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-09-01T12:55:23.730113Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-09-01T12:55:23.730127Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-09-01T12:55:23.730141Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'or' at test 1:10 - 1:11 (2 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-09-01T12:55:23.730151Z  INFO vyder_core::parser: Advancing to token index 4: '3' [INFO] [stdout] 2025-09-01T12:55:23.730158Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:23.730165Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:23.730172Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:23.730081Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.730179Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:23.730187Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.730194Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.730202Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.730217Z  INFO vyder_core::parser: Token at distance 0 from 4 is '3' at test 1:13 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730236Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.730253Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.730267Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.730274Z  INFO vyder_core::parser: Token at distance 0 from 4 is '3' at test 1:13 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730285Z  INFO vyder_core::parser: Advancing to token index 5: ';' [INFO] [stdout] 2025-09-01T12:55:23.730291Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.730299Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730308Z  INFO vyder_core::parser: Advancing to token index 1: '(' [INFO] [stdout] 2025-09-01T12:55:23.730314Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730324Z  INFO vyder_core::parser: Token at distance 0 from 1 is '(' at test 1:4 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730328Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730336Z  INFO vyder_core::parser: Advancing to token index 2: 'bar' [INFO] [stdout] 2025-09-01T12:55:23.730342Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730351Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.730360Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730361Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:23.730372Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:23.730374Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730380Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:23.730386Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730389Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:23.730398Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:23.730400Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730407Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.730416Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.730413Z  INFO vyder_core::parser: Parsed expression ''Assignment' at test 1:1 - 1:13 (13 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.730424Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.730439Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.730440Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730452Z  INFO vyder_core::parser: Token at distance 0 from 5 is ';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730455Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.730461Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:14 [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-09-01T12:55:23.730474Z  INFO vyder_core::parser: Advancing to token index 6: 'EOF' [INFO] [stdout] 2025-09-01T12:55:23.730481Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-09-01T12:55:23.730490Z  INFO vyder_core::parser: parsed statement ''Assignment;' at test 1:1 - 1:14 (14 chars) [INFO] [stdout] | foo = 12 or 3; [INFO] [stdout] ^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.730506Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:23.730514Z  INFO vyder_core::parser: Token at distance 0 from 6 is None [INFO] [stdout] 2025-09-01T12:55:23.730518Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.730532Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.730540Z  INFO vyder_core::parser: Advancing to token index 3: '(' [INFO] [stdout] 2025-09-01T12:55:23.730551Z  INFO vyder_core::parser: Token at distance 0 from 3 is '(' at test 1:8 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730558Z  INFO vyder_core::parser: Advancing to token index 4: ')' [INFO] [stdout] 2025-09-01T12:55:23.730569Z  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-09-01T12:55:23.730577Z  INFO vyder_core::parser: Advancing to token index 5: ')' [INFO] [stdout] 2025-09-01T12:55:23.730589Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730601Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730611Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730608Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:23.730623Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730637Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.730641Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730654Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730654Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:23.730666Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730671Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:23.730678Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730690Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:23.730687Z  INFO vyder_core::parser: Parsed expression ''Call(bar)' at test 1:5 - 1:13 (9 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^^^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.730706Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:23.730722Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730724Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:23.730742Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.730743Z  INFO vyder_core::parser: Token at distance 0 from 5 is ')' at test 1:14 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730755Z  INFO vyder_core::parser: Advancing to token index 6: ';' [INFO] [stdout] 2025-09-01T12:55:23.730798Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730819Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730832Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730843Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730858Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730871Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stderr] Running unittests src/bin/vyder_debug_cli/main.rs (/opt/rustwide/target/debug/deps/vyder_debug_cli-bb2043fe6848a052) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730883Z  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] [stderr] Doc-tests vyder_core [INFO] [stdout] 2025-09-01T12:55:23.730895Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730903Z  INFO vyder_core::parser: Parsed expression ''Call(foo)' at test 1:1 - 1:14 (14 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.730922Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730933Z  INFO vyder_core::parser: Token at distance 0 from 6 is ';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.730942Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:15 [INFO] [stdout] | foo(bar( )); [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-09-01T12:55:23.730958Z  INFO vyder_core::parser: Advancing to token index 7: 'EOF' [INFO] [stdout] 2025-09-01T12:55:23.730976Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-09-01T12:55:23.730984Z  INFO vyder_core::parser: parsed statement ''Call(foo);' at test 1:1 - 1:15 (15 chars) [INFO] [stdout] | foo(bar( )); [INFO] [stdout] ^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.731073Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:23.731088Z  INFO vyder_core::parser: Token at distance 0 from 7 is None [INFO] [stdout] 2025-09-01T12:55:23.730994Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:23.728688Z  INFO vyder_core::lexer: Char at distance 1 from 14 is 's' [INFO] [stdout] 2025-09-01T12:55:23.731144Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.730758Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.728123Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:23.731252Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.731154Z  INFO vyder_core::lexer: Advancing to char index 15 [INFO] [stdout] 2025-09-01T12:55:23.731283Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.731288Z  INFO vyder_core::lexer: Char at distance 1 from 15 is 't' [INFO] [stdout] 2025-09-01T12:55:23.731304Z  INFO vyder_core::lexer: Advancing to char index 16 [INFO] [stdout] 2025-09-01T12:55:23.731314Z  INFO vyder_core::lexer: Char at distance 1 from 16 is ' ' [INFO] [stdout] 2025-09-01T12:55:23.731317Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.731321Z  INFO vyder_core::lexer: Advancing to char index 17 [INFO] [stdout] 2025-09-01T12:55:23.731332Z  INFO vyder_core::lexer: Char at distance 1 from 17 is '2' [INFO] [stdout] 2025-09-01T12:55:23.731339Z  INFO vyder_core::lexer: Advancing to char index 18 [INFO] [stdout] 2025-09-01T12:55:23.731347Z  INFO vyder_core::lexer: Char at distance 1 from 18 is ' [INFO] [stdout] ' [INFO] [stdout] 2025-09-01T12:55:23.731355Z  INFO vyder_core::lexer: Advancing to char index 19 [INFO] [stdout] 2025-09-01T12:55:23.731362Z  INFO vyder_core::lexer: Advancing to char index 20 [INFO] [stdout] 2025-09-01T12:55:23.731370Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.731378Z  INFO vyder_core::lexer: Constructing span at line 3, column 1 [INFO] [stdout] 2025-09-01T12:55:23.731390Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-09-01T12:55:23.731404Z  INFO vyder_core::lexer: Char at distance 0 from 20 is '/' [INFO] [stdout] 2025-09-01T12:55:23.731404Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.731413Z  INFO vyder_core::lexer: Char at distance 1 from 20 is '/' [INFO] [stdout] 2025-09-01T12:55:23.731423Z  INFO vyder_core::lexer: Char at distance 1 from 20 is '/' [INFO] [stdout] 2025-09-01T12:55:23.731424Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.731430Z  INFO vyder_core::lexer: Advancing to char index 21 [INFO] [stdout] 2025-09-01T12:55:23.731435Z  INFO vyder_core::parser: Advancing to token index 1: '[' [INFO] [stdout] 2025-09-01T12:55:23.731438Z  INFO vyder_core::lexer: Char at distance 1 from 21 is ' ' [INFO] [stdout] 2025-09-01T12:55:23.731445Z  INFO vyder_core::lexer: Advancing to char index 22 [INFO] [stdout] 2025-09-01T12:55:23.731447Z  INFO vyder_core::parser: Token at distance 0 from 1 is '[' at test 1:4 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731453Z  INFO vyder_core::lexer: Char at distance 1 from 22 is 't' [INFO] [stdout] 2025-09-01T12:55:23.731456Z  INFO vyder_core::parser: Advancing to token index 2: '1' [INFO] [stdout] 2025-09-01T12:55:23.731460Z  INFO vyder_core::lexer: Advancing to char index 23 [INFO] [stdout] 2025-09-01T12:55:23.731463Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:23.731468Z  INFO vyder_core::lexer: Char at distance 1 from 23 is 'e' [INFO] [stdout] 2025-09-01T12:55:23.731471Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:23.731475Z  INFO vyder_core::lexer: Advancing to char index 24 [INFO] [stdout] 2025-09-01T12:55:23.731478Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:23.731484Z  INFO vyder_core::lexer: Char at distance 1 from 24 is 's' [INFO] [stdout] 2025-09-01T12:55:23.731487Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:23.731492Z  INFO vyder_core::lexer: Advancing to char index 25 [INFO] [stdout] 2025-09-01T12:55:23.731494Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:23.731501Z  INFO vyder_core::lexer: Char at distance 1 from 25 is 't' [INFO] [stdout] 2025-09-01T12:55:23.731502Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.731508Z  INFO vyder_core::lexer: Advancing to char index 26 [INFO] [stdout] 2025-09-01T12:55:23.731509Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.731517Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.731517Z  INFO vyder_core::lexer: Char at distance 1 from 26 is ' ' [INFO] [stdout] 2025-09-01T12:55:23.731525Z  INFO vyder_core::lexer: Advancing to char index 27 [INFO] [stdout] 2025-09-01T12:55:23.731529Z  INFO vyder_core::parser: Token at distance 0 from 2 is '1' at test 1:5 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731535Z  INFO vyder_core::lexer: Char at distance 1 from 27 is '3' [INFO] [stdout] 2025-09-01T12:55:23.731542Z  INFO vyder_core::lexer: Advancing to char index 28 [INFO] [stdout] 2025-09-01T12:55:23.731547Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.731551Z  INFO vyder_core::lexer: Char at distance 1 from 28 is 'None' [INFO] [stdout] 2025-09-01T12:55:23.731558Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.731565Z  INFO vyder_core::lexer: Constructing span at line 3, column 9 [INFO] [stdout] 2025-09-01T12:55:23.731573Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-09-01T12:55:23.731584Z  INFO vyder_core::lexer: Char at distance 0 from 28 is '3' [INFO] [stdout] 2025-09-01T12:55:23.731592Z  INFO vyder_core::lexer: get_number function [INFO] [stdout] 2025-09-01T12:55:23.731601Z  INFO vyder_core::lexer: Char at distance 0 from 28 is '3' [INFO] [stdout] 2025-09-01T12:55:23.731609Z  INFO vyder_core::lexer: Advancing to char index 29 [INFO] [stdout] 2025-09-01T12:55:23.731618Z  INFO vyder_core::lexer: Char at distance 0 from 29 is 'None' [INFO] [stdout] 2025-09-01T12:55:23.731616Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.731629Z  INFO vyder_core::lexer: Next token is '3' [INFO] [stdout] 2025-09-01T12:55:23.731635Z  INFO vyder_core::parser: Token at distance 0 from 2 is '1' at test 1:5 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731642Z  INFO vyder_core::lexer: Advancing to char index 29 [INFO] [stdout] 2025-09-01T12:55:23.731644Z  INFO vyder_core::parser: Advancing to token index 3: ']' [INFO] [stdout] 2025-09-01T12:55:23.731650Z  INFO vyder_core::lexer: Normal get_token function [INFO] [stdout] 2025-09-01T12:55:23.731656Z  INFO vyder_core::lexer: Constructing span at line 3, column 10 [INFO] [stdout] 2025-09-01T12:55:23.731658Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731664Z  INFO vyder_core::lexer: getting line 2 [INFO] [stdout] 2025-09-01T12:55:23.731670Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731675Z  INFO vyder_core::lexer: Char at distance 0 from 29 is 'None' [INFO] [stdout] 2025-09-01T12:55:23.731683Z  INFO vyder_core::lexer: Next token is 'EOF' [INFO] [stdout] 2025-09-01T12:55:23.731683Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731695Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731711Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731722Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731733Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731744Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731753Z  INFO vyder_core::parser: Parsed expression ''1' at test 1:5 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-09-01T12:55:23.731759Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.731769Z  INFO vyder_core::parser: Token at distance 0 from 3 is ']' at test 1:6 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731784Z  INFO vyder_core::parser: Advancing to token index 4: ';' [INFO] [stdout] 2025-09-01T12:55:23.731785Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:23.731796Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731800Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:23.731809Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731818Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:23.731821Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731832Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731832Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:23.731849Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731847Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:23.731862Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731863Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.731875Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731875Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.731887Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731888Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.731895Z  INFO vyder_core::parser: Parsed expression ''Index' at test 1:1 - 1:6 (6 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.731905Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.731913Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731925Z  INFO vyder_core::parser: Token at distance 0 from 4 is ';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.731934Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:7 [INFO] [stdout] | foo[1]; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-09-01T12:55:23.731937Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.731945Z  INFO vyder_core::parser: Advancing to token index 5: 'EOF' [INFO] [stdout] 2025-09-01T12:55:23.731961Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-09-01T12:55:23.731971Z  INFO vyder_core::parser: parsed statement ''Index;' at test 1:1 - 1:7 (7 chars) [INFO] [stdout] | foo[1]; [INFO] [stdout] ^^^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.732029Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:23.732048Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:23.732065Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:23.732070Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.732077Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:23.732095Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.732099Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:23.732106Z  INFO vyder_core::parser: Advancing to token index 1: '.' [INFO] [stdout] 2025-09-01T12:55:23.732116Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.732120Z  INFO vyder_core::parser: Token at distance 0 from 1 is '.' at test 1:4 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732130Z  INFO vyder_core::parser: Advancing to token index 2: 'bar' [INFO] [stdout] 2025-09-01T12:55:23.732130Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.732142Z  INFO vyder_core::parser: Token at distance 0 from 2 is 'bar' at test 1:5 - 1:7 (3 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.732143Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.732151Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-09-01T12:55:23.732278Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.732346Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:23.732358Z  INFO vyder_core::parser: Token at distance 0 from 5 is None [INFO] [stdout] 2025-09-01T12:55:23.731136Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:23.732405Z  INFO vyder_core::parser: Token at distance 0 from 0 is '1' at test 1:1 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732427Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:23.732442Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:23.732477Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:23.732491Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:23.732504Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:23.732520Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.732523Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.732533Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.732546Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.732559Z  INFO vyder_core::parser: Token at distance 0 from 0 is '1' at test 1:1 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732587Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.732603Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.732624Z  INFO vyder_core::parser: Token at distance 0 from 0 is 'foo' at test 1:1 - 1:3 (3 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^ here [INFO] [stdout] 2025-09-01T12:55:23.732633Z  INFO vyder_core::parser: Advancing to token index 1: '=' [INFO] [stdout] 2025-09-01T12:55:23.732645Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732656Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732668Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732668Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.732679Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732688Z  INFO vyder_core::parser: Token at distance 0 from 0 is '1' at test 1:1 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732695Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732698Z  INFO vyder_core::parser: Advancing to token index 1: '..' [INFO] [stdout] 2025-09-01T12:55:23.732707Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732715Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-09-01T12:55:23.732719Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732729Z  INFO vyder_core::parser: Token at distance 0 from 1 is '=' at test 1:5 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732736Z  INFO vyder_core::parser: Advancing to token index 2: '(' [INFO] [stdout] 2025-09-01T12:55:23.732743Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:23.732742Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-09-01T12:55:23.732750Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:23.732756Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:23.732759Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-09-01T12:55:23.732763Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:23.732769Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:23.732774Z  INFO vyder_core::parser: Token at distance 0 from 1 is '..' at test 1:2 - 1:3 (2 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^ here [INFO] [stdout] 2025-09-01T12:55:23.732776Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.732783Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.732783Z  INFO vyder_core::parser: Advancing to token index 2: '3' [INFO] [stdout] 2025-09-01T12:55:23.732789Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.732791Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.732798Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.732800Z  INFO vyder_core::parser: Token at distance 0 from 2 is '(' at test 1:7 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732805Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.732814Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.732816Z  INFO vyder_core::parser: Token at distance 0 from 2 is '3' at test 1:4 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732827Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.732833Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.732838Z  INFO vyder_core::parser: Token at distance 0 from 2 is '(' at test 1:7 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732842Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.732846Z  INFO vyder_core::parser: Advancing to token index 3: 'import' [INFO] [stdout] 2025-09-01T12:55:23.732853Z  INFO vyder_core::parser: Token at distance 0 from 2 is '3' at test 1:4 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732861Z  INFO vyder_core::parser: Advancing to token index 3: ';' [INFO] [stdout] 2025-09-01T12:55:23.732859Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:23.732872Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732873Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:23.732884Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732885Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:23.732895Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732902Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:23.732908Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732915Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:23.732922Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732927Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.732933Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732940Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.732944Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732958Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.732962Z  INFO vyder_core::parser: Parsed expression ''Range' at test 1:1 - 1:4 (4 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.732975Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'import' at test 1:8 - 1:13 (6 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^ here [INFO] [stdout] 2025-09-01T12:55:23.732981Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.732994Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733001Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.733004Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:5 [INFO] [stdout] | 1..3; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-09-01T12:55:23.733039Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-09-01T12:55:23.733049Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-09-01T12:55:23.733058Z  INFO vyder_core::parser: parsed statement ''Range;' at test 1:1 - 1:5 (5 chars) [INFO] [stdout] | 1..3; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.733074Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:23.733081Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] 2025-09-01T12:55:23.733104Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.733120Z  INFO vyder_core::parser: Token at distance 0 from 3 is 'import' at test 1:8 - 1:13 (6 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^ here [INFO] [stdout] 2025-09-01T12:55:23.733129Z  INFO vyder_core::parser: Advancing to token index 4: '(' [INFO] [stdout] 2025-09-01T12:55:23.733139Z  INFO vyder_core::parser: Token at distance 0 from 4 is '(' at test 1:14 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733147Z  INFO vyder_core::parser: Advancing to token index 5: '"std"' [INFO] [stdout] 2025-09-01T12:55:23.733167Z  INFO vyder_core::parser: Token at distance 0 from 5 is '"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here [INFO] [stdout] 2025-09-01T12:55:23.733176Z  INFO vyder_core::parser: get_expression function [INFO] [stdout] 2025-09-01T12:55:23.733183Z  INFO vyder_core::parser: get_combiner function [INFO] [stdout] 2025-09-01T12:55:23.733189Z  INFO vyder_core::parser: get_equality function [INFO] [stdout] 2025-09-01T12:55:23.733196Z  INFO vyder_core::parser: get_comparison function [INFO] [stdout] 2025-09-01T12:55:23.733204Z  INFO vyder_core::parser: get_range function [INFO] [stdout] 2025-09-01T12:55:23.733210Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.733217Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.733224Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.733237Z  INFO vyder_core::parser: Token at distance 0 from 5 is '"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here [INFO] [stdout] 2025-09-01T12:55:23.733251Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] test interpreter::tests::not_test ... ok [INFO] [stdout] 2025-09-01T12:55:23.733321Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] test lexer::tests::strings_test ... ok [INFO] [stdout] 2025-09-01T12:55:23.733335Z  INFO vyder_core::parser: Token at distance 0 from 5 is '"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here [INFO] [stdout] 2025-09-01T12:55:23.733347Z  INFO vyder_core::parser: Advancing to token index 6: ')' [INFO] [stdout] 2025-09-01T12:55:23.733368Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733384Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733395Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733407Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733453Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733464Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733482Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733476Z  INFO vyder_core::parser: ending branch for field access at token Some(Token { value: Semicolon(Semicolon), span: Span { start_location: Location { line: 1, column: 8, char_index: 7 }, end_location: None, module_name: "test", snippet: Some("foo.bar;") } }) [INFO] [stdout] 2025-09-01T12:55:23.733503Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733511Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733515Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733528Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733523Z  INFO vyder_core::parser: Parsed expression ''"std"' at test 1:15 - 1:19 (5 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.733543Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733549Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733556Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733564Z  INFO vyder_core::parser: Token at distance 0 from 6 is ')' at test 1:20 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733572Z  INFO vyder_core::parser: Advancing to token index 7: '.' [INFO] [stdout] 2025-09-01T12:55:23.733574Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733592Z  INFO vyder_core::parser: Token at distance 0 from 7 is '.' at test 1:21 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733597Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733600Z  INFO vyder_core::parser: Advancing to token index 8: 'argc' [INFO] [stdout] 2025-09-01T12:55:23.733611Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733613Z  INFO vyder_core::parser: Token at distance 0 from 8 is 'argc' at test 1:22 - 1:25 (4 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^ here [INFO] [stdout] 2025-09-01T12:55:23.733622Z  INFO vyder_core::parser: Advancing to token index 9: '+' [INFO] [stdout] test parser::tests::unary_test ... 2025-09-01T12:55:23.733635Z  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] ok [INFO] [stdout] 2025-09-01T12:55:23.733644Z  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] test interpreter::tests::negate_test ... ok [INFO] [stdout] test parser::tests::assignment_test ... ok [INFO] [stdout] 2025-09-01T12:55:23.733660Z  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] test parser::tests::calls_test ... ok [INFO] [stdout] test lexer::tests::comments_test ... ok [INFO] [stdout] 2025-09-01T12:55:23.733675Z  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] test parser::tests::index_test ... ok [INFO] [stdout] 2025-09-01T12:55:23.733689Z  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] test parser::tests::ranges_test ... 2025-09-01T12:55:23.733746Z  INFO vyder_core::parser: Advancing to token index 10: '2' [INFO] [stdout] 2025-09-01T12:55:23.733624Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733787Z  INFO vyder_core::parser: get_term function [INFO] [stdout] ok [INFO] [stdout] 2025-09-01T12:55:23.733795Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.733803Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.733797Z  INFO vyder_core::parser: Parsed expression ''FieldAccess' at test 1:1 - 1:7 (7 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.733816Z  INFO vyder_core::parser: Token at distance 0 from 10 is '2' at test 1:29 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733827Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733831Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.733839Z  INFO vyder_core::parser: Token at distance 0 from 3 is ';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733840Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.733849Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:8 [INFO] [stdout] | foo.bar; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-09-01T12:55:23.733853Z  INFO vyder_core::parser: Token at distance 0 from 10 is '2' at test 1:29 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733861Z  INFO vyder_core::parser: Advancing to token index 4: 'EOF' [INFO] [stdout] 2025-09-01T12:55:23.733862Z  INFO vyder_core::parser: Advancing to token index 11: ')' [INFO] [stdout] 2025-09-01T12:55:23.733868Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-09-01T12:55:23.733874Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733877Z  INFO vyder_core::parser: parsed statement ''FieldAccess;' at test 1:1 - 1:8 (8 chars) [INFO] [stdout] | foo.bar; [INFO] [stdout] ^^^^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.733886Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733892Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:23.733898Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733899Z  INFO vyder_core::parser: Token at distance 0 from 4 is None [INFO] [stdout] 2025-09-01T12:55:23.733910Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733924Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733934Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733945Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733965Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.733972Z  INFO vyder_core::parser: Parsed expression ''Addition' at test 1:8 - 1:29 (22 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^^^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.734001Z  INFO vyder_core::parser: Token at distance 0 from 11 is ')' at test 1:30 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734024Z  INFO vyder_core::parser: Advancing to token index 12: '+' [INFO] [stdout] 2025-09-01T12:55:23.734039Z  INFO vyder_core::parser: Token at distance 0 from 12 is '+' at test 1:32 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734050Z  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] test parser::tests::field_access_test ... ok [INFO] [stdout] 2025-09-01T12:55:23.734061Z  INFO vyder_core::parser: Token at distance 0 from 12 is '+' at test 1:32 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734069Z  INFO vyder_core::parser: Advancing to token index 13: '2' [INFO] [stdout] 2025-09-01T12:55:23.734076Z  INFO vyder_core::parser: get_term function [INFO] [stdout] 2025-09-01T12:55:23.734082Z  INFO vyder_core::parser: get_factor function [INFO] [stdout] 2025-09-01T12:55:23.734123Z  INFO vyder_core::parser: get_unary function [INFO] [stdout] 2025-09-01T12:55:23.734155Z  INFO vyder_core::parser: Token at distance 0 from 13 is '2' at test 1:34 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734191Z  INFO vyder_core::parser: get_properties function [INFO] [stdout] 2025-09-01T12:55:23.734217Z  INFO vyder_core::parser: get_primary function [INFO] [stdout] 2025-09-01T12:55:23.734245Z  INFO vyder_core::parser: Token at distance 0 from 13 is '2' at test 1:34 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734271Z  INFO vyder_core::parser: Advancing to token index 14: ';' [INFO] [stdout] 2025-09-01T12:55:23.734302Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734337Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734374Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734417Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734455Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734488Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734519Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734551Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734579Z  INFO vyder_core::parser: Parsed expression ''Assignment' at test 1:1 - 1:34 (34 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.734625Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734658Z  INFO vyder_core::parser: Token at distance 0 from 14 is ';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here [INFO] [stdout] 2025-09-01T12:55:23.734686Z  INFO vyder_core::parser: token after statement parse is '';' at test 1:35 [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] [INFO] [stdout] ^ here' [INFO] [stdout] 2025-09-01T12:55:23.734720Z  INFO vyder_core::parser: Advancing to token index 15: 'EOF' [INFO] [stdout] 2025-09-01T12:55:23.734748Z  INFO vyder_core::parser: exit get_statement [INFO] [stdout] 2025-09-01T12:55:23.734775Z  INFO vyder_core::parser: parsed statement ''Assignment;' at test 1:1 - 1:35 (35 chars) [INFO] [stdout] | foo = (import('std').argc + 2) + 2; [INFO] [stdout] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ here' [INFO] [stdout] 2025-09-01T12:55:23.734819Z  INFO vyder_core::parser: get_statement function [INFO] [stdout] 2025-09-01T12:55:23.734844Z  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.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test src/expression/mod.rs - expression::Expression::expect (line 23) ... ok [INFO] [stdout] test src/token/mod.rs - token::Token::expect (line 22) ... ok [INFO] [stdout] test src/statement/mod.rs - statement::Statement::expect (line 23) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "407e0202d8bf963abd7175604144a5b6aa6804faeef40b4d5dd8130a6ffd53ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "407e0202d8bf963abd7175604144a5b6aa6804faeef40b4d5dd8130a6ffd53ca", kill_on_drop: false }` [INFO] [stdout] 407e0202d8bf963abd7175604144a5b6aa6804faeef40b4d5dd8130a6ffd53ca