program main enum Status variant Ready variant Blocked struct Pair field left: i32 field right: i32 struct CompositeRecord field ints: (vec i32) field wides: (vec i64) field ratios: (vec f64) field flags: (vec bool) field labels: (vec string) field maybe_count: (option i32) field maybe_wide: (option i64) field maybe_ratio: (option f64) field maybe_flag: (option bool) field maybe_label: (option string) field count_result: (result i32 i32) field wide_result: (result i64 i32) field ratio_result: (result f64 i32) field flag_result: (result bool i32) field label_result: (result string i32) field pair: Pair field status: Status fn make_pair(left: i32, right: i32) -> Pair construct Pair field left var left field right var right fn vec_i32_pair(base: i32) -> (vec i32) local let values: (vec i32) call std.vec.i32.empty local let first: (vec i32) call std.vec.i32.append var values var base call std.vec.i32.append var first binary + var base int 1 fn vec_i64_pair(base: i64) -> (vec i64) local let values: (vec i64) call std.vec.i64.empty local let first: (vec i64) call std.vec.i64.append var values var base call std.vec.i64.append var first binary + var base i64 1 fn vec_f64_pair(base: f64) -> (vec f64) local let values: (vec f64) call std.vec.f64.empty local let first: (vec f64) call std.vec.f64.append var values var base call std.vec.f64.append var first binary + var base float 1 fn vec_bool_pair(first: bool, second: bool) -> (vec bool) local let values: (vec bool) call std.vec.bool.empty local let left: (vec bool) call std.vec.bool.append var values var first call std.vec.bool.append var left var second fn vec_string_pair(first: string, second: string) -> (vec string) local let values: (vec string) call std.vec.string.empty local let left: (vec string) call std.vec.string.append var values var first call std.vec.string.append var left var second fn make_record() -> CompositeRecord construct CompositeRecord field ints call vec_i32_pair int 10 field wides call vec_i64_pair i64 100 field ratios call vec_f64_pair float 3.5 field flags call vec_bool_pair bool false bool true field labels call vec_string_pair string "oak" string "elm" field maybe_count some i32 int 7 field maybe_wide some i64 i64 7000000000 field maybe_ratio some f64 float 7.5 field maybe_flag some bool bool true field maybe_label some string string "alpha" field count_result ok i32 i32 int 9 field wide_result ok i64 i32 i64 9000000000 field ratio_result ok f64 i32 float 9.25 field flag_result ok bool i32 bool true field label_result ok string i32 string "beta" field pair call make_pair int 20 int 22 field status enum-variant Status.Ready fn echo_record(record: CompositeRecord) -> CompositeRecord var record fn local_record() -> CompositeRecord local let record: CompositeRecord call make_record call echo_record var record fn ints_second(record: CompositeRecord) -> i32 call std.vec.i32.index field-access ints var record int 1 fn wides_second(record: CompositeRecord) -> i64 call std.vec.i64.index field-access wides var record int 1 fn ratios_second(record: CompositeRecord) -> f64 call std.vec.f64.index field-access ratios var record int 1 fn flags_second(record: CompositeRecord) -> bool call std.vec.bool.index field-access flags var record int 1 fn labels_second(record: CompositeRecord) -> string call std.vec.string.index field-access labels var record int 1 fn maybe_count_value(record: CompositeRecord) -> i32 match subject field-access maybe_count var record arm some payload var payload arm none int 0 fn maybe_wide_value(record: CompositeRecord) -> i64 match subject field-access maybe_wide var record arm some payload var payload arm none i64 0 fn maybe_ratio_value(record: CompositeRecord) -> f64 match subject field-access maybe_ratio var record arm some payload var payload arm none float 0 fn maybe_flag_value(record: CompositeRecord) -> bool match subject field-access maybe_flag var record arm some payload var payload arm none bool false fn maybe_label_value(record: CompositeRecord) -> string match subject field-access maybe_label var record arm some payload var payload arm none string "missing" fn count_result_value(record: CompositeRecord) -> i32 match subject field-access count_result var record arm ok payload var payload arm err code var code fn wide_result_value(record: CompositeRecord) -> i64 match subject field-access wide_result var record arm ok payload var payload arm err code i64 0 fn ratio_result_value(record: CompositeRecord) -> f64 match subject field-access ratio_result var record arm ok payload var payload arm err code float 0 fn flag_result_value(record: CompositeRecord) -> bool match subject field-access flag_result var record arm ok payload var payload arm err code bool false fn label_result_value(record: CompositeRecord) -> string match subject field-access label_result var record arm ok payload var payload arm err code string "missing" fn pair_total(record: CompositeRecord) -> i32 binary + field-access left field-access pair var record field-access right field-access pair var record fn is_ready(record: CompositeRecord) -> bool binary = field-access status var record enum-variant Status.Ready fn main() -> i32 call pair_total call local_record test "struct vec i32 field access" binary = call ints_second call make_record int 11 test "struct vec i64 field access" binary = call wides_second call make_record i64 101 test "struct vec f64 field access" binary = call ratios_second call make_record float 4.5 test "struct vec bool field access" call flags_second call make_record test "struct vec string field access" binary = call labels_second call make_record string "elm" test "struct option i32 field access" binary = call maybe_count_value call make_record int 7 test "struct option i64 field access" binary = call maybe_wide_value call make_record i64 7000000000 test "struct option f64 field access" binary = call maybe_ratio_value call make_record float 7.5 test "struct option bool field access" call maybe_flag_value call make_record test "struct option string field access" binary = call maybe_label_value call make_record string "alpha" test "struct result i32 field access" binary = call count_result_value call make_record int 9 test "struct result i64 field access" binary = call wide_result_value call make_record i64 9000000000 test "struct result f64 field access" binary = call ratio_result_value call make_record float 9.25 test "struct result bool field access" call flag_result_value call make_record test "struct result string field access" binary = call label_result_value call make_record string "beta" test "nested struct field access" binary = call pair_total call make_record int 42 test "nested struct local param return call flow" binary = call pair_total call local_record int 42 test "direct enum struct field equality" call is_ready call make_record