@@ -39,9 +39,13 @@ let test_meet_chains_two_vars () =
3939 T. print new_type_for_var2;
4040 match T. meet env first_type_for_var2 new_type_for_var2 with
4141 | Bottom -> assert false
42- | Ok (meet_ty , env_extension ) ->
42+ | Ok (meet_result , env_extension ) ->
4343 Format. eprintf " Env extension:@ %a\n %!" TEE. print env_extension;
4444 let env = TE. add_env_extension env env_extension in
45+ let meet_ty =
46+ Meet_result. extract_value meet_result
47+ first_type_for_var2 new_type_for_var2
48+ in
4549 let env = TE. add_equation env (Name. var var2) meet_ty in
4650 Format. eprintf " Final situation:@ %a\n %!" TE. print env
4751
@@ -85,7 +89,11 @@ let test_meet_chains_three_vars () =
8589 T. print new_type_for_var3;
8690 match T. meet env first_type_for_var3 new_type_for_var3 with
8791 | Bottom -> assert false
88- | Ok (meet_ty , env_extension ) ->
92+ | Ok (meet_result , env_extension ) ->
93+ let meet_ty =
94+ Meet_result. extract_value meet_result
95+ first_type_for_var3 new_type_for_var3
96+ in
8997 Format. eprintf " Env extension:@ %a\n %!" TEE. print env_extension;
9098 let env = TE. add_env_extension env env_extension in
9199 let env = TE. add_equation env (Name. var var3) meet_ty in
@@ -125,7 +133,10 @@ let meet_variants_don't_lose_aliases () =
125133 T. variant ~const_ctors ~non_const_ctors in
126134 match T. meet env ty1 ty2 with
127135 | Bottom -> assert false
128- | Ok (meet_ty , env_extension ) ->
136+ | Ok (meet_result , env_extension ) ->
137+ let meet_ty =
138+ Meet_result. extract_value meet_result ty1 ty2
139+ in
129140 Format. eprintf " @[<hov 2>Meet:@ %a@ /\\ @ %a =>@ %a +@ %a@]@."
130141 T. print ty1 T. print ty2
131142 T. print meet_ty TEE. print env_extension;
@@ -135,7 +146,11 @@ let meet_variants_don't_lose_aliases () =
135146 let t_tag_1 = T. this_naked_immediate Target_imm. one in
136147 match T. meet env t_get_tag t_tag_1 with
137148 | Bottom -> assert false
138- | Ok (tag_meet_ty , tag_meet_env_extension ) ->
149+ | Ok (tag_meet_result , tag_meet_env_extension ) ->
150+ let tag_meet_ty =
151+ Meet_result. extract_value tag_meet_result
152+ t_get_tag t_tag_1
153+ in
139154 Format. eprintf
" t_get_tag: %[email protected] _tag: %a@." 140155 T. print t_get_tag
141156 T. print t_tag_1;
@@ -178,13 +193,12 @@ let test_meet_two_blocks () =
178193 * test block2 block1 env; *)
179194
180195 let f b1 b2 =
181- match
182- T. meet env
183- (T. alias_type_of K. value (Simple. var b1))
184- (T. alias_type_of K. value (Simple. var b2))
185- with
196+ let ty1 = T. alias_type_of K. value (Simple. var b1) in
197+ let ty2 = T. alias_type_of K. value (Simple. var b2) in
198+ match T. meet env ty1 ty2 with
186199 | Bottom -> assert false
187- | Ok (t , tee ) ->
200+ | Ok (result , tee ) ->
201+ let t = Meet_result. extract_value result ty1 ty2 in
188202 Format. eprintf " Res:@ %a@.%a@."
189203 T. print t
190204 TEE. print tee;
0 commit comments