[INFO] cloning repository https://github.com/APConduct/lucid-lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/APConduct/lucid-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAPConduct%2Flucid-lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAPConduct%2Flucid-lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bc4bceb92db664dbcb3c6278142a00f7a17e62a3
[INFO] testing APConduct/lucid-lang against try#9f93af291970322f4f1c6315ccde4d7078201159 for pr-146098-6
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAPConduct%2Flucid-lang" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/APConduct/lucid-lang
[INFO] finished tweaking git repo https://github.com/APConduct/lucid-lang
[INFO] tweaked toml for git repo https://github.com/APConduct/lucid-lang written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/APConduct/lucid-lang on toolchain 9f93af291970322f4f1c6315ccde4d7078201159
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/APConduct/lucid-lang 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" "+9f93af291970322f4f1c6315ccde4d7078201159" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 11714e66f7a8d27bfbc85fbc287338973540c5a05c3d5bb7c522867c14a540a0
[INFO] running `Command { std: "docker" "start" "-a" "11714e66f7a8d27bfbc85fbc287338973540c5a05c3d5bb7c522867c14a540a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "11714e66f7a8d27bfbc85fbc287338973540c5a05c3d5bb7c522867c14a540a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11714e66f7a8d27bfbc85fbc287338973540c5a05c3d5bb7c522867c14a540a0", kill_on_drop: false }`
[INFO] [stdout] 11714e66f7a8d27bfbc85fbc287338973540c5a05c3d5bb7c522867c14a540a0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 06e1827f36dc5b729c03c09587132d88a533d709f335fd253b65997b8381d3a0
[INFO] running `Command { std: "docker" "start" "-a" "06e1827f36dc5b729c03c09587132d88a533d709f335fd253b65997b8381d3a0", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling instability v0.3.9
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling unit-prefix v0.5.1
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling nu-ansi-term v0.50.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling indoc v2.0.6
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling clap_builder v4.5.48
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling vte v0.14.1
[INFO] [stderr]    Compiling strum v0.25.0
[INFO] [stderr]    Compiling nu-ansi-term v0.49.0
[INFO] [stderr]    Compiling vte_generate_state_changes v0.1.2
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling colored v3.0.0
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling strip-ansi-escapes v0.2.1
[INFO] [stderr]    Compiling vte v0.11.1
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling console v0.16.1
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling vt100 v0.15.2
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling indicatif v0.18.0
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling clap_derive v4.5.47
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling clap v4.5.48
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling tracing-indicatif v0.3.13
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling fd-lock v3.0.13
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling reedline v0.27.1
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling lucid v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tracing::event`
[INFO] [stdout]  --> src/parser.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::event;
[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 import: `tracing::span`
[INFO] [stdout]  --> src/parser.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::span;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `error` is never used
[INFO] [stdout]   --> src/parser.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Parser {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn error(&self, message: String) -> String {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.41s
[INFO] running `Command { std: "docker" "inspect" "06e1827f36dc5b729c03c09587132d88a533d709f335fd253b65997b8381d3a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "06e1827f36dc5b729c03c09587132d88a533d709f335fd253b65997b8381d3a0", kill_on_drop: false }`
[INFO] [stdout] 06e1827f36dc5b729c03c09587132d88a533d709f335fd253b65997b8381d3a0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7fe6980d0ce889908ea3ff5b09c3a12a01a2ce3508bf298df82066ccfc51d5e6
[INFO] running `Command { std: "docker" "start" "-a" "7fe6980d0ce889908ea3ff5b09c3a12a01a2ce3508bf298df82066ccfc51d5e6", kill_on_drop: false }`
[INFO] [stderr]    Compiling lucid v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tracing::event`
[INFO] [stdout]  --> src/parser.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::event;
[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 import: `tracing::span`
[INFO] [stdout]  --> src/parser.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::span;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `error` is never used
[INFO] [stdout]   --> src/parser.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Parser {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn error(&self, message: String) -> String {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.99s
[INFO] running `Command { std: "docker" "inspect" "7fe6980d0ce889908ea3ff5b09c3a12a01a2ce3508bf298df82066ccfc51d5e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fe6980d0ce889908ea3ff5b09c3a12a01a2ce3508bf298df82066ccfc51d5e6", kill_on_drop: false }`
[INFO] [stdout] 7fe6980d0ce889908ea3ff5b09c3a12a01a2ce3508bf298df82066ccfc51d5e6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3b01f4cbca9f36648ae5d34326d91a9556e35f25a8828c89e698a33b3a26afc3
[INFO] running `Command { std: "docker" "start" "-a" "3b01f4cbca9f36648ae5d34326d91a9556e35f25a8828c89e698a33b3a26afc3", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `tracing::event`
[INFO] [stderr]  --> src/parser.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use tracing::event;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tracing::span`
[INFO] [stderr]  --> src/parser.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use tracing::span;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `error` is never used
[INFO] [stderr]   --> src/parser.rs:46:8
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl Parser {
[INFO] [stderr]    | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 46 |     fn error(&self, message: String) -> String {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `lucid` (bin "lucid" test) generated 3 warnings (run `cargo fix --bin "lucid" -p lucid --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/lucid-c708d9a7d84b0164)
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test ast::tests::test_program ... ok
[INFO] [stdout] test ast::tests::test_program_with_if_statement ... ok
[INFO] [stdout] test ast::tests::test_program_with_function ... ok
[INFO] [stdout] test ast::tests::test_program_with_statements ... ok
[INFO] [stdout] test codegen::tests::test_codegen_function ... ok
[INFO] [stdout] test codegen::tests::test_codegen_if_else ... ok
[INFO] [stdout] test codegen::tests::test_codegen_local_assign ... ok
[INFO] [stdout] test codegen::tests::test_codegen_print ... ok
[INFO] [stdout] test codegen::tests::test_codegen_simple ... ok
[INFO] [stdout] test codegen::tests::test_codegen_table ... ok
[INFO] [stdout] test codegen::tests::test_codegen_table_with_identifier_keys ... ok
[INFO] [stdout] test codegen::tests::test_codegen_table_with_bracket_notation ... ok
[INFO] [stdout] test codegen::tests::test_codegen_table_with_keys ... ok
[INFO] [stdout] test compiler::tests::test_compile_function ... ok
[INFO] [stdout] test compiler::tests::test_comments_are_stripped ... ok
[INFO] [stdout] test compiler::tests::test_compile_generic_function ... ok
[INFO] [stdout] test compiler::tests::test_complex_union ... ok
[INFO] [stdout] test compiler::tests::test_union_type_error ... ok
[INFO] [stdout] test compiler::tests::test_interface_declaration ... ok
[INFO] [stdout] test compiler::tests::test_generic_local_function ... ok
[INFO] [stdout] test compiler::tests::test_generic_with_union ... ok
[INFO] [stdout] test lexer::tests::test_lexer_keywords ... ok
[INFO] [stdout] test compiler::tests::test_generic_function_map ... ok
[INFO] [stdout] test lexer::tests::test_minus_vs_comment ... ok
[INFO] [stdout] test lexer::tests::test_multiline_block_comment ... ok
[INFO] [stdout] test lexer::tests::test_single_line_comment ... ok
[INFO] [stdout] test lexer::tests::test_comment_at_start ... ok
[INFO] [stdout] test parser::tests::test_parse_table_with_keys ... ignored, key/value pairs are not supported yet
[INFO] [stdout] [2m2025-11-08T07:42:54.983761Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   local x: number | nil = 42\n   local y: number | nil = nil\n   "[1m}[0m[2m:[0m [2mlucid::compiler[0m[2m:[0m Starting compilation
[INFO] [stdout] [2m2025-11-08T07:42:54.983848Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   local x: number | nil = 42\n   local y: number | nil = nil\n   "[1m}[0m[2m:[0m [2mlucid::parser[0m[2m:[0m Parsing program
[INFO] [stdout] test parser::tests::test_parse_table ... ok
[INFO] [stdout] test lexer::tests::test_lexer ... ok
[INFO] [stdout] [2m2025-11-08T07:42:54.983924Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  interface Animal\n      name: string\n      age: number\n      speak: function\n  end\n\n  function create_dog(): Animal\n      local dog = {\n          name = \"Buddy\",\n          age = 5,\n          speak = function() end\n      }\n      return dog\n  end\n  "[1m}[0m[2m:[0m [2mlucid::compiler[0m[2m:[0m Starting compilation
[INFO] [stdout] test lexer::tests::test_multiple_comments ... ok
[INFO] [stdout] test lexer::tests::test_lexer_numbers ... ok
[INFO] [stdout] [2m2025-11-08T07:42:54.983952Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   local x: number | nil = 42\n   local y: number | nil = nil\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mparser[0m[2m:[0m Parsed variable: x
[INFO] [stdout] [2m2025-11-08T07:42:54.984022Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   local x: number | nil = 42\n   local y: number | nil = nil\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mparser[0m[2m:[0m Parsed variable: x as type nil | number
[INFO] [stdout] [2m2025-11-08T07:42:54.984024Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  interface Animal\n      name: string\n      age: number\n      speak: function\n  end\n\n  function create_dog(): Animal\n      local dog = {\n          name = \"Buddy\",\n          age = 5,\n          speak = function() end\n      }\n      return dog\n  end\n  "[1m}[0m[2m:[0m [2mlucid::parser[0m[2m:[0m Parsing program
[INFO] [stdout] [2m2025-11-08T07:42:54.984093Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   function process(value: number | string): string\n       return \"processed\"\n   end\n\n   local a = process(42)\n   local b = process(\"test\")\n   "[1m}[0m[2m:[0m [2mlucid::compiler[0m[2m:[0m Starting compilation
[INFO] [stdout] [2m2025-11-08T07:42:54.984107Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  local x: number | string = 42\n  local y: number | string = \"hello\"\n  "[1m}[0m[2m:[0m [2mlucid::compiler[0m[2m:[0m Starting compilation
[INFO] [stdout] [2m2025-11-08T07:42:54.984128Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   local x: number | nil = 42\n   local y: number | nil = nil\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984145Z[0m [33m WARN[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] test lexer::tests::test_block_comment ... ok[2m2025-11-08T07:42:54.984158Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  local x: number | string = 42\n  local y: number | string = \"hello\"\n  "[1m}[0m[2m:[0m [2mlucid::parser[0m[2m:[0m Parsing program
[INFO] [stdout] 
[INFO] [stdout] [2m2025-11-08T07:42:54.984164Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   function process(value: number | string): string\n       return \"processed\"\n   end\n\n   local a = process(42)\n   local b = process(\"test\")\n   "[1m}[0m[2m:[0m [2mlucid::parser[0m[2m:[0m Parsing program
[INFO] [stdout] [2m2025-11-08T07:42:54.984168Z[0m [33m WARN[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984226Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   local x: number | nil = 42\n   local y: number | nil = nil\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mparser[0m[2m:[0m Parsed variable: y
[INFO] [stdout] test parser::tests::test_parse_expression ... ok
[INFO] [stdout] [2m2025-11-08T07:42:54.984278Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   local x: number | nil = 42\n   local y: number | nil = nil\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mparser[0m[2m:[0m Parsed variable: y as type nil | number
[INFO] [stdout] [2m2025-11-08T07:42:54.984275Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  local x: number | string = 42\n  local y: number | string = \"hello\"\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mparser[0m[2m:[0m Parsed variable: x
[INFO] [stdout] [2m2025-11-08T07:42:54.984303Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   local x: number | nil = 42\n   local y: number | nil = nil\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984319Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  local x: number | string = 42\n  local y: number | string = \"hello\"\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mparser[0m[2m:[0m Parsed variable: x as type number | string
[INFO] [stdout] [2m2025-11-08T07:42:54.984352Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  local x: number | string = 42\n  local y: number | string = \"hello\"\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984369Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   local x: number | nil = 42\n   local y: number | nil = nil\n   "[1m}[0m[2m:[0m [2mlucid::compiler[0m[2m:[0m Compilation successful
[INFO] [stdout] [2m2025-11-08T07:42:54.984418Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   function process(value: number | string): string\n       return \"processed\"\n   end\n\n   local a = process(42)\n   local b = process(\"test\")\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_stmt[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984417Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  interface Animal\n      name: string\n      age: number\n      speak: function\n  end\n\n  function create_dog(): Animal\n      local dog = {\n          name = \"Buddy\",\n          age = 5,\n          speak = function() end\n      }\n      return dog\n  end\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mparser[0m[2m:[0m Parsed variable: dog
[INFO] [stdout] [2m2025-11-08T07:42:54.984441Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  local x: number | string = 42\n  local y: number | string = \"hello\"\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mparser[0m[2m:[0m Parsed variable: y
[INFO] [stdout] [2m2025-11-08T07:42:54.984463Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  interface Animal\n      name: string\n      age: number\n      speak: function\n  end\n\n  function create_dog(): Animal\n      local dog = {\n          name = \"Buddy\",\n          age = 5,\n          speak = function() end\n      }\n      return dog\n  end\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mparser[0m[2m:[0m Parsed variable: dog as type None
[INFO] [stdout] [2m2025-11-08T07:42:54.984479Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  local x: number | string = 42\n  local y: number | string = \"hello\"\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mparser[0m[2m:[0m Parsed variable: y as type number | string
[INFO] [stdout] [2m2025-11-08T07:42:54.984502Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  local x: number | string = 42\n  local y: number | string = \"hello\"\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] test compiler::tests::test_union_with_nil ... ok
[INFO] [stdout] [2m2025-11-08T07:42:54.984504Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  interface Animal\n      name: string\n      age: number\n      speak: function\n  end\n\n  function create_dog(): Animal\n      local dog = {\n          name = \"Buddy\",\n          age = 5,\n          speak = function() end\n      }\n      return dog\n  end\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984530Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   function process(value: number | string): string\n       return \"processed\"\n   end\n\n   local a = process(42)\n   local b = process(\"test\")\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mparser[0m[2m:[0m Parsed variable: a
[INFO] [stdout] [2m2025-11-08T07:42:54.984556Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  local x: number | string = 42\n  local y: number | string = \"hello\"\n  "[1m}[0m[2m:[0m [2mlucid::compiler[0m[2m:[0m Compilation successful
[INFO] [stdout] [2m2025-11-08T07:42:54.984555Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   function process(value: number | string): string\n       return \"processed\"\n   end\n\n   local a = process(42)\n   local b = process(\"test\")\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mparser[0m[2m:[0m Parsed variable: a as type None
[INFO] [stdout] [2m2025-11-08T07:42:54.984578Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   function process(value: number | string): string\n       return \"processed\"\n   end\n\n   local a = process(42)\n   local b = process(\"test\")\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984576Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  interface Animal\n      name: string\n      age: number\n      speak: function\n  end\n\n  function create_dog(): Animal\n      local dog = {\n          name = \"Buddy\",\n          age = 5,\n          speak = function() end\n      }\n      return dog\n  end\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984601Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   function process(value: number | string): string\n       return \"processed\"\n   end\n\n   local a = process(42)\n   local b = process(\"test\")\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984627Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  interface Animal\n      name: string\n      age: number\n      speak: function\n  end\n\n  function create_dog(): Animal\n      local dog = {\n          name = \"Buddy\",\n          age = 5,\n          speak = function() end\n      }\n      return dog\n  end\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984685Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   function process(value: number | string): string\n       return \"processed\"\n   end\n\n   local a = process(42)\n   local b = process(\"test\")\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mparser[0m[2m:[0m Parsed variable: b
[INFO] [stdout] [2m2025-11-08T07:42:54.984686Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  interface Animal\n      name: string\n      age: number\n      speak: function\n  end\n\n  function create_dog(): Animal\n      local dog = {\n          name = \"Buddy\",\n          age = 5,\n          speak = function() end\n      }\n      return dog\n  end\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984710Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   function process(value: number | string): string\n       return \"processed\"\n   end\n\n   local a = process(42)\n   local b = process(\"test\")\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mparser[0m[2m:[0m Parsed variable: b as type None
[INFO] [stdout] [2m2025-11-08T07:42:54.984715Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  interface Animal\n      name: string\n      age: number\n      speak: function\n  end\n\n  function create_dog(): Animal\n      local dog = {\n          name = \"Buddy\",\n          age = 5,\n          speak = function() end\n      }\n      return dog\n  end\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] test compiler::tests::test_union_types ... ok
[INFO] [stdout] [2m2025-11-08T07:42:54.984736Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   function process(value: number | string): string\n       return \"processed\"\n   end\n\n   local a = process(42)\n   local b = process(\"test\")\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984738Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  interface Animal\n      name: string\n      age: number\n      speak: function\n  end\n\n  function create_dog(): Animal\n      local dog = {\n          name = \"Buddy\",\n          age = 5,\n          speak = function() end\n      }\n      return dog\n  end\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984770Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   function process(value: number | string): string\n       return \"processed\"\n   end\n\n   local a = process(42)\n   local b = process(\"test\")\n   "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984805Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  interface Animal\n      name: string\n      age: number\n      speak: function\n  end\n\n  function create_dog(): Animal\n      local dog = {\n          name = \"Buddy\",\n          age = 5,\n          speak = function() end\n      }\n      return dog\n  end\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_local[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984881Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   function process(value: number | string): string\n       return \"processed\"\n   end\n\n   local a = process(42)\n   local b = process(\"test\")\n   "[1m}[0m[2m:[0m [2mlucid::type_checker[0m[2m:[0m Proper return type checking is not implemented yet
[INFO] [stdout] [2m2025-11-08T07:42:54.984925Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n   function process(value: number | string): string\n       return \"processed\"\n   end\n\n   local a = process(42)\n   local b = process(\"test\")\n   "[1m}[0m[2m:[0m [2mlucid::compiler[0m[2m:[0m Compilation successful
[INFO] [stdout] [2m2025-11-08T07:42:54.984923Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  interface Animal\n      name: string\n      age: number\n      speak: function\n  end\n\n  function create_dog(): Animal\n      local dog = {\n          name = \"Buddy\",\n          age = 5,\n          speak = function() end\n      }\n      return dog\n  end\n  "[1m}[0m[2m:[0m[1mparse_stmt[0m[2m:[0m[1mparse_stmt[0m[2m:[0m [2mlucid::parser[0m[2m:[0m About to call parse_postfix
[INFO] [stdout] [2m2025-11-08T07:42:54.984991Z[0m [33m WARN[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  interface Animal\n      name: string\n      age: number\n      speak: function\n  end\n\n  function create_dog(): Animal\n      local dog = {\n          name = \"Buddy\",\n          age = 5,\n          speak = function() end\n      }\n      return dog\n  end\n  "[1m}[0m[2m:[0m [2mlucid::type_checker[0m[2m:[0m Proper return type checking is not implemented yet
[INFO] [stdout] test compiler::tests::test_union_in_function ... ok
[INFO] [stdout] [2m2025-11-08T07:42:54.985019Z[0m [32m INFO[0m [1mcompile[0m[1m{[0m[3msource[0m[2m=[0m"\n  interface Animal\n      name: string\n      age: number\n      speak: function\n  end\n\n  function create_dog(): Animal\n      local dog = {\n          name = \"Buddy\",\n          age = 5,\n          speak = function() end\n      }\n      return dog\n  end\n  "[1m}[0m[2m:[0m [2mlucid::compiler[0m[2m:[0m Compilation successful
[INFO] [stdout] test compiler::tests::test_interface_with_function ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 37 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3b01f4cbca9f36648ae5d34326d91a9556e35f25a8828c89e698a33b3a26afc3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3b01f4cbca9f36648ae5d34326d91a9556e35f25a8828c89e698a33b3a26afc3", kill_on_drop: false }`
[INFO] [stdout] 3b01f4cbca9f36648ae5d34326d91a9556e35f25a8828c89e698a33b3a26afc3
