✗
Failing This test is currently failing.
Failed: backend
Failure Output
Showing last 10 of 16 lines
error: the following command failed with 1 compilation errors:
/opt/homebrew/Cellar/zig/0.15.2_1/bin/zig build-exe -ODebug --dep backend_output --dep ast --dep ast_json --dep compiler_env --dep ast_functional --dep ast_serializer --dep log --dep emitter_helpers --dep tap_registry --dep runtime_registry --dep tap_transformer --dep template_processor --dep visitor_emitter --dep parser --dep expression_parser --dep comptime_eval --dep emit_build_zig --dep shape_checker --dep flow_checker --dep release_gate --dep phantom_semantic_checker --dep auto_discharge_inserter --dep dead_strip --dep purity_analyzer --dep errors --dep type_registry --dep annotation_parser --dep transform_pass_runner --dep codegen_utils --dep continuation_codegen --dep template_utils --dep liquid --dep struct_literal -Mroot=/Users/larsde/src/koru/tests/regression/200_COMPILER_FEATURES/210_PARSER/210_046_implicit_expression_with_semicolon/backend.zig -ODebug --dep ast --dep regex_engine --dep log --dep emitter_helpers --dep compiler_env --dep tap_registry --dep annotation_parser --dep type_registry --dep codegen_utils --dep transform_pass_runner --dep parser --dep ast_functional --dep flow_checker --dep shape_checker --dep release_gate --dep phantom_semantic_checker --dep auto_discharge_inserter --dep dead_strip --dep purity_analyzer --dep visitor_emitter --dep js_emitter --dep emit_build_zig --dep ast_serializer --dep runtime_registry --dep tap_transformer --dep template_processor --dep expression_parser --dep comptime_eval --dep errors --dep continuation_codegen --dep template_utils --dep liquid --dep struct_literal -Mbackend_output=/Users/larsde/src/koru/tests/regression/200_COMPILER_FEATURES/210_PARSER/210_046_implicit_expression_with_semicolon/backend_output_emitted.zig -ODebug --dep errors -Mast=/Users/larsde/src/koru/src/ast.zig -ODebug --dep ast -Mast_json=/Users/larsde/src/koru/src/ast_json.zig -ODebug -Mcompiler_env=/Users/larsde/src/koru/tests/regression/200_COMPILER_FEATURES/210_PARSER/210_046_implicit_expression_with_semicolon/compiler_env.zig -ODebug --dep ast -Mast_functional=/Users/larsde/src/koru/src/ast_functional.zig -ODebug --dep ast -Mast_serializer=/Users/larsde/src/koru/src/ast_serializer.zig -ODebug -Mlog=/Users/larsde/src/koru/src/log.zig -ODebug --dep ast --dep errors --dep log --dep compiler_config --dep type_registry --dep codegen_utils --dep annotation_parser --dep tap_registry --dep compiler_passes/purity_helpers -Memitter_helpers=/Users/larsde/src/koru/src/emitter_helpers.zig -ODebug --dep ast --dep errors --dep log --dep glob_pattern_matcher -Mtap_registry=/Users/larsde/src/koru/src/tap_registry.zig -ODebug -Mruntime_registry=/Users/larsde/src/koru/src/runtime_registry.zig -ODebug --dep ast --dep log --dep tap_registry --dep emitter_helpers --dep compiler_passes/purity_helpers -Mtap_transformer=/Users/larsde/src/koru/src/tap_transformer.zig -ODebug --dep ast --dep liquid --dep log --dep errors --dep annotation_parser --dep struct_literal -Mtemplate_processor=/Users/larsde/src/koru/src/template_processor.zig -ODebug --dep ast --dep log --dep emitter_helpers --dep tap_registry --dep type_registry --dep annotation_parser --dep codegen_utils --dep file_types --dep comptime_eval -Mvisitor_emitter=/Users/larsde/src/koru/src/visitor_emitter.zig -ODebug --dep ast --dep ast_mangle --dep lexer --dep errors --dep log --dep type_registry --dep expression_parser --dep annotation_parser --dep union_collector --dep module_resolver --dep file_types -Mparser=/Users/larsde/src/koru/src/parser.zig -ODebug --dep lexer --dep ast -Mexpression_parser=/Users/larsde/src/koru/src/expression_parser.zig -ODebug --dep ast --dep expression_parser -Mcomptime_eval=/Users/larsde/src/koru/src/comptime_eval.zig -ODebug -Memit_build_zig=/Users/larsde/src/koru/src/emit_build_zig.zig -ODebug --dep ast --dep errors --dep log --dep phantom_parser --dep type_inference --dep branch_checker -Mshape_checker=/Users/larsde/src/koru/src/shape_checker.zig -ODebug --dep ast --dep errors --dep log --dep branch_checker --dep annotation_parser --dep expression_parser -Mflow_checker=/Users/larsde/src/koru/src/flow_checker.zig -ODebug --dep ast --dep errors -Mrelease_gate=/Users/larsde/src/koru/src/release_gate.zig -ODebug --dep ast --dep errors --dep log --dep phantom_parser -Mphantom_semantic_checker=/Users/larsde/src/koru/src/phantom_semantic_checker.zig -ODebug --dep ast --dep ast_functional --dep errors --dep log --dep phantom_parser -Mauto_discharge_inserter=/Users/larsde/src/koru/src/auto_discharge_inserter.zig -ODebug --dep ast --dep log -Mdead_strip=/Users/larsde/src/koru/src/dead_strip.zig -ODebug --dep ast -Mpurity_analyzer=/Users/larsde/src/koru/src/compiler_passes/purity_analyzer.zig -ODebug -Merrors=/Users/larsde/src/koru/src/errors.zig -ODebug --dep ast --dep log -Mtype_registry=/Users/larsde/src/koru/src/type_registry.zig -ODebug -Mannotation_parser=/Users/larsde/src/koru/src/annotation_parser.zig -ODebug --dep ast --dep log --dep annotation_parser --dep template_utils --dep ast_functional --dep liquid -Mtransform_pass_runner=/Users/larsde/src/koru/src/transform_pass_runner.zig -ODebug -Mcodegen_utils=/Users/larsde/src/koru/src/codegen_utils.zig -ODebug --dep ast --dep codegen_utils -Mcontinuation_codegen=/Users/larsde/src/koru/src/continuation_codegen.zig -ODebug --dep ast -Mtemplate_utils=/Users/larsde/src/koru/src/template_utils.zig -ODebug -Mliquid=/Users/larsde/src/koru/src/liquid.zig -ODebug --dep liquid -Mstruct_literal=/Users/larsde/src/koru/src/struct_literal.zig -ODebug -Mregex_engine=/Users/larsde/src/koru/src/regex_engine.zig -ODebug --dep ast --dep log --dep file_types --dep annotation_parser -Mjs_emitter=/Users/larsde/src/koru/src/js_emitter.zig -ODebug -Mcompiler_config=/Users/larsde/src/koru/src/compiler_config.zig -ODebug --dep ast --dep lexer -Mcompiler_passes/purity_helpers=/Users/larsde/src/koru/src/compiler_passes/purity_helpers.zig -ODebug -Mglob_pattern_matcher=/Users/larsde/src/koru/src/glob_pattern_matcher.zig -ODebug -Mfile_types=/Users/larsde/src/koru/src/file_types.zig -ODebug --dep ast -Mast_mangle=/Users/larsde/src/koru/src/ast_mangle.zig -ODebug -Mlexer=/Users/larsde/src/koru/src/lexer.zig -ODebug --dep ast -Munion_collector=/Users/larsde/src/koru/src/union_collector.zig -ODebug --dep config --dep log --dep file_types -Mmodule_resolver=/Users/larsde/src/koru/src/module_resolver.zig -ODebug -Mphantom_parser=/Users/larsde/src/koru/koru_std/phantom_parser.zig -ODebug --dep ast --dep errors -Mtype_inference=/Users/larsde/src/koru/src/type_inference.zig -ODebug -Mbranch_checker=/Users/larsde/src/koru/src/branch_checker.zig -ODebug --dep log -Mconfig=/Users/larsde/src/koru/src/config.zig -lc --cache-dir .zig-cache --global-cache-dir /var/folders/9k/sprb5df11_79lbnlyttj6sfm0000gn/T/koru-regression-cache --name backend --zig-lib-dir /opt/homebrew/Cellar/zig/0.15.2_1/lib/zig/ --listen=-
Build Summary: 0/3 steps succeeded; 1 failed
install transitive failure
+- install backend transitive failure
+- compile exe backend Debug native 1 errors
error: the following build command failed with exit code 1:
.zig-cache/o/f3d99800ac4fbaa9b5dfe9497df9e623/build /opt/homebrew/Cellar/zig/0.15.2_1/bin/zig /opt/homebrew/Cellar/zig/0.15.2_1/lib/zig /Users/larsde/src/koru/tests/regression/200_COMPILER_FEATURES/210_PARSER/210_046_implicit_expression_with_semicolon .zig-cache /var/folders/9k/sprb5df11_79lbnlyttj6sfm0000gn/T/koru-regression-cache --seed 0x9a925f1f -Z760c40626878d7c5 Code
// Test 210_046: Implicit Expression with Semicolon
// Validates that semicolons inside an Expression parameter are captured as
// part of the opaque text — NOT treated as parser-level separators.
//
// Background: when a DSL author wants multi-part call-site syntax for a
// keyword-like Expression, the convention is to use ';' inside the Expression
// (which the parser captures verbatim), letting ',' remain available as the
// parser-level argument separator. The parser is hypothesised to treat
// implicit Expression as opaque text, splitting only on top-level commas with
// brace/paren counting. This test confirms that hypothesis.
const std = @import("std");
~[comptime|transform]event make-kiss { expr: Expression, program: *const Program, allocator: std.mem.Allocator } -> *const Program
~proc make-kiss|zig {
std.debug.print("Captured: '{s}'\n", .{expr});
return program;
}
// Case 1: single positional Expression containing a semicolon.
// No top-level comma => one arg => entire text captured verbatim.
~make-kiss(Claude -> Codex; because why not)
// Case 2: multi-part DSL using ';' as the in-Expression separator.
~make-kiss(a -> b; c -> d; e -> f)
// Case 3: nested parens with commas inside, semicolons at the top of the
// Expression. Inner commas must be ignored (brace-counting); outer semicolons
// are captured verbatim.
~make-kiss(foo(x, y); bar(p, q))
Flows
flow ~make-kiss click a branch to expand · @labels scroll to their anchor
make-kiss (expr: Claude -> Codex; because why not)
flow ~make-kiss click a branch to expand · @labels scroll to their anchor
make-kiss (expr: a -> b; c -> d; e -> f)
flow ~make-kiss click a branch to expand · @labels scroll to their anchor
make-kiss (expr: foo(x, y); bar(p, q))
Test Configuration
MUST_RUN