✓
Passing This code compiles and runs correctly.
Code
// Test: Transitive File Import
//
// Tests that A -> B -> C import chain works at the PARSER/AST level:
// - input.kz imports helper.kz
// - helper.kz imports base.kz
// - ALL THREE modules should appear in the AST JSON output
//
// This test verifies the parser correctly handles transitive imports
const std = @import("std");
// Import helper (which itself imports base)
~import "$app/helper"
Imported Files
// Base module - lowest level in transitive import chain
// This file should appear in AST even though input.kz doesn't directly import it
const std = @import("std");
~pub event double { x: i32 }
| doubled { result: i32 }
~proc double {
const result = x * 2;
return .{ .doubled = .{ .result = result } };
}
// Helper module - middle level in transitive import chain
// Imports base.kz (transitive import)
const std = @import("std");
// TRANSITIVE IMPORT: helper imports base
~import "$app/base"
~pub event quadruple { x: i32 }
| done { result: i32 }