(module main) (struct PrimitiveRecord (id i32) (active bool) (label string)) (fn make_record ((id i32) (label string)) -> PrimitiveRecord (PrimitiveRecord (id id) (active (= id 7)) (label label))) (fn expected_record () -> PrimitiveRecord (make_record 7 "alpha")) (fn inactive_record () -> PrimitiveRecord (PrimitiveRecord (id 3) (active false) (label "beta"))) (fn echo_record ((record PrimitiveRecord)) -> PrimitiveRecord record) (fn local_record ((label string)) -> PrimitiveRecord (let record PrimitiveRecord (make_record 7 label)) (echo_record record)) (fn record_id ((record PrimitiveRecord)) -> i32 (. record id)) (fn record_active ((record PrimitiveRecord)) -> bool (. record active)) (fn record_label ((record PrimitiveRecord)) -> string (. record label)) (fn label_matches ((record PrimitiveRecord) (label string)) -> bool (= (. record label) label)) (fn active_score ((record PrimitiveRecord)) -> i32 (if (. record active) (. record id) 0)) (fn label_len ((record PrimitiveRecord)) -> i32 (std.string.len (. record label))) (test "primitive struct i32 field access" (= (record_id (expected_record)) 7)) (test "primitive struct bool field predicate" (record_active (expected_record))) (test "primitive struct bool field false branch" (= (active_score (inactive_record)) 0)) (test "primitive struct string field equality" (label_matches (expected_record) "alpha")) (test "primitive struct string field length" (= (label_len (expected_record)) 5)) (test "primitive struct local param return call flow" (= (active_score (local_record "alpha")) 7)) (test "primitive struct string field access return" (= (record_label (local_record "alpha")) "alpha")) (fn main () -> i32 (active_score (local_record "alpha")))