[INFO] cloning repository https://github.com/slothywasnottaken/hearth
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/slothywasnottaken/hearth" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fslothywasnottaken%2Fhearth", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fslothywasnottaken%2Fhearth'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 47b1a613062176b7cb24b9f8d9cc80a0dd628d0b
[INFO] testing slothywasnottaken/hearth against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fslothywasnottaken%2Fhearth" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/slothywasnottaken/hearth
[INFO] finished tweaking git repo https://github.com/slothywasnottaken/hearth
[INFO] tweaked toml for git repo https://github.com/slothywasnottaken/hearth written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/slothywasnottaken/hearth on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/slothywasnottaken/hearth 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 18d0ba4a05e1300b1ac1b90faf9914231e127099f1cecfaf1de764f0e59a82e3
[INFO] running `Command { std: "docker" "start" "-a" "18d0ba4a05e1300b1ac1b90faf9914231e127099f1cecfaf1de764f0e59a82e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "18d0ba4a05e1300b1ac1b90faf9914231e127099f1cecfaf1de764f0e59a82e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "18d0ba4a05e1300b1ac1b90faf9914231e127099f1cecfaf1de764f0e59a82e3", kill_on_drop: false }`
[INFO] [stdout] 18d0ba4a05e1300b1ac1b90faf9914231e127099f1cecfaf1de764f0e59a82e3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0bffcdfaa84b89d61964af7dc897ea140e0d0691e07df75bf094da7f1ab8e218
[INFO] running `Command { std: "docker" "start" "-a" "0bffcdfaa84b89d61964af7dc897ea140e0d0691e07df75bf094da7f1ab8e218", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tokenizer v0.1.0 (/opt/rustwide/workdir/tokenizer)
[INFO] [stderr]    Compiling parser v0.1.0 (/opt/rustwide/workdir/parser)
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> parser/src/parser.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fmt::{Debug, Display, Formatter},
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_ctx` is never used
[INFO] [stdout]    --> parser/src/parser.rs:694:8
[INFO] [stdout]     |
[INFO] [stdout] 692 | impl<'a> Block<'a> {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 693 |     #[instrument(name = "Block::parse_ctx", skip(ctx, tokens))]
[INFO] [stdout] 694 |     fn parse_ctx(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_ctx` is never used
[INFO] [stdout]     --> parser/src/parser.rs:1256:8
[INFO] [stdout]      |
[INFO] [stdout] 1254 | impl<'a> FunctionDecl<'a> {
[INFO] [stdout]      | ------------------------- associated function in this implementation
[INFO] [stdout] 1255 |     #[instrument(name = "FunctionDecl::parse_ctx", skip_all, err)]
[INFO] [stdout] 1256 |     fn parse_ctx(
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.89s
[INFO] running `Command { std: "docker" "inspect" "0bffcdfaa84b89d61964af7dc897ea140e0d0691e07df75bf094da7f1ab8e218", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0bffcdfaa84b89d61964af7dc897ea140e0d0691e07df75bf094da7f1ab8e218", kill_on_drop: false }`
[INFO] [stdout] 0bffcdfaa84b89d61964af7dc897ea140e0d0691e07df75bf094da7f1ab8e218
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 389b028fe9ed6977ad3b413c762c6031eacb1626452f15d7506610c57fba0796
[INFO] running `Command { std: "docker" "start" "-a" "389b028fe9ed6977ad3b413c762c6031eacb1626452f15d7506610c57fba0796", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokenizer v0.1.0 (/opt/rustwide/workdir/tokenizer)
[INFO] [stderr]    Compiling parser v0.1.0 (/opt/rustwide/workdir/parser)
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> parser/src/parser.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fmt::{Debug, Display, Formatter},
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_ctx` is never used
[INFO] [stdout]    --> parser/src/parser.rs:694:8
[INFO] [stdout]     |
[INFO] [stdout] 692 | impl<'a> Block<'a> {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 693 |     #[instrument(name = "Block::parse_ctx", skip(ctx, tokens))]
[INFO] [stdout] 694 |     fn parse_ctx(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_ctx` is never used
[INFO] [stdout]     --> parser/src/parser.rs:1256:8
[INFO] [stdout]      |
[INFO] [stdout] 1254 | impl<'a> FunctionDecl<'a> {
[INFO] [stdout]      | ------------------------- associated function in this implementation
[INFO] [stdout] 1255 |     #[instrument(name = "FunctionDecl::parse_ctx", skip_all, err)]
[INFO] [stdout] 1256 |     fn parse_ctx(
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Formatter`
[INFO] [stdout]  --> parser/src/parser.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fmt::{Debug, Display, Formatter},
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]     --> parser/src/parser.rs:3256:21
[INFO] [stdout]      |
[INFO] [stdout] 3256 |                     t => false,
[INFO] [stdout]      |                     ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_ctx` is never used
[INFO] [stdout]    --> parser/src/parser.rs:694:8
[INFO] [stdout]     |
[INFO] [stdout] 692 | impl<'a> Block<'a> {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 693 |     #[instrument(name = "Block::parse_ctx", skip(ctx, tokens))]
[INFO] [stdout] 694 |     fn parse_ctx(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `parse_ctx` is never used
[INFO] [stdout]     --> parser/src/parser.rs:1256:8
[INFO] [stdout]      |
[INFO] [stdout] 1254 | impl<'a> FunctionDecl<'a> {
[INFO] [stdout]      | ------------------------- associated function in this implementation
[INFO] [stdout] 1255 |     #[instrument(name = "FunctionDecl::parse_ctx", skip_all, err)]
[INFO] [stdout] 1256 |     fn parse_ctx(
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.36s
[INFO] running `Command { std: "docker" "inspect" "389b028fe9ed6977ad3b413c762c6031eacb1626452f15d7506610c57fba0796", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "389b028fe9ed6977ad3b413c762c6031eacb1626452f15d7506610c57fba0796", kill_on_drop: false }`
[INFO] [stdout] 389b028fe9ed6977ad3b413c762c6031eacb1626452f15d7506610c57fba0796
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 83c2b1cbf9401881ff4507242f3563669a6efc30d85a33b2f62a95077a07b644
[INFO] running `Command { std: "docker" "start" "-a" "83c2b1cbf9401881ff4507242f3563669a6efc30d85a33b2f62a95077a07b644", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Formatter`
[INFO] [stderr]  --> parser/src/parser.rs:9:27
[INFO] [stderr]   |
[INFO] [stderr] 9 |     fmt::{Debug, Display, Formatter},
[INFO] [stderr]   |                           ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse_ctx` is never used
[INFO] [stderr]    --> parser/src/parser.rs:694:8
[INFO] [stderr]     |
[INFO] [stderr] 692 | impl<'a> Block<'a> {
[INFO] [stderr]     | ------------------ associated function in this implementation
[INFO] [stderr] 693 |     #[instrument(name = "Block::parse_ctx", skip(ctx, tokens))]
[INFO] [stderr] 694 |     fn parse_ctx(
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `parse_ctx` is never used
[INFO] [stderr]     --> parser/src/parser.rs:1256:8
[INFO] [stderr]      |
[INFO] [stderr] 1254 | impl<'a> FunctionDecl<'a> {
[INFO] [stderr]      | ------------------------- associated function in this implementation
[INFO] [stderr] 1255 |     #[instrument(name = "FunctionDecl::parse_ctx", skip_all, err)]
[INFO] [stderr] 1256 |     fn parse_ctx(
[INFO] [stderr]      |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `parser` (lib) generated 3 warnings (run `cargo fix --lib -p parser` to apply 1 suggestion)
[INFO] [stderr] warning: unused variable: `t`
[INFO] [stderr]     --> parser/src/parser.rs:3256:21
[INFO] [stderr]      |
[INFO] [stderr] 3256 |                     t => false,
[INFO] [stderr]      |                     ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `parser` (lib test) generated 4 warnings (3 duplicates) (run `cargo fix --lib -p parser --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/parser-dbf1dd9031170eaf)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] [2m2026-05-11T23:53:24.029663Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.029737Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.029765Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.029791Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.029809Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.029829Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.029846Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("BarBaz", StructDecl { visibility: Private, fields: {"i": TypeId { id: 10, array: false }} }, 8))
[INFO] [stdout] [2m2026-05-11T23:53:24.029865Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.029885Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.029910Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.029905Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.029928Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } } [3mtype_name[0m[2m=[0m"BarBaz" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"i": TypeId { id: 10, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.029937Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.029964Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.029949Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.029975Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mEnumDecl::parse[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.029990Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.029988Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Primitive(Bool(true)))), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.030011Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mEnumDecl::parse[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030010Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("Baz", StructDecl { visibility: Private, fields: {"baz": TypeId { id: 23, array: false }} }, 7))
[INFO] [stdout] [2m2026-05-11T23:53:24.030034Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030032Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030026Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030055Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030050Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } } [3mtype_name[0m[2m=[0m"Foo" [3mvalue[0m[2m=[0mEnum(EnumDecl { visibility: Pub, fields: {"Bar": I64(10)} })
[INFO] [stdout] [2m2026-05-11T23:53:24.030069Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {"BarBaz": ComplexTypeID { id: 12 }}, type_ids: {ComplexTypeID { id: 12 }: Known(StructDecl(StructDecl { visibility: Private, fields: {"i": TypeId { id: 10, array: false }} }))}, next_id: ComplexTypeID { id: 13 } } [3mtype_name[0m[2m=[0m"Baz" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"baz": TypeId { id: 23, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.030064Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("bar", false, None, Value(Primitive(Bool(true))), 4))
[INFO] [stdout] [2m2026-05-11T23:53:24.030100Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030099Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030118Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030118Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [3mparser[0m[2m=[0mParser { typer: Typer { types: {"Foo": ComplexTypeID { id: 12 }}, type_ids: {ComplexTypeID { id: 12 }: Known(Enum(EnumDecl { visibility: Pub, fields: {"Bar": I64(10)} }))}, next_id: ComplexTypeID { id: 13 } }, ast: Ast { nodes: [] } }
[INFO] [stdout] [2m2026-05-11T23:53:24.030128Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"bar" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Primitive(Bool(true)))
[INFO] [stdout] [2m2026-05-11T23:53:24.030137Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("Foo", StructDecl { visibility: Private, fields: {"bar": TypeId { id: 24, array: false }} }, 7))
[INFO] [stdout] [2m2026-05-11T23:53:24.030159Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030157Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.030170Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030170Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030185Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030205Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.029834Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030237Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030221Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {"BarBaz": ComplexTypeID { id: 12 }, "Baz": ComplexTypeID { id: 13 }}, type_ids: {ComplexTypeID { id: 12 }: Known(StructDecl(StructDecl { visibility: Private, fields: {"i": TypeId { id: 10, array: false }} })), ComplexTypeID { id: 13 }: Known(StructDecl(StructDecl { visibility: Private, fields: {"baz": TypeId { id: 23, array: false }} }))}, next_id: ComplexTypeID { id: 14 } } [3mtype_name[0m[2m=[0m"Foo" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"bar": TypeId { id: 24, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.030267Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030267Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Primitive(Bool(false)))), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.030292Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("Foo", StructDecl { visibility: Private, fields: {"i": TypeId { id: 3, array: false }} }, 7))
[INFO] [stdout] [2m2026-05-11T23:53:24.030307Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030324Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030214Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mEnumDecl::parse[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030336Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("baz", false, None, Value(Primitive(Bool(false))), 4))
[INFO] [stdout] [2m2026-05-11T23:53:24.030356Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030362Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030376Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } } [3mtype_name[0m[2m=[0m"Foo" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"i": TypeId { id: 3, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.030366Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mEnumDecl::parse[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030385Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"baz" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Primitive(Bool(false)))
[INFO] [stdout] [2m2026-05-11T23:53:24.030409Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030411Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030411Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.030428Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } } [3mtype_name[0m[2m=[0m"Foo" [3mvalue[0m[2m=[0mEnum(EnumDecl { visibility: Private, fields: {"Bar": I64(10)} })
[INFO] [stdout] [2m2026-05-11T23:53:24.030433Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030460Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030472Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030483Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030497Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.030512Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030521Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.030535Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.030549Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030557Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.030583Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030585Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030617Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030626Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030656Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030669Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030704Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.030715Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030751Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030703Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030764Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mStr("Foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.030781Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("bar", Variable { typeid: TypeId { id: 11, array: false }, mutable: false, val: Value(Primitive(Bool(true))) }))), (0, VariableDecl(("baz", Variable { typeid: TypeId { id: 11, array: false }, mutable: false, val: Value(Primitive(Bool(false))) })))] }, 15))
[INFO] [stdout] [2m2026-05-11T23:53:24.030819Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030815Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m parsing enum
[INFO] [stdout] [2m2026-05-11T23:53:24.030813Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.030841Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030849Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("i")
[INFO] [stdout] [2m2026-05-11T23:53:24.030848Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mStr("Foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.030885Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.030894Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.030930Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030924Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.030214Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030961Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.030959Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mStr("Bar")
[INFO] [stdout] [2m2026-05-11T23:53:24.030973Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("Foo", StructDecl { visibility: Private, fields: {"i": TypeId { id: 3, array: false }} }, 7))
[INFO] [stdout] [2m2026-05-11T23:53:24.030996Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mSemicolon
[INFO] [stdout] [2m2026-05-11T23:53:24.031015Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031022Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031039Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.031049Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031033Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031059Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.031065Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } } [3mtype_name[0m[2m=[0m"Foo" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"i": TypeId { id: 3, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.031088Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031101Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031075Z[0m [31mERROR[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [(Span { start: 65, end: 68 }, Str("Bar")), (Span { start: 68, end: 69 }, Semicolon), (Span { start: 74, end: 75 }, RightAngleBracket)] [3mdecl[0m[2m=[0mEnum { id: ComplexTypeID { id: 12 }, field: I64(10) }
[INFO] [stdout] [2m2026-05-11T23:53:24.031122Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031121Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031126Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031149Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Primitive(Number(I64(0))))), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.031161Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031161Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(10) })))), 4))
[INFO] [stdout] [2m2026-05-11T23:53:24.031182Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031183Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.031194Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031206Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.031251Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.031242Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("bar", false, None, Value(Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(10) }))), 7))
[INFO] [stdout] [2m2026-05-11T23:53:24.031275Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031277Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031300Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: Some([(false, "f", TypeId { id: 23, array: false })]), return_type: Some(TypeId { id: 3, array: false }), block: [] }, 9))
[INFO] [stdout] [2m2026-05-11T23:53:24.031212Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("foo", true, None, Value(Primitive(Number(I64(0)))), 5))
[INFO] [stdout] [2m2026-05-11T23:53:24.031303Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"bar" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(10) })))
[INFO] [stdout] [2m2026-05-11T23:53:24.031328Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031333Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.031336Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031352Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031354Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.031376Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031367Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"foo" [3mmutable[0m[2m=[0mtrue [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Primitive(Number(I64(0))))
[INFO] [stdout] [2m2026-05-11T23:53:24.031378Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031397Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031398Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mStr("foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.031403Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("bar", Variable { typeid: TypeId { id: 23, array: false }, mutable: false, val: Value(Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(10) }))) })))] }, 13))
[INFO] [stdout] [2m2026-05-11T23:53:24.031421Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031427Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031435Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031441Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.031458Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031463Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.031459Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031491Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031495Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031526Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Primitive(Number(I64(10))))), 3))
[INFO] [stdout] [2m2026-05-11T23:53:24.031543Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031545Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031557Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031586Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.031590Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031625Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.031636Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031686Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mStr("Foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.031655Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031729Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.031749Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031771Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("i")
[INFO] [stdout] [2m2026-05-11T23:53:24.031795Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.031842Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.030920Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mNumber("0")
[INFO] [stdout] [2m2026-05-11T23:53:24.031895Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Name("foo")), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.031834Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.031889Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.031943Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.031982Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("bar", false, None, Name("foo"), 4))
[INFO] [stdout] [2m2026-05-11T23:53:24.031970Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032027Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032046Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032058Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"bar" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mName("foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.031587Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032085Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032125Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032092Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mname[0m[2m=[0m"foo" [3mdecl[0m[2m=[0m("foo", Variable { typeid: TypeId { id: 3, array: false }, mutable: true, val: Value(Primitive(Number(I64(0)))) })
[INFO] [stdout] [2m2026-05-11T23:53:24.032148Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032167Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.032104Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [(Span { start: 84, end: 85 }, RightAngleBracket), (Span { start: 85, end: 86 }, Comma), (Span { start: 87, end: 90 }, Str("Foo")), (Span { start: 91, end: 92 }, LeftAngleBracket), (Span { start: 92, end: 93 }, Str("i")), (Span { start: 93, end: 94 }, Colon), (Span { start: 94, end: 96 }, Number("10")), (Span { start: 96, end: 97 }, RightAngleBracket), (Span { start: 97, end: 98 }, Comma), (Span { start: 99, end: 102 }, Str("Foo")), (Span { start: 102, end: 103 }, LeftAngleBracket), (Span { start: 103, end: 104 }, Str("i")), (Span { start: 104, end: 105 }, Colon), (Span { start: 105, end: 107 }, Number("20")), (Span { start: 107, end: 108 }, RightAngleBracket), (Span { start: 108, end: 109 }, RightBracket), (Span { start: 109, end: 110 }, Semicolon), (Span { start: 115, end: 116 }, RightAngleBracket)] [3mval[0m[2m=[0mValue(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(0))))] })))
[INFO] [stdout] [2m2026-05-11T23:53:24.032195Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032206Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.032242Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.032246Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032248Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032280Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.032159Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.032302Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.032293Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032309Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mReturn
[INFO] [stdout] [2m2026-05-11T23:53:24.032326Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032312Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("foo", Variable { typeid: TypeId { id: 3, array: false }, mutable: true, val: Value(Primitive(Number(I64(0)))) }))), (0, VariableReAssignment(("foo", Value(Primitive(Number(I64(10))))))), (0, VariableDecl(("bar", Variable { typeid: TypeId { id: 3, array: false }, mutable: true, val: Value(Primitive(Number(I64(0)))) })))] }, 21))
[INFO] [stdout] [2m2026-05-11T23:53:24.032335Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mNumber("0")
[INFO] [stdout] [2m2026-05-11T23:53:24.032328Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mStr("Foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.032352Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032359Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mSemicolon
[INFO] [stdout] [2m2026-05-11T23:53:24.032354Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: Some([(false, "t", TypeId { id: 2, array: true })]), return_type: None, block: [] }, 10))
[INFO] [stdout] [2m2026-05-11T23:53:24.032376Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032367Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.032380Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.032384Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032402Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.032411Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032400Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("i")
[INFO] [stdout] [2m2026-05-11T23:53:24.032398Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m Ast { nodes: [Function(FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("foo", Variable { typeid: TypeId { id: 3, array: false }, mutable: true, val: Value(Primitive(Number(I64(0)))) }))), (0, VariableReAssignment(("foo", Value(Primitive(Number(I64(10))))))), (0, VariableDecl(("bar", Variable { typeid: TypeId { id: 3, array: false }, mutable: true, val: Value(Primitive(Number(I64(0)))) })))] })] }
[INFO] [stdout] [2m2026-05-11T23:53:24.032426Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032434Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [3mparser[0m[2m=[0mParser { typer: Typer { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } }, ast: Ast { nodes: [Function(FunctionDecl { visibility: Private, name: "foo", args: Some([(false, "t", TypeId { id: 2, array: true })]), return_type: None, block: [] })] } }
[INFO] [stdout] [2m2026-05-11T23:53:24.032433Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.032441Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [3mparser[0m[2m=[0mParser { typer: Typer { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } }, ast: Ast { nodes: [Function(FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("foo", Variable { typeid: TypeId { id: 3, array: false }, mutable: true, val: Value(Primitive(Number(I64(0)))) }))), (0, VariableReAssignment(("foo", Value(Primitive(Number(I64(10))))))), (0, VariableDecl(("bar", Variable { typeid: TypeId { id: 3, array: false }, mutable: true, val: Value(Primitive(Number(I64(0)))) })))] })] } }
[INFO] [stdout] [2m2026-05-11T23:53:24.032455Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: Some([(true, "i", TypeId { id: 2, array: false }), (false, "bar", TypeId { id: 10, array: false })]), return_type: Some(TypeId { id: 2, array: false }), block: [(0, Return(Value(Primitive(Number(I64(0))))))] }, 17))
[INFO] [stdout] [2m2026-05-11T23:53:24.032464Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mNumber("10")
[INFO] [stdout] [2m2026-05-11T23:53:24.032507Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032517Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.032055Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032561Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032574Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032612Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("Foo", StructDecl { visibility: Private, fields: {"i": TypeId { id: 3, array: false }} }, 8))
[INFO] [stdout] [2m2026-05-11T23:53:24.032678Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032709Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032726Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } } [3mtype_name[0m[2m=[0m"Foo" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"i": TypeId { id: 3, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.032762Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032783Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032812Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032833Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.032851Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.032875Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032883Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032905Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032932Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Primitive(String("urmom")))), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.032922Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mEnumDecl::parse[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.032961Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032986Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mEnumDecl::parse[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032996Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("bar", false, None, Value(Primitive(String("urmom"))), 4))
[INFO] [stdout] [2m2026-05-11T23:53:24.033015Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.033445Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } } [3mtype_name[0m[2m=[0m"Bar" [3mvalue[0m[2m=[0mEnum(EnumDecl { visibility: Private, fields: {"I": I64(0), "Z": I64(2), "B": I64(1)} })
[INFO] [stdout] [2m2026-05-11T23:53:24.033058Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.032200Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mNumber("10")
[INFO] [stdout] [2m2026-05-11T23:53:24.034127Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.034625Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.034696Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] test parser::parseable::enum_decl ... ok
[INFO] [stdout] test parser::parseable::float_test ... ok
[INFO] [stdout] test parser::parseable::bool_test ... ok
[INFO] [stdout] test parser::parseable::enum_use ... ok
[INFO] [stdout] test parser::parseable::fn_array_test ... ok
[INFO] [stdout] [2m2026-05-11T23:53:24.036303Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(10))))] })))), 6))
[INFO] [stdout] test parser::parseable::function_block ... ok
[INFO] [stdout] [2m2026-05-11T23:53:24.036469Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] test parser::parseable::function_decl ... ok
[INFO] [stdout] [2m2026-05-11T23:53:24.036508Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("f", false, None, Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(10))))] }))), 9))
[INFO] [stdout] [2m2026-05-11T23:53:24.036543Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.036569Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"f" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(10))))] })))
[INFO] [stdout] [2m2026-05-11T23:53:24.036607Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.036647Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036677Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036708Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036709Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036746Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036754Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036753Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mFunctionCall::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036783Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036785Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036808Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.036818Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036817Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036832Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.036840Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036840Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.036861Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.036861Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036875Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036890Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036889Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036897Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.036893Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036919Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.036927Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036924Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036924Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Primitive(Number(I64(10))))), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.036946Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.036953Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("Baz", StructDecl { visibility: Private, fields: {"baz": TypeId { id: 3, array: false }} }, 7))
[INFO] [stdout] [2m2026-05-11T23:53:24.036951Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Primitive(String("foo_bar_baz")))), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.036958Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.036980Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.036982Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.036977Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037012Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.036997Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("foo", false, Some(TypeId { id: 7, array: false }), Value(Primitive(Number(I64(10)))), 6))
[INFO] [stdout] [2m2026-05-11T23:53:24.037012Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("foo", false, None, Value(Primitive(String("foo_bar_baz"))), 4))
[INFO] [stdout] [2m2026-05-11T23:53:24.037027Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } } [3mtype_name[0m[2m=[0m"Baz" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"baz": TypeId { id: 3, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.037029Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037025Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037041Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037058Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037055Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"foo" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mSome(TypeId { id: 7, array: false }) [3mvalue[0m[2m=[0mValue(Primitive(Number(I64(10))))
[INFO] [stdout] [2m2026-05-11T23:53:24.037076Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037069Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"foo" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Primitive(String("foo_bar_baz")))
[INFO] [stdout] [2m2026-05-11T23:53:24.037064Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037088Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mReturn
[INFO] [stdout] [2m2026-05-11T23:53:24.037094Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("Bar", StructDecl { visibility: Private, fields: {"bar": TypeId { id: 23, array: false }} }, 8))
[INFO] [stdout] [2m2026-05-11T23:53:24.037097Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.037110Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mStr("foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.037117Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037118Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.037108Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037139Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037132Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mSemicolon
[INFO] [stdout] [2m2026-05-11T23:53:24.037139Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037140Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m parsing enum
[INFO] [stdout] [2m2026-05-11T23:53:24.037153Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.037154Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {"Baz": ComplexTypeID { id: 12 }}, type_ids: {ComplexTypeID { id: 12 }: Known(StructDecl(StructDecl { visibility: Private, fields: {"baz": TypeId { id: 3, array: false }} }))}, next_id: ComplexTypeID { id: 13 } } [3mtype_name[0m[2m=[0m"Bar" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"bar": TypeId { id: 23, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.037162Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("foo", Variable { typeid: TypeId { id: 10, array: false }, mutable: false, val: Value(Primitive(String("foo_bar_baz"))) })))] }, 10))
[INFO] [stdout] [2m2026-05-11T23:53:24.037176Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.037185Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037174Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mStr("Bar")
[INFO] [stdout] [2m2026-05-11T23:53:24.037191Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037198Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037204Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037216Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037208Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.037285Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.037331Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mStr("I")
[INFO] [stdout] [2m2026-05-11T23:53:24.037396Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mComma
[INFO] [stdout] [2m2026-05-11T23:53:24.037435Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037253Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("Foo", StructDecl { visibility: Private, fields: {"i": TypeId { id: 24, array: false }} }, 7))
[INFO] [stdout] [2m2026-05-11T23:53:24.037475Z[0m [31mERROR[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [(Span { start: 97, end: 98 }, Comma), (Span { start: 99, end: 102 }, Str("Bar")), (Span { start: 102, end: 103 }, Colon), (Span { start: 103, end: 104 }, Colon), (Span { start: 104, end: 105 }, Str("B")), (Span { start: 105, end: 106 }, Comma), (Span { start: 107, end: 110 }, Str("Bar")), (Span { start: 110, end: 111 }, Colon), (Span { start: 111, end: 112 }, Colon), (Span { start: 112, end: 113 }, Str("Z")), (Span { start: 113, end: 114 }, RightBracket), (Span { start: 114, end: 115 }, Semicolon), (Span { start: 120, end: 121 }, RightAngleBracket)] [3mdecl[0m[2m=[0mEnum { id: ComplexTypeID { id: 12 }, field: I64(0) }
[INFO] [stdout] [2m2026-05-11T23:53:24.037535Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037544Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037548Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037565Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037587Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037583Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {"Bar": ComplexTypeID { id: 13 }, "Baz": ComplexTypeID { id: 12 }}, type_ids: {ComplexTypeID { id: 13 }: Known(StructDecl(StructDecl { visibility: Private, fields: {"bar": TypeId { id: 23, array: false }} })), ComplexTypeID { id: 12 }: Known(StructDecl(StructDecl { visibility: Private, fields: {"baz": TypeId { id: 3, array: false }} }))}, next_id: ComplexTypeID { id: 14 } } [3mtype_name[0m[2m=[0m"Foo" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"i": TypeId { id: 24, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.037618Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("Foo", StructDecl { visibility: Pub, fields: {"i": TypeId { id: 2, array: false }} }, 9))
[INFO] [stdout] [2m2026-05-11T23:53:24.037630Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037582Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [(Span { start: 97, end: 98 }, Comma), (Span { start: 99, end: 102 }, Str("Bar")), (Span { start: 102, end: 103 }, Colon), (Span { start: 103, end: 104 }, Colon), (Span { start: 104, end: 105 }, Str("B")), (Span { start: 105, end: 106 }, Comma), (Span { start: 107, end: 110 }, Str("Bar")), (Span { start: 110, end: 111 }, Colon), (Span { start: 111, end: 112 }, Colon), (Span { start: 112, end: 113 }, Str("Z")), (Span { start: 113, end: 114 }, RightBracket), (Span { start: 114, end: 115 }, Semicolon), (Span { start: 120, end: 121 }, RightAngleBracket)] [3mval[0m[2m=[0mValue(Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(0) })))
[INFO] [stdout] [2m2026-05-11T23:53:24.037649Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037655Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037677Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037663Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037690Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037697Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } } [3mtype_name[0m[2m=[0m"Foo" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Pub, fields: {"i": TypeId { id: 2, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.037704Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037714Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.037739Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.037737Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m parsing enum
[INFO] [stdout] [2m2026-05-11T23:53:24.037771Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037771Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mStr("Bar")
[INFO] [stdout] [2m2026-05-11T23:53:24.037806Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037805Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.037844Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037838Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.037882Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mStr("B")
[INFO] [stdout] [2m2026-05-11T23:53:24.037891Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.037922Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mStr("Foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.037919Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mComma
[INFO] [stdout] [2m2026-05-11T23:53:24.037954Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.037962Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.037995Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("i")
[INFO] [stdout] [2m2026-05-11T23:53:24.038028Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("Bar")
[INFO] [stdout] [2m2026-05-11T23:53:24.038010Z[0m [31mERROR[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [(Span { start: 105, end: 106 }, Comma), (Span { start: 107, end: 110 }, Str("Bar")), (Span { start: 110, end: 111 }, Colon), (Span { start: 111, end: 112 }, Colon), (Span { start: 112, end: 113 }, Str("Z")), (Span { start: 113, end: 114 }, RightBracket), (Span { start: 114, end: 115 }, Semicolon), (Span { start: 120, end: 121 }, RightAngleBracket)] [3mdecl[0m[2m=[0mEnum { id: ComplexTypeID { id: 12 }, field: I64(1) }
[INFO] [stdout] [2m2026-05-11T23:53:24.038060Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.038070Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.038092Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("bar")
[INFO] [stdout] [2m2026-05-11T23:53:24.038125Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("Baz")
[INFO] [stdout] [2m2026-05-11T23:53:24.038105Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [(Span { start: 105, end: 106 }, Comma), (Span { start: 107, end: 110 }, Str("Bar")), (Span { start: 110, end: 111 }, Colon), (Span { start: 111, end: 112 }, Colon), (Span { start: 112, end: 113 }, Str("Z")), (Span { start: 113, end: 114 }, RightBracket), (Span { start: 114, end: 115 }, Semicolon), (Span { start: 120, end: 121 }, RightAngleBracket)] [3mval[0m[2m=[0mValue(Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(1) })))
[INFO] [stdout] [2m2026-05-11T23:53:24.038150Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038157Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.038169Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038193Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038189Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("baz")
[INFO] [stdout] test parser::parseable::parse_primitive_string ... ok
[INFO] [stdout] [2m2026-05-11T23:53:24.038209Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038220Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.038221Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("BarBaz", StructDecl { visibility: Private, fields: {"i": TypeId { id: 10, array: false }} }, 8))
[INFO] [stdout] [2m2026-05-11T23:53:24.038278Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] test parser::parseable::simple_struct ... ok
[INFO] [stdout] [2m2026-05-11T23:53:24.038305Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.038324Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } } [3mtype_name[0m[2m=[0m"BarBaz" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"i": TypeId { id: 10, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.038362Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038385Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038418Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038440Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.038460Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.038487Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038515Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038559Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038598Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038604Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038635Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038637Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mStr("BarBaz")
[INFO] [stdout] [2m2026-05-11T23:53:24.038669Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038678Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.038694Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.038714Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.038711Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("i")
[INFO] [stdout] [2m2026-05-11T23:53:24.038742Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038743Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.038774Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038773Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mQuotedString("foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.038797Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Primitive(Number(I64(0))))), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.038807Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mComma
[INFO] [stdout] [2m2026-05-11T23:53:24.038825Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.038842Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.038854Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("foo", true, None, Value(Primitive(Number(I64(0)))), 5))
[INFO] [stdout] [2m2026-05-11T23:53:24.038881Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.038883Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.038904Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"foo" [3mmutable[0m[2m=[0mtrue [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Primitive(Number(I64(0))))
[INFO] [stdout] [2m2026-05-11T23:53:24.038931Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mStr("foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.038925Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.038958Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.038958Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Complex(Struct(Struct { name: Known("BarBaz"), fields: [(0, "i", Primitive(String("foo")))] })))), 7))
[INFO] [stdout] [2m2026-05-11T23:53:24.039003Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.039001Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039029Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.039029Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("bar", false, None, Value(Complex(Struct(Struct { name: Known("BarBaz"), fields: [(0, "i", Primitive(String("foo")))] }))), 10))
[INFO] [stdout] [2m2026-05-11T23:53:24.039055Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Primitive(Number(I64(10))))), 3))
[INFO] [stdout] [2m2026-05-11T23:53:24.039060Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.039082Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.039088Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"bar" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Complex(Struct(Struct { name: Known("BarBaz"), fields: [(0, "i", Primitive(String("foo")))] })))
[INFO] [stdout] [2m2026-05-11T23:53:24.033953Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039320Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039352Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("Bar", StructDecl { visibility: Private, fields: {"bar": TypeId { id: 3, array: false }} }, 8))
[INFO] [stdout] [2m2026-05-11T23:53:24.039384Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.039413Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.033025Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.039433Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } } [3mtype_name[0m[2m=[0m"Bar" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"bar": TypeId { id: 3, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.039471Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039496Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039472Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"bar" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Primitive(String("urmom")))
[INFO] [stdout] [2m2026-05-11T23:53:24.039518Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("Foo", StructDecl { visibility: Private, fields: {"i": TypeId { id: 23, array: false }} }, 8))
[INFO] [stdout] [2m2026-05-11T23:53:24.039519Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.039528Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039544Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.039559Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039569Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.039556Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039569Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039106Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.039586Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {"Bar": ComplexTypeID { id: 12 }}, type_ids: {ComplexTypeID { id: 12 }: Known(StructDecl(StructDecl { visibility: Private, fields: {"bar": TypeId { id: 3, array: false }} }))}, next_id: ComplexTypeID { id: 13 } } [3mtype_name[0m[2m=[0m"Foo" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"i": TypeId { id: 23, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.039599Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039605Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039626Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039616Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.039619Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039638Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039633Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Primitive(String("foo")))), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.039648Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039647Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.039646Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.039661Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.039665Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.039669Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.039683Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.039674Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("foo", Variable { typeid: TypeId { id: 3, array: false }, mutable: true, val: Value(Primitive(Number(I64(0)))) }))), (0, VariableReAssignment(("foo", Value(Primitive(Number(I64(10)))))))] }, 15))
[INFO] [stdout] [2m2026-05-11T23:53:24.039686Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039700Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039710Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.037221Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: Some(TypeId { id: 7, array: false }), block: [(0, VariableDecl(("foo", Variable { typeid: TypeId { id: 3, array: false }, mutable: false, val: Value(Primitive(Number(I64(10)))) }))), (0, Return(Name("foo")))] }, 16))
[INFO] [stdout] [2m2026-05-11T23:53:24.039742Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.039753Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039775Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.039778Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039802Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.039801Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mMathExpr::parse[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039827Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [3mval[0m[2m=[0mName("foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.039818Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039703Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.057348Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mMathExpr::parse[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.057381Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.057429Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: Some([(false, "i", TypeId { id: 2, array: false })]), return_type: None, block: [] }, 8))
[INFO] [stdout] [2m2026-05-11T23:53:24.057424Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Expr([Prim(Number(I64(0))), Op(Add), Prim(Number(I64(10))), Op(Mult), Prim(Number(I64(20))), Op(Div), Prim(Number(I64(30)))]), 7))
[INFO] [stdout] [2m2026-05-11T23:53:24.057467Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.057471Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.057491Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.057522Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.057504Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("foo", true, Some(TypeId { id: 3, array: false }), Expr([Prim(Number(I64(0))), Op(Add), Prim(Number(I64(10))), Op(Mult), Prim(Number(I64(20))), Op(Div), Prim(Number(I64(30)))]), 11))
[INFO] [stdout] [2m2026-05-11T23:53:24.057543Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.057543Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.057566Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.057584Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.057572Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"foo" [3mmutable[0m[2m=[0mtrue [3mid[0m[2m=[0mSome(TypeId { id: 3, array: false }) [3mvalue[0m[2m=[0mExpr([Prim(Number(I64(0))), Op(Add), Prim(Number(I64(10))), Op(Mult), Prim(Number(I64(20))), Op(Div), Prim(Number(I64(30)))])
[INFO] [stdout] [2m2026-05-11T23:53:24.057604Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mStr("foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.057612Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.057635Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.057634Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mFunctionCall::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.057660Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.057686Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("foo", Variable { typeid: TypeId { id: 3, array: false }, mutable: true, val: Expr([Prim(Number(I64(0))), Op(Add), Prim(Number(I64(10))), Op(Mult), Prim(Number(I64(20))), Op(Div), Prim(Number(I64(30)))]) })))] }, 17))
[INFO] [stdout] [2m2026-05-11T23:53:24.057742Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.057768Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.058002Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mFunctionCall::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.058039Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.058066Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.058089Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.035829Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.039863Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.038260Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m parsing enum
[INFO] [stdout] [2m2026-05-11T23:53:24.058209Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.058254Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mStr("Bar")
[INFO] [stdout] [2m2026-05-11T23:53:24.058277Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.058314Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.058308Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.058337Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.058342Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.058357Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.058372Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mStr("Z")
[INFO] [stdout] [2m2026-05-11T23:53:24.058391Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.058410Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.058420Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: Some([(false, "baz", TypeId { id: 10, array: false }), (false, "bar", TypeId { id: 7, array: false })]), return_type: None, block: [] }, 12))
[INFO] [stdout] [2m2026-05-11T23:53:24.058454Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.058448Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mEnum::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.058479Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.058507Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.058489Z[0m [31mERROR[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [(Span { start: 113, end: 114 }, RightBracket), (Span { start: 114, end: 115 }, Semicolon), (Span { start: 120, end: 121 }, RightAngleBracket)] [3mdecl[0m[2m=[0mEnum { id: ComplexTypeID { id: 12 }, field: I64(2) }
[INFO] [stdout] [2m2026-05-11T23:53:24.058529Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.058553Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.058573Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.058594Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mStr("foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.058628Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mFunctionCall::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.058535Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.058674Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [(Span { start: 113, end: 114 }, RightBracket), (Span { start: 114, end: 115 }, Semicolon), (Span { start: 120, end: 121 }, RightAngleBracket)] [3mval[0m[2m=[0mValue(Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(2) })))
[INFO] [stdout] [2m2026-05-11T23:53:24.058719Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.058753Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Array(Array { type_id: TypeId { id: 23, array: true }, values: [Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(0) })), Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(1) })), Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(2) }))] }))), 16))
[INFO] [stdout] [2m2026-05-11T23:53:24.058790Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.058817Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("f", false, None, Value(Array(Array { type_id: TypeId { id: 23, array: true }, values: [Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(0) })), Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(1) })), Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(2) }))] })), 19))
[INFO] [stdout] [2m2026-05-11T23:53:24.058849Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.058876Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"f" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Array(Array { type_id: TypeId { id: 23, array: true }, values: [Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(0) })), Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(1) })), Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(2) }))] }))
[INFO] [stdout] [2m2026-05-11T23:53:24.058909Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.058927Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.058945Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.058954Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mFunctionCall::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.058966Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("f", Variable { typeid: TypeId { id: 23, array: true }, mutable: false, val: Value(Array(Array { type_id: TypeId { id: 23, array: true }, values: [Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(0) })), Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(1) })), Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(2) }))] })) })))] }, 25))
[INFO] [stdout] [2m2026-05-11T23:53:24.059010Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.059009Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.059029Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.059043Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.059070Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.059053Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [3mparser[0m[2m=[0mParser { typer: Typer { types: {"Bar": ComplexTypeID { id: 12 }}, type_ids: {ComplexTypeID { id: 12 }: Known(Enum(EnumDecl { visibility: Private, fields: {"I": I64(0), "Z": I64(2), "B": I64(1)} }))}, next_id: ComplexTypeID { id: 13 } }, ast: Ast { nodes: [Function(FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("f", Variable { typeid: TypeId { id: 23, array: true }, mutable: false, val: Value(Array(Array { type_id: TypeId { id: 23, array: true }, values: [Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(0) })), Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(1) })), Complex(Enum(Enum { id: ComplexTypeID { id: 12 }, field: I64(2) }))] })) })))] })] } }
[INFO] [stdout] [2m2026-05-11T23:53:24.059175Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.059206Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.059190Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Primitive(Number(I64(10))))), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.059261Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.059253Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("bar", Variable { typeid: TypeId { id: 23, array: false }, mutable: false, val: Value(Complex(Struct(Struct { name: Known("BarBaz"), fields: [(0, "i", Primitive(String("foo")))] }))) })))] }, 16))
[INFO] [stdout] [2m2026-05-11T23:53:24.059288Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.059292Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("foo", false, None, Value(Primitive(Number(I64(10)))), 4))
[INFO] [stdout] [2m2026-05-11T23:53:24.059310Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.059318Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.059340Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"foo" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Primitive(Number(I64(10))))
[INFO] [stdout] [2m2026-05-11T23:53:24.059367Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mIf
[INFO] [stdout] [2m2026-05-11T23:53:24.059398Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mparse_condition[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.059421Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mparse_condition[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(([Item(Name("foo")), Condition(LessThan), Item(Expr([Prim(Number(I64(10)))]))], 3))
[INFO] [stdout] [2m2026-05-11T23:53:24.059449Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mparse_condition[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.059472Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mReturn
[INFO] [stdout] [2m2026-05-11T23:53:24.059490Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.059509Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mElse
[INFO] [stdout] [2m2026-05-11T23:53:24.059534Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mparse_condition[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.059554Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mparse_condition[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(([Item(Name("foo")), Condition(Equal), Item(Expr([Prim(Number(I64(10)))]))], 4))
[INFO] [stdout] [2m2026-05-11T23:53:24.059580Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mparse_condition[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.059602Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.059620Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 1
[INFO] [stdout] [2m2026-05-11T23:53:24.059640Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mElse
[INFO] [stdout] [2m2026-05-11T23:53:24.059658Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mReturn
[INFO] [stdout] [2m2026-05-11T23:53:24.059677Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.059695Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.059719Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.059746Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.059768Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Primitive(Number(I64(20))))), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.059795Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.059820Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("bar", false, None, Value(Primitive(Number(I64(20)))), 4))
[INFO] [stdout] [2m2026-05-11T23:53:24.059843Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.059865Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"bar" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Primitive(Number(I64(20))))
[INFO] [stdout] [2m2026-05-11T23:53:24.059892Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.059918Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.059944Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.059992Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.060029Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.060059Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Name("bar")), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.060088Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.060115Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("gar", false, None, Name("bar"), 4))
[INFO] [stdout] [2m2026-05-11T23:53:24.060139Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.060163Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"gar" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mName("bar")
[INFO] [stdout] [2m2026-05-11T23:53:24.060189Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mname[0m[2m=[0m"bar" [3mdecl[0m[2m=[0m("bar", Variable { typeid: TypeId { id: 3, array: false }, mutable: false, val: Value(Primitive(Number(I64(20)))) })
[INFO] [stdout] [2m2026-05-11T23:53:24.060216Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.060285Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.060310Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.060337Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.060372Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.060413Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mStr("Foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.060447Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.060478Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("i")
[INFO] [stdout] [2m2026-05-11T23:53:24.060516Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("Bar")
[INFO] [stdout] [2m2026-05-11T23:53:24.060551Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.060583Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("bar")
[INFO] [stdout] [2m2026-05-11T23:53:24.060623Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.060658Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mNumber("10")
[INFO] [stdout] [2m2026-05-11T23:53:24.060695Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.060739Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mComma
[INFO] [stdout] [2m2026-05-11T23:53:24.060779Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.060819Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.060861Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.060897Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Primitive(Number(I64(10))))] })))] })))), 12))
[INFO] [stdout] [2m2026-05-11T23:53:24.060939Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.060973Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("foo", false, None, Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Primitive(Number(I64(10))))] })))] }))), 15))
[INFO] [stdout] [2m2026-05-11T23:53:24.061023Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.061055Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"foo" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Primitive(Number(I64(10))))] })))] })))
[INFO] [stdout] [2m2026-05-11T23:53:24.061097Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.061134Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.061168Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.061204Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.061267Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.061300Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(StructAccess(StructAccess { name: "foo", fields: ["i"] })), 3))
[INFO] [stdout] [2m2026-05-11T23:53:24.061330Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.061355Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("b", false, None, StructAccess(StructAccess { name: "foo", fields: ["i"] }), 6))
[INFO] [stdout] [2m2026-05-11T23:53:24.061380Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.061402Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"b" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mStructAccess(StructAccess { name: "foo", fields: ["i"] })
[INFO] [stdout] [2m2026-05-11T23:53:24.061434Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstruct_access[0m[2m=[0mStructAccess { name: "foo", fields: ["i"] } [3mdecl[0m[2m=[0m("foo", Variable { typeid: TypeId { id: 24, array: false }, mutable: false, val: Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Primitive(Number(I64(10))))] })))] }))) })
[INFO] [stdout] [2m2026-05-11T23:53:24.061467Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstruc[0m[2m=[0mStruct { name: Known("Foo"), fields: [(0, "i", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Primitive(Number(I64(10))))] })))] }
[INFO] [stdout] [2m2026-05-11T23:53:24.061496Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.061515Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.061535Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.061560Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("foo", Variable { typeid: TypeId { id: 3, array: false }, mutable: false, val: Value(Primitive(Number(I64(10)))) }))), (1, IfStatement(IfStatement { cond: [Item(Name("foo")), Condition(LessThan), Item(Expr([Prim(Number(I64(10)))]))] })), (0, Return(Empty)), (1, ElseIf(ElseIfStatement { cond: [Item(Name("foo")), Condition(Equal), Item(Expr([Prim(Number(I64(10)))]))] })), (1, Else), (0, Return(Empty)), (0, VariableDecl(("bar", Variable { typeid: TypeId { id: 3, array: false }, mutable: false, val: Value(Primitive(Number(I64(20)))) }))), (0, VariableDecl(("gar", Variable { typeid: TypeId { id: 3, array: false }, mutable: false, val: Value(Primitive(Number(I64(20)))) }))), (0, VariableDecl(("foo", Variable { typeid: TypeId { id: 24, array: false }, mutable: false, val: Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Primitive(Number(I64(10))))] })))] }))) }))), (0, VariableDecl(("b", Variable { typeid: TypeId { id: 23, array: false }, mutable: false, val: Value(Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Primitive(Number(I64(10))))] }))) })))] }, 63))
[INFO] [stdout] [2m2026-05-11T23:53:24.061622Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.061645Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.061668Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [(0, VariableDecl(("foo", Variable { typeid: TypeId { id: 3, array: false }, mutable: false, val: Value(Primitive(Number(I64(10)))) }))), (1, IfStatement(IfStatement { cond: [Item(Name("foo")), Condition(LessThan), Item(Expr([Prim(Number(I64(10)))]))] })), (0, Return(Empty)), (1, ElseIf(ElseIfStatement { cond: [Item(Name("foo")), Condition(Equal), Item(Expr([Prim(Number(I64(10)))]))] })), (1, Else), (0, Return(Empty)), (0, VariableDecl(("bar", Variable { typeid: TypeId { id: 3, array: false }, mutable: false, val: Value(Primitive(Number(I64(20)))) }))), (0, VariableDecl(("gar", Variable { typeid: TypeId { id: 3, array: false }, mutable: false, val: Value(Primitive(Number(I64(20)))) }))), (0, VariableDecl(("foo", Variable { typeid: TypeId { id: 24, array: false }, mutable: false, val: Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Primitive(Number(I64(10))))] })))] }))) }))), (0, VariableDecl(("b", Variable { typeid: TypeId { id: 23, array: false }, mutable: false, val: Value(Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Primitive(Number(I64(10))))] }))) })))]
[INFO] [stdout] [2m2026-05-11T23:53:24.035505Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.068371Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.068450Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.068484Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.068507Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.068538Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.068580Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.068626Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.068670Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.068709Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.068750Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [(Span { start: 38, end: 39 }, Comma), (Span { start: 40, end: 41 }, Number("1")), (Span { start: 41, end: 42 }, Comma), (Span { start: 43, end: 44 }, Number("2")), (Span { start: 44, end: 45 }, Comma), (Span { start: 46, end: 47 }, Number("3")), (Span { start: 47, end: 48 }, RightBracket), (Span { start: 48, end: 49 }, Semicolon), (Span { start: 58, end: 59 }, RightAngleBracket)] [3mval[0m[2m=[0mValue(Primitive(Number(I64(0))))
[INFO] [stdout] [2m2026-05-11T23:53:24.068825Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.068860Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.068894Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [(Span { start: 41, end: 42 }, Comma), (Span { start: 43, end: 44 }, Number("2")), (Span { start: 44, end: 45 }, Comma), (Span { start: 46, end: 47 }, Number("3")), (Span { start: 47, end: 48 }, RightBracket), (Span { start: 48, end: 49 }, Semicolon), (Span { start: 58, end: 59 }, RightAngleBracket)] [3mval[0m[2m=[0mValue(Primitive(Number(I64(1))))
[INFO] [stdout] [2m2026-05-11T23:53:24.068953Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.068996Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.069033Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [(Span { start: 44, end: 45 }, Comma), (Span { start: 46, end: 47 }, Number("3")), (Span { start: 47, end: 48 }, RightBracket), (Span { start: 48, end: 49 }, Semicolon), (Span { start: 58, end: 59 }, RightAngleBracket)] [3mval[0m[2m=[0mValue(Primitive(Number(I64(2))))
[INFO] [stdout] [2m2026-05-11T23:53:24.069088Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.069121Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.069153Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [(Span { start: 47, end: 48 }, RightBracket), (Span { start: 48, end: 49 }, Semicolon), (Span { start: 58, end: 59 }, RightAngleBracket)] [3mval[0m[2m=[0mValue(Primitive(Number(I64(3))))
[INFO] [stdout] [2m2026-05-11T23:53:24.069194Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.039697Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("baz", false, None, Value(Primitive(String("foo"))), 4))
[INFO] [stdout] [2m2026-05-11T23:53:24.069300Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.069343Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"baz" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Primitive(String("foo")))
[INFO] [stdout] [2m2026-05-11T23:53:24.069394Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.069428Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.069457Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.069493Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.069528Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.069558Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Name("baz")), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.069588Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.069617Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("bazz", false, None, Name("baz"), 4))
[INFO] [stdout] [2m2026-05-11T23:53:24.069646Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.069672Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"bazz" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mName("baz")
[INFO] [stdout] [2m2026-05-11T23:53:24.069701Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mname[0m[2m=[0m"baz" [3mdecl[0m[2m=[0m("baz", Variable { typeid: TypeId { id: 10, array: false }, mutable: false, val: Value(Primitive(String("foo"))) })
[INFO] [stdout] [2m2026-05-11T23:53:24.069733Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.069767Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.069796Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.069820Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Primitive(Number(I64(10))))), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.069851Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.069881Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("bar_baz", false, None, Value(Primitive(Number(I64(10)))), 4))
[INFO] [stdout] [2m2026-05-11T23:53:24.069911Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.069937Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"bar_baz" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Primitive(Number(I64(10))))
[INFO] [stdout] [2m2026-05-11T23:53:24.069966Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.070012Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.070040Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.070072Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.070116Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.070159Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mStr("Foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.070198Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.070252Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("i")
[INFO] [stdout] [2m2026-05-11T23:53:24.070288Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.070331Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mNumber("15")
[INFO] [stdout] [2m2026-05-11T23:53:24.070379Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.070432Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.070485Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.070527Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(15))))] })))), 6))
[INFO] [stdout] [2m2026-05-11T23:53:24.070574Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.070612Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("foo", false, None, Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(15))))] }))), 9))
[INFO] [stdout] [2m2026-05-11T23:53:24.070652Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.070682Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"foo" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(15))))] })))
[INFO] [stdout] [2m2026-05-11T23:53:24.070722Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.070744Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.070765Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.070792Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("bar", Variable { typeid: TypeId { id: 10, array: false }, mutable: false, val: Value(Primitive(String("urmom"))) }))), (0, VariableDecl(("baz", Variable { typeid: TypeId { id: 10, array: false }, mutable: false, val: Value(Primitive(String("foo"))) }))), (0, VariableDecl(("bazz", Variable { typeid: TypeId { id: 10, array: false }, mutable: false, val: Value(Primitive(String("foo"))) }))), (0, VariableDecl(("bar_baz", Variable { typeid: TypeId { id: 3, array: false }, mutable: false, val: Value(Primitive(Number(I64(10)))) }))), (0, VariableDecl(("foo", Variable { typeid: TypeId { id: 23, array: false }, mutable: false, val: Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(15))))] }))) })))] }, 35))
[INFO] [stdout] [2m2026-05-11T23:53:24.070848Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.070885Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.070919Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [3mvariable[0m[2m=[0m("bar", Variable { typeid: TypeId { id: 10, array: false }, mutable: false, val: Value(Primitive(String("urmom"))) })
[INFO] [stdout] [2m2026-05-11T23:53:24.070942Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [3mvariable[0m[2m=[0m("baz", Variable { typeid: TypeId { id: 10, array: false }, mutable: false, val: Value(Primitive(String("foo"))) })
[INFO] [stdout] [2m2026-05-11T23:53:24.070954Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [3mvariable[0m[2m=[0m("bazz", Variable { typeid: TypeId { id: 10, array: false }, mutable: false, val: Value(Primitive(String("foo"))) })
[INFO] [stdout] [2m2026-05-11T23:53:24.070971Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [3mvariable[0m[2m=[0m("bar_baz", Variable { typeid: TypeId { id: 3, array: false }, mutable: false, val: Value(Primitive(Number(I64(10)))) })
[INFO] [stdout] [2m2026-05-11T23:53:24.070993Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [3mvariable[0m[2m=[0m("foo", Variable { typeid: TypeId { id: 23, array: false }, mutable: false, val: Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(15))))] }))) })
[INFO] [stdout] [2m2026-05-11T23:53:24.044710Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.071300Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.071348Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("Baz", StructDecl { visibility: Private, fields: {"bar_baz": TypeId { id: 2, array: false }} }, 8))
[INFO] [stdout] [2m2026-05-11T23:53:24.071380Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.071414Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.071433Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } } [3mtype_name[0m[2m=[0m"Baz" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"bar_baz": TypeId { id: 2, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.071478Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.071503Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.071524Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("Bar", StructDecl { visibility: Private, fields: {"bar": TypeId { id: 1, array: false }, "baz": TypeId { id: 23, array: false }} }, 12))
[INFO] [stdout] [2m2026-05-11T23:53:24.032612Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.071625Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [(Span { start: 96, end: 97 }, RightAngleBracket), (Span { start: 97, end: 98 }, Comma), (Span { start: 99, end: 102 }, Str("Foo")), (Span { start: 102, end: 103 }, LeftAngleBracket), (Span { start: 103, end: 104 }, Str("i")), (Span { start: 104, end: 105 }, Colon), (Span { start: 105, end: 107 }, Number("20")), (Span { start: 107, end: 108 }, RightAngleBracket), (Span { start: 108, end: 109 }, RightBracket), (Span { start: 109, end: 110 }, Semicolon), (Span { start: 115, end: 116 }, RightAngleBracket)] [3mval[0m[2m=[0mValue(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(10))))] })))
[INFO] [stdout] [2m2026-05-11T23:53:24.071716Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.071775Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.071811Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mStr("Foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.071851Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.071890Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("i")
[INFO] [stdout] [2m2026-05-11T23:53:24.071932Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.071982Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mNumber("20")
[INFO] [stdout] [2m2026-05-11T23:53:24.072045Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.071550Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.072179Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.072299Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {"Baz": ComplexTypeID { id: 12 }}, type_ids: {ComplexTypeID { id: 12 }: Known(StructDecl(StructDecl { visibility: Private, fields: {"bar_baz": TypeId { id: 2, array: false }} }))}, next_id: ComplexTypeID { id: 13 } } [3mtype_name[0m[2m=[0m"Bar" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"bar": TypeId { id: 1, array: false }, "baz": TypeId { id: 23, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.072412Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.072478Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.072540Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("Foo", StructDecl { visibility: Private, fields: {"foo": TypeId { id: 24, array: false }, "bar": TypeId { id: 10, array: false }, "baz": TypeId { id: 0, array: false }} }, 16))
[INFO] [stdout] test parser::parseable::complex_struct ... FAILED
[INFO] [stdout] test parser::parseable::return_variable ... ok
[INFO] [stdout] test parser::parseable::var_add ... ok
[INFO] [stdout] test parser::parseable::simple_type_check ... FAILED
[INFO] [stdout] test parser::parseable::complex_enum_array_test ... ok
[INFO] [stdout] test parser::parseable::function_call ... FAILED
[INFO] [stdout] test parser::parseable::simple_struct_use ... FAILED
[INFO] [stdout] test parser::parseable::parse_conditions ... ok
[INFO] [stdout] test parser::parseable::multiple_variables ... ok
[INFO] [stdout] [2m2026-05-11T23:53:24.053974Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mFunctionCall::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.072621Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mStructDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.072805Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.072832Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.038271Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mNumber("10")
[INFO] [stdout] [2m2026-05-11T23:53:24.074319Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mComma
[INFO] [stdout] [2m2026-05-11T23:53:24.074398Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.074483Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mComma
[INFO] [stdout] [2m2026-05-11T23:53:24.074547Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.074619Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mComma
[INFO] [stdout] [2m2026-05-11T23:53:24.074671Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.072865Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.039708Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.072095Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.074800Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.074820Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] test parser::parseable::var_use ... ok
[INFO] [stdout] [2m2026-05-11T23:53:24.074744Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075063Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.074918Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [(Span { start: 107, end: 108 }, RightAngleBracket), (Span { start: 108, end: 109 }, RightBracket), (Span { start: 109, end: 110 }, Semicolon), (Span { start: 115, end: 116 }, RightAngleBracket)] [3mval[0m[2m=[0mValue(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(20))))] })))
[INFO] [stdout] [2m2026-05-11T23:53:24.074991Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075262Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Array(Array { type_id: TypeId { id: 3, array: true }, values: [Primitive(Number(I64(0))), Primitive(Number(I64(1))), Primitive(Number(I64(2))), Primitive(Number(I64(3)))] }))), 9))
[INFO] [stdout] [2m2026-05-11T23:53:24.075300Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075320Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075336Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075339Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Array(Array { type_id: TypeId { id: 23, array: true }, values: [Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(0))))] })), Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(10))))] })), Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(20))))] }))] }))), 22))
[INFO] [stdout] [2m2026-05-11T23:53:24.075355Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("f", false, None, Value(Array(Array { type_id: TypeId { id: 3, array: true }, values: [Primitive(Number(I64(0))), Primitive(Number(I64(1))), Primitive(Number(I64(2))), Primitive(Number(I64(3)))] })), 12))
[INFO] [stdout] [2m2026-05-11T23:53:24.075375Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075382Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075389Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075401Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075417Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"f" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Array(Array { type_id: TypeId { id: 3, array: true }, values: [Primitive(Number(I64(0))), Primitive(Number(I64(1))), Primitive(Number(I64(2))), Primitive(Number(I64(3)))] }))
[INFO] [stdout] [2m2026-05-11T23:53:24.075414Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("f", false, None, Value(Array(Array { type_id: TypeId { id: 23, array: true }, values: [Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(0))))] })), Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(10))))] })), Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(20))))] }))] })), 25))
[INFO] [stdout] [2m2026-05-11T23:53:24.075134Z[0m [34mDEBUG[0m [2mparser::types[0m[2m:[0m [3mself[0m[2m=[0mTyper { types: {"Baz": ComplexTypeID { id: 12 }, "Bar": ComplexTypeID { id: 13 }}, type_ids: {ComplexTypeID { id: 13 }: Known(StructDecl(StructDecl { visibility: Private, fields: {"bar": TypeId { id: 1, array: false }, "baz": TypeId { id: 23, array: false }} })), ComplexTypeID { id: 12 }: Known(StructDecl(StructDecl { visibility: Private, fields: {"bar_baz": TypeId { id: 2, array: false }} }))}, next_id: ComplexTypeID { id: 14 } } [3mtype_name[0m[2m=[0m"Foo" [3mvalue[0m[2m=[0mStructDecl(StructDecl { visibility: Private, fields: {"foo": TypeId { id: 24, array: false }, "bar": TypeId { id: 10, array: false }, "baz": TypeId { id: 0, array: false }} })
[INFO] [stdout] [2m2026-05-11T23:53:24.075453Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.075455Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.033861Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075473Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.075216Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Complex(Struct(Struct { name: Known("Baz"), fields: [(2, "baz", Primitive(Number(I64(10))))] })))] })))] })))), 19))
[INFO] [stdout] [2m2026-05-11T23:53:24.075493Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075494Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075507Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075518Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075518Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075520Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("f", Variable { typeid: TypeId { id: 3, array: true }, mutable: false, val: Value(Array(Array { type_id: TypeId { id: 3, array: true }, values: [Primitive(Number(I64(0))), Primitive(Number(I64(1))), Primitive(Number(I64(2))), Primitive(Number(I64(3)))] })) })))] }, 18))
[INFO] [stdout] [2m2026-05-11T23:53:24.075539Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("foo", false, None, Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Complex(Struct(Struct { name: Known("Baz"), fields: [(2, "baz", Primitive(Number(I64(10))))] })))] })))] }))), 22))
[INFO] [stdout] [2m2026-05-11T23:53:24.075561Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075557Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075584Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075577Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075580Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.075575Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075601Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.075605Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.075603Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"foo" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Complex(Struct(Struct { name: Known("Baz"), fields: [(2, "baz", Primitive(Number(I64(10))))] })))] })))] })))
[INFO] [stdout] [2m2026-05-11T23:53:24.075611Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [3mparser[0m[2m=[0mParser { typer: Typer { types: {}, type_ids: {}, next_id: ComplexTypeID { id: 12 } }, ast: Ast { nodes: [Function(FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("f", Variable { typeid: TypeId { id: 3, array: true }, mutable: false, val: Value(Array(Array { type_id: TypeId { id: 3, array: true }, values: [Primitive(Number(I64(0))), Primitive(Number(I64(1))), Primitive(Number(I64(2))), Primitive(Number(I64(3)))] })) })))] })] } }
[INFO] [stdout] [2m2026-05-11T23:53:24.075651Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075656Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.075669Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mLet
[INFO] [stdout] [2m2026-05-11T23:53:24.075681Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075692Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075703Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075723Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075741Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075744Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075763Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075774Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m enter
[INFO] [stdout] [2m2026-05-11T23:53:24.075784Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Primitive(Number(I64(10))))), 1))
[INFO] [stdout] [2m2026-05-11T23:53:24.075791Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mStr("Foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.075807Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075823Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075827Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mName [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.075841Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(StructAccess(StructAccess { name: "foo", fields: ["i"] })), 3))
[INFO] [stdout] [2m2026-05-11T23:53:24.075856Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("bar")
[INFO] [stdout] [2m2026-05-11T23:53:24.075862Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("foo", false, None, Value(Primitive(Number(I64(10)))), 4))
[INFO] [stdout] [2m2026-05-11T23:53:24.075874Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075894Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075886Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.075904Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("bar", false, None, StructAccess(StructAccess { name: "foo", fields: ["i"] }), 6))
[INFO] [stdout] [2m2026-05-11T23:53:24.075917Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mQuotedString("bar_baz_foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.075920Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"foo" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Primitive(Number(I64(10))))
[INFO] [stdout] [2m2026-05-11T23:53:24.075936Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075954Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.075962Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"bar" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mStructAccess(StructAccess { name: "foo", fields: ["i"] })
[INFO] [stdout] [2m2026-05-11T23:53:24.075951Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mComma
[INFO] [stdout] [2m2026-05-11T23:53:24.075981Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.076007Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.075992Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstruct_access[0m[2m=[0mStructAccess { name: "foo", fields: ["i"] } [3mdecl[0m[2m=[0m("foo", Variable { typeid: TypeId { id: 25, array: false }, mutable: false, val: Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Complex(Struct(Struct { name: Known("Baz"), fields: [(2, "baz", Primitive(Number(I64(10))))] })))] })))] }))) })
[INFO] [stdout] [2m2026-05-11T23:53:24.075995Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("foo")
[INFO] [stdout] [2m2026-05-11T23:53:24.076030Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstruc[0m[2m=[0mStruct { name: Known("Foo"), fields: [(0, "i", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Complex(Struct(Struct { name: Known("Baz"), fields: [(2, "baz", Primitive(Number(I64(10))))] })))] })))] }
[INFO] [stdout] [2m2026-05-11T23:53:24.076036Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("foo", Variable { typeid: TypeId { id: 3, array: false }, mutable: false, val: Value(Primitive(Number(I64(10)))) })))] }, 10))
[INFO] [stdout] [2m2026-05-11T23:53:24.076034Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("Bar")
[INFO] [stdout] [2m2026-05-11T23:53:24.076064Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.076071Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.076085Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.076071Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.076100Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.076106Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.076107Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("bar")
[INFO] [stdout] [2m2026-05-11T23:53:24.076130Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("foo", Variable { typeid: TypeId { id: 25, array: false }, mutable: false, val: Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Complex(Struct(Struct { name: Known("Baz"), fields: [(2, "baz", Primitive(Number(I64(10))))] })))] })))] }))) }))), (0, VariableDecl(("bar", Variable { typeid: TypeId { id: 24, array: false }, mutable: false, val: Value(Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Complex(Struct(Struct { name: Known("Baz"), fields: [(2, "baz", Primitive(Number(I64(10))))] })))] }))) })))] }, 35))
[INFO] [stdout] [2m2026-05-11T23:53:24.076145Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.076176Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.076196Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.076182Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mNumber("5")
[INFO] [stdout] [2m2026-05-11T23:53:24.075482Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"f" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Array(Array { type_id: TypeId { id: 23, array: true }, values: [Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(0))))] })), Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(10))))] })), Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(20))))] }))] }))
[INFO] [stdout] [2m2026-05-11T23:53:24.076285Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.076306Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.076340Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] test parser::parseable::complex_type_check ... FAILED
[INFO] [stdout] [2m2026-05-11T23:53:24.076368Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("f", Variable { typeid: TypeId { id: 23, array: true }, mutable: false, val: Value(Array(Array { type_id: TypeId { id: 23, array: true }, values: [Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(0))))] })), Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(10))))] })), Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(20))))] }))] })) })))] }, 31))
[INFO] [stdout] test parser::parseable::array_test ... ok
[INFO] [stdout] test parser::parseable::parse_primitive_number ... ok
[INFO] [stdout] [2m2026-05-11T23:53:24.076415Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.076438Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.076218Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mComma
[INFO] [stdout] [2m2026-05-11T23:53:24.076459Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [3mparser[0m[2m=[0mParser { typer: Typer { types: {"Foo": ComplexTypeID { id: 12 }}, type_ids: {ComplexTypeID { id: 12 }: Known(StructDecl(StructDecl { visibility: Private, fields: {"i": TypeId { id: 3, array: false }} }))}, next_id: ComplexTypeID { id: 13 } }, ast: Ast { nodes: [Function(FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("f", Variable { typeid: TypeId { id: 23, array: true }, mutable: false, val: Value(Array(Array { type_id: TypeId { id: 23, array: true }, values: [Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(0))))] })), Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(10))))] })), Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "i", Primitive(Number(I64(20))))] }))] })) })))] })] } }
[INFO] [stdout] [2m2026-05-11T23:53:24.076475Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("baz")
[INFO] [stdout] [2m2026-05-11T23:53:24.076526Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("Baz")
[INFO] [stdout] test parser::parseable::complex_struct_array_test ... ok
[INFO] [stdout] [2m2026-05-11T23:53:24.076218Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [3mname[0m[2m=[0mfoo [3mvariable[0m[2m=[0mFoo {i: bar: baz: 10 Baz { }  Bar { } }
[INFO] [stdout] [2m2026-05-11T23:53:24.076610Z[0m [32m INFO[0m [2mparser::parser::parseable[0m[2m:[0m [3mname[0m[2m=[0mbar [3mvariable[0m[2m=[0mBar {{bar: baz: 10 Baz { } }
[INFO] [stdout] [2m2026-05-11T23:53:24.076600Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mLeftAngleBracket
[INFO] [stdout] test parser::parseable::struct_access ... ok
[INFO] [stdout] [2m2026-05-11T23:53:24.076652Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("bar_baz")
[INFO] [stdout] [2m2026-05-11T23:53:24.076712Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.076746Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mNumber("10")
[INFO] [stdout] [2m2026-05-11T23:53:24.076781Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mComma
[INFO] [stdout] [2m2026-05-11T23:53:24.076811Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.076844Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mComma
[INFO] [stdout] [2m2026-05-11T23:53:24.076874Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.076905Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mComma
[INFO] [stdout] [2m2026-05-11T23:53:24.076935Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mStr("baz")
[INFO] [stdout] [2m2026-05-11T23:53:24.076966Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mColon
[INFO] [stdout] [2m2026-05-11T23:53:24.077003Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mNumber("15")
[INFO] [stdout] [2m2026-05-11T23:53:24.077034Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mComma
[INFO] [stdout] [2m2026-05-11T23:53:24.077074Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mstate[0m[2m=[0mValue [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.077108Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m[1mStruct::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.077144Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m[1mVariableValue::parse_ctx[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.077175Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((Assignment(Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "bar", Primitive(String("bar_baz_foo"))), (0, "foo", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Primitive(Number(I64(5)))), (1, "baz", Complex(Struct(Struct { name: Known("Baz"), fields: [(2, "bar_baz", Primitive(Number(I64(10))))] })))] }))), (0, "baz", Primitive(Number(I64(15))))] })))), 31))
[INFO] [stdout] [2m2026-05-11T23:53:24.077215Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m[1mVariableUse::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.077305Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk(("bar", false, None, Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "bar", Primitive(String("bar_baz_foo"))), (0, "foo", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Primitive(Number(I64(5)))), (1, "baz", Complex(Struct(Struct { name: Known("Baz"), fields: [(2, "bar_baz", Primitive(Number(I64(10))))] })))] }))), (0, "baz", Primitive(Number(I64(15))))] }))), 34))
[INFO] [stdout] [2m2026-05-11T23:53:24.077348Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m[1mVariable::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.077372Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mvar_name[0m[2m=[0m"bar" [3mmutable[0m[2m=[0mfalse [3mid[0m[2m=[0mNone [3mvalue[0m[2m=[0mValue(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "bar", Primitive(String("bar_baz_foo"))), (0, "foo", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Primitive(Number(I64(5)))), (1, "baz", Complex(Struct(Struct { name: Known("Baz"), fields: [(2, "bar_baz", Primitive(Number(I64(10))))] })))] }))), (0, "baz", Primitive(Number(I64(15))))] })))
[INFO] [stdout] [2m2026-05-11T23:53:24.077415Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mtoken[0m[2m=[0mRightAngleBracket
[INFO] [stdout] [2m2026-05-11T23:53:24.077435Z[0m [34mDEBUG[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m found closing bracket 0
[INFO] [stdout] [2m2026-05-11T23:53:24.077456Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m[1mBlock::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.077478Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m [3mreturn[0m[2m=[0mOk((FunctionDecl { visibility: Private, name: "foo", args: None, return_type: None, block: [(0, VariableDecl(("bar", Variable { typeid: TypeId { id: 25, array: false }, mutable: false, val: Value(Complex(Struct(Struct { name: Known("Foo"), fields: [(0, "bar", Primitive(String("bar_baz_foo"))), (0, "foo", Complex(Struct(Struct { name: Known("Bar"), fields: [(1, "bar", Primitive(Number(I64(5)))), (1, "baz", Complex(Struct(Struct { name: Known("Baz"), fields: [(2, "bar_baz", Primitive(Number(I64(10))))] })))] }))), (0, "baz", Primitive(Number(I64(15))))] }))) })))] }, 40))
[INFO] [stderr] error: test failed, to rerun pass `-p parser --lib`
[INFO] [stdout] [2m2026-05-11T23:53:24.077516Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m[1mFunctionDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] [2m2026-05-11T23:53:24.077536Z[0m [32m INFO[0m [1mTypeDecl::parse_ctx_mut[0m[2m:[0m [2mparser::parser[0m[2m:[0m exit
[INFO] [stdout] test parser::parseable::struct_use ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- parser::parseable::complex_struct stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'parser::parseable::complex_struct' (21) panicked at parser/src/parser.rs:2597:61:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e4780fe0f9a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e4780fe0f9a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e4780fe0f9a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e4780fe0f9a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e4780ff70ba - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e4780ff70ba - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5e4780fe5882 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5e4780fe5882 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5e4780fbfd7f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e4780fbfd7f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e4780fd9219 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e4780f1e08c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5e4780f1e08c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5e4780fd93d2 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5e4780fd93d2 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e4780fbfe6a - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5e4780fb5019 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e4780fc0b4d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e4780ff787c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e4780ff7842 - core[e929cb53b82a81ca]::panicking::panic
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5e4780ff7599 - core[e929cb53b82a81ca]::option::unwrap_failed
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/option.rs:2251:5
[INFO] [stdout]   21:     0x5e4780f09e93 - <core[e929cb53b82a81ca]::option::Option<&parser[698d8b49208cc21b]::types::ComplexType>>::unwrap
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/option.rs:1016:21
[INFO] [stdout]   22:     0x5e4780f09e93 - parser[698d8b49208cc21b]::parser::parseable::complex_struct
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:2597:61
[INFO] [stdout]   23:     0x5e4780f051ad - parser[698d8b49208cc21b]::parser::parseable::complex_struct::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:2574:28
[INFO] [stdout]   24:     0x5e4780ef3ee6 - <parser[698d8b49208cc21b]::parser::parseable::complex_struct::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5e4780f1136b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5e4780f1136b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   27:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   28:     0x5e4780f1eb5b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   29:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   33:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   34:     0x5e4780f18274 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   35:     0x5e4780f18274 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5e4780f21762 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   37:     0x5e4780f21762 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   38:     0x5e4780f21762 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5e4780f21762 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5e4780f21762 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5e4780f21762 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   42:     0x5e4780f21762 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5e4780fe087f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   44:     0x5e4780fe087f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   45:     0x77a0ed544aa4 - <unknown>
[INFO] [stdout]   46:     0x77a0ed5d1a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- parser::parseable::simple_type_check stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'parser::parseable::simple_type_check' (38) panicked at parser/src/parser.rs:1553:26:
[INFO] [stdout] LeftAngleBracket
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e4780fe0f9a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e4780fe0f9a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e4780fe0f9a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e4780fe0f9a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e4780ff70ba - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e4780ff70ba - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5e4780fe5882 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5e4780fe5882 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5e4780fbfd7f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e4780fbfd7f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e4780fd9219 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e4780f1e08c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5e4780f1e08c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5e4780fd93d2 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5e4780fd93d2 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e4780fbfe38 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5e4780fb5019 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e4780fc0b4d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e4780ff787c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e4780eda2dc - <parser[698d8b49208cc21b]::types::FunctionCall>::parse_ctx::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1553:26
[INFO] [stdout]   20:     0x5e4780ec2066 - <parser[698d8b49208cc21b]::types::FunctionCall>::parse_ctx
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1525:5
[INFO] [stdout]   21:     0x5e4780ebf1d8 - <parser[698d8b49208cc21b]::types::Block>::parse_ctx_mut
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1164:55
[INFO] [stdout]   22:     0x5e4780ed9af3 - <parser[698d8b49208cc21b]::types::FunctionDecl>::parse_ctx_mut::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1509:44
[INFO] [stdout]   23:     0x5e4780ec1406 - <parser[698d8b49208cc21b]::types::FunctionDecl>::parse_ctx_mut
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1382:5
[INFO] [stdout]   24:     0x5e4780edaff4 - <parser[698d8b49208cc21b]::types::TypeDecl>::parse_ctx_mut::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1682:37
[INFO] [stdout]   25:     0x5e4780ec2da6 - <parser[698d8b49208cc21b]::types::TypeDecl>::parse_ctx_mut
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1668:5
[INFO] [stdout]   26:     0x5e4780ee05ee - <parser[698d8b49208cc21b]::parser::Parser>::parse
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:136:43
[INFO] [stdout]   27:     0x5e4780f0cb25 - parser[698d8b49208cc21b]::parser::parseable::simple_type_check
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:3253:13
[INFO] [stdout]   28:     0x5e4780f052e7 - parser[698d8b49208cc21b]::parser::parseable::simple_type_check::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:3242:27
[INFO] [stdout]   29:     0x5e4780ef4026 - <parser[698d8b49208cc21b]::parser::parseable::simple_type_check::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x5e4780f1136b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x5e4780f1136b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   32:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   33:     0x5e4780f1eb5b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   38:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   39:     0x5e4780f18274 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   40:     0x5e4780f18274 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x5e4780f21762 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   42:     0x5e4780f21762 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43:     0x5e4780f21762 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44:     0x5e4780f21762 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x5e4780f21762 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x5e4780f21762 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   47:     0x5e4780f21762 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x5e4780fe087f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   49:     0x5e4780fe087f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50:     0x77a0ed544aa4 - <unknown>
[INFO] [stdout]   51:     0x77a0ed5d1a64 - clone
[INFO] [stdout]   52:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- parser::parseable::function_call stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'parser::parseable::function_call' (29) panicked at parser/src/parser.rs:1553:26:
[INFO] [stdout] LeftAngleBracket
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e4780fe0f9a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e4780fe0f9a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e4780fe0f9a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e4780fe0f9a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e4780ff70ba - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e4780ff70ba - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5e4780fe5882 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5e4780fe5882 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5e4780fbfd7f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e4780fbfd7f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e4780fd9219 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e4780f1e08c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5e4780f1e08c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5e4780fd93d2 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5e4780fd93d2 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e4780fbfe38 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5e4780fb5019 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e4780fc0b4d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e4780ff787c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e4780eda2dc - <parser[698d8b49208cc21b]::types::FunctionCall>::parse_ctx::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1553:26
[INFO] [stdout]   20:     0x5e4780ec2066 - <parser[698d8b49208cc21b]::types::FunctionCall>::parse_ctx
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1525:5
[INFO] [stdout]   21:     0x5e4780ebf1d8 - <parser[698d8b49208cc21b]::types::Block>::parse_ctx_mut
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1164:55
[INFO] [stdout]   22:     0x5e4780ed9af3 - <parser[698d8b49208cc21b]::types::FunctionDecl>::parse_ctx_mut::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1509:44
[INFO] [stdout]   23:     0x5e4780ec1406 - <parser[698d8b49208cc21b]::types::FunctionDecl>::parse_ctx_mut
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1382:5
[INFO] [stdout]   24:     0x5e4780edaff4 - <parser[698d8b49208cc21b]::types::TypeDecl>::parse_ctx_mut::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1682:37
[INFO] [stdout]   25:     0x5e4780ec2da6 - <parser[698d8b49208cc21b]::types::TypeDecl>::parse_ctx_mut
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1668:5
[INFO] [stdout]   26:     0x5e4780ee05ee - <parser[698d8b49208cc21b]::parser::Parser>::parse
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:136:43
[INFO] [stdout]   27:     0x5e4780f07870 - parser[698d8b49208cc21b]::parser::parseable::function_call
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:2523:22
[INFO] [stdout]   28:     0x5e4780f050ad - parser[698d8b49208cc21b]::parser::parseable::function_call::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:2513:27
[INFO] [stdout]   29:     0x5e4780ef3de6 - <parser[698d8b49208cc21b]::parser::parseable::function_call::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x5e4780f1136b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x5e4780f1136b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   32:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   33:     0x5e4780f1eb5b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   38:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   39:     0x5e4780f18274 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   40:     0x5e4780f18274 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x5e4780f21762 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   42:     0x5e4780f21762 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43:     0x5e4780f21762 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44:     0x5e4780f21762 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x5e4780f21762 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x5e4780f21762 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   47:     0x5e4780f21762 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x5e4780fe087f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   49:     0x5e4780fe087f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50:     0x77a0ed544aa4 - <unknown>
[INFO] [stdout]   51:     0x77a0ed5d1a64 - clone
[INFO] [stdout]   52:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- parser::parseable::simple_struct_use stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'parser::parseable::simple_struct_use' (37) panicked at parser/src/parser.rs:2769:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: VariableDecl(("bar", Variable { typeid: TypeId { id: 23, array: false }, mutable: false, val: Value(Complex(Struct(Struct { name: Known("BarBaz"), fields: [(0, "i", Primitive(String("foo")))] }))) }))
[INFO] [stdout]  right: VariableDecl(("bar", Variable { typeid: TypeId { id: 11, array: false }, mutable: false, val: Value(Complex(Struct(Struct { name: Known("BarBaz"), fields: [(0, "i", Primitive(String("foo")))] }))) }))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e4780fe0f9a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e4780fe0f9a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e4780fe0f9a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e4780fe0f9a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e4780ff70ba - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e4780ff70ba - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5e4780fe5882 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5e4780fe5882 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5e4780fbfd7f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e4780fbfd7f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e4780fd9219 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e4780f1e08c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5e4780f1e08c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5e4780fd93d2 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5e4780fd93d2 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e4780fbfe38 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5e4780fb5019 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e4780fc0b4d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e4780ff787c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e4780ff7733 - core[e929cb53b82a81ca]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5e4780ee325d - core[e929cb53b82a81ca]::panicking::assert_failed::<parser[698d8b49208cc21b]::types::BlockValue, parser[698d8b49208cc21b]::types::BlockValue>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5e4780f0c67a - parser[698d8b49208cc21b]::parser::parseable::simple_struct_use
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:2769:9
[INFO] [stdout]   22:     0x5e4780f052ad - parser[698d8b49208cc21b]::parser::parseable::simple_struct_use::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:2752:31
[INFO] [stdout]   23:     0x5e4780ef3fe6 - <parser[698d8b49208cc21b]::parser::parseable::simple_struct_use::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5e4780f1136b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5e4780f1136b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5e4780f1eb5b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5e4780f18274 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5e4780f18274 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5e4780f21762 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5e4780f21762 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5e4780f21762 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5e4780f21762 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5e4780f21762 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5e4780f21762 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5e4780f21762 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5e4780fe087f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x5e4780fe087f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x77a0ed544aa4 - <unknown>
[INFO] [stdout]   45:     0x77a0ed5d1a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- parser::parseable::complex_type_check stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'parser::parseable::complex_type_check' (23) panicked at parser/src/parser.rs:1576:26:
[INFO] [stdout] LeftAngleBracket
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e4780fe0f9a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e4780fe0f9a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e4780fe0f9a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e4780fe0f9a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e4780ff70ba - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e4780ff70ba - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5e4780fe5882 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5e4780fe5882 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5e4780fbfd7f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e4780fbfd7f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e4780fd9219 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e4780f1e08c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5e4780f1e08c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5e4780fd93d2 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5e4780fd93d2 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e4780fbfe38 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5e4780fb5019 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e4780fc0b4d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e4780ff787c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e4780eda833 - <parser[698d8b49208cc21b]::types::FunctionCall>::parse_ctx::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1576:26
[INFO] [stdout]   20:     0x5e4780ec2066 - <parser[698d8b49208cc21b]::types::FunctionCall>::parse_ctx
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1525:5
[INFO] [stdout]   21:     0x5e4780ec5745 - <parser[698d8b49208cc21b]::types::VariableValue>::parse_ctx
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1737:51
[INFO] [stdout]   22:     0x5e4780ede78d - <parser[698d8b49208cc21b]::types::VariableUse>::parse_ctx_mut::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:2332:46
[INFO] [stdout]   23:     0x5e4780ec8c9f - <parser[698d8b49208cc21b]::types::VariableUse>::parse_ctx_mut
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:2214:5
[INFO] [stdout]   24:     0x5e4780edbb5b - <parser[698d8b49208cc21b]::types::Variable>::parse_ctx_mut::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1979:39
[INFO] [stdout]   25:     0x5e4780ec72ef - <parser[698d8b49208cc21b]::types::Variable>::parse_ctx_mut
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1935:5
[INFO] [stdout]   26:     0x5e4780ebc2c1 - <parser[698d8b49208cc21b]::types::Block>::parse_ctx_mut
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1023:29
[INFO] [stdout]   27:     0x5e4780ed9af3 - <parser[698d8b49208cc21b]::types::FunctionDecl>::parse_ctx_mut::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1509:44
[INFO] [stdout]   28:     0x5e4780ec1406 - <parser[698d8b49208cc21b]::types::FunctionDecl>::parse_ctx_mut
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1382:5
[INFO] [stdout]   29:     0x5e4780edaff4 - <parser[698d8b49208cc21b]::types::TypeDecl>::parse_ctx_mut::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1682:37
[INFO] [stdout]   30:     0x5e4780ec2da6 - <parser[698d8b49208cc21b]::types::TypeDecl>::parse_ctx_mut
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:1668:5
[INFO] [stdout]   31:     0x5e4780ee05ee - <parser[698d8b49208cc21b]::parser::Parser>::parse
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:136:43
[INFO] [stdout]   32:     0x5e4780f0cbd0 - parser[698d8b49208cc21b]::parser::parseable::complex_type_check
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:3283:22
[INFO] [stdout]   33:     0x5e4780f05317 - parser[698d8b49208cc21b]::parser::parseable::complex_type_check::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/parser/src/parser.rs:3264:28
[INFO] [stdout]   34:     0x5e4780ef4066 - <parser[698d8b49208cc21b]::parser::parseable::complex_type_check::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   35:     0x5e4780f1136b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   36:     0x5e4780f1136b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   37:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   38:     0x5e4780f1eb5b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   39:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   40:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   41:     0x5e4780f1eb5b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   43:     0x5e4780f1eb5b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   44:     0x5e4780f18274 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   45:     0x5e4780f18274 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   46:     0x5e4780f21762 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   47:     0x5e4780f21762 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   48:     0x5e4780f21762 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   49:     0x5e4780f21762 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   50:     0x5e4780f21762 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   51:     0x5e4780f21762 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   52:     0x5e4780f21762 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x5e4780fe087f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   54:     0x5e4780fe087f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   55:     0x77a0ed544aa4 - <unknown>
[INFO] [stdout]   56:     0x77a0ed5d1a64 - clone
[INFO] [stdout]   57:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     parser::parseable::complex_struct
[INFO] [stdout]     parser::parseable::complex_type_check
[INFO] [stdout]     parser::parseable::function_call
[INFO] [stdout]     parser::parseable::simple_struct_use
[INFO] [stdout]     parser::parseable::simple_type_check
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 20 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "83c2b1cbf9401881ff4507242f3563669a6efc30d85a33b2f62a95077a07b644", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "83c2b1cbf9401881ff4507242f3563669a6efc30d85a33b2f62a95077a07b644", kill_on_drop: false }`
[INFO] [stdout] 83c2b1cbf9401881ff4507242f3563669a6efc30d85a33b2f62a95077a07b644
