123456789101112131415161718192021222324252627282930313233343536373839404142434445open!ImportincludeField_syntax_intfmoduleTuple=structtypeast=core_typetypet=astletcreate=Fn.idletlocationt=t.ptyp_locletcore_typet=tletpattern_~locpat_list=ppat_tuple~locpat_listletexpression_~locexpr_list=pexp_tuple~locexpr_listendmoduleRecord=structtypeast=label_declarationtypet=astletcreateast=matchast.pld_mutablewith|Immutable->ast|Mutable->(* We intend to support mutable fields and values shortly, but we leave it to a
separate feature. Integrating mutable values with replayability and shrinking is
tricky, and we at least have to figure out what caveats to document. *)unsupported~loc:ast.pld_loc"mutable record field";;letlocationt=t.pld_locletcore_typet=t.pld_typeletpatternlist~locpat_list=letalist=List.map2_exnlistpat_list~f:(funtpat->lident_loct.pld_name,pat)inppat_record~localistClosed;;letexpressionlist~locexpr_list=letalist=List.map2_exnlistexpr_list~f:(funtexpr->lident_loct.pld_name,expr)inpexp_record~localistNone;;end