@@ -39,9 +39,13 @@ let test_meet_chains_two_vars () =
39
39
T. print new_type_for_var2;
40
40
match T. meet env first_type_for_var2 new_type_for_var2 with
41
41
| Bottom -> assert false
42
- | Ok (meet_ty , env_extension ) ->
42
+ | Ok (meet_result , env_extension ) ->
43
43
Format. eprintf " Env extension:@ %a\n %!" TEE. print env_extension;
44
44
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
45
49
let env = TE. add_equation env (Name. var var2) meet_ty in
46
50
Format. eprintf " Final situation:@ %a\n %!" TE. print env
47
51
@@ -125,7 +129,10 @@ let meet_variants_don't_lose_aliases () =
125
129
T. variant ~const_ctors ~non_const_ctors in
126
130
match T. meet env ty1 ty2 with
127
131
| Bottom -> assert false
128
- | Ok (meet_ty , env_extension ) ->
132
+ | Ok (meet_result , env_extension ) ->
133
+ let meet_ty =
134
+ Meet_result. extract_value meet_result ty1 ty2
135
+ in
129
136
Format. eprintf " @[<hov 2>Meet:@ %a@ /\\ @ %a =>@ %a +@ %a@]@."
130
137
T. print ty1 T. print ty2
131
138
T. print meet_ty TEE. print env_extension;
@@ -135,7 +142,11 @@ let meet_variants_don't_lose_aliases () =
135
142
let t_tag_1 = T. this_naked_immediate Target_imm. one in
136
143
match T. meet env t_get_tag t_tag_1 with
137
144
| Bottom -> assert false
138
- | Ok (tag_meet_ty , tag_meet_env_extension ) ->
145
+ | Ok (tag_meet_result , tag_meet_env_extension ) ->
146
+ let tag_meet_ty =
147
+ Meet_result. extract_value tag_meet_result
148
+ t_get_tag t_tag_1
149
+ in
139
150
Format. eprintf
" t_get_tag: %[email protected] _tag: %a@."
140
151
T. print t_get_tag
141
152
T. print t_tag_1;
@@ -178,13 +189,12 @@ let test_meet_two_blocks () =
178
189
* test block2 block1 env; *)
179
190
180
191
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
192
+ let ty1 = T. alias_type_of K. value (Simple. var b1) in
193
+ let ty2 = T. alias_type_of K. value (Simple. var b2) in
194
+ match T. meet env ty1 ty2 with
186
195
| Bottom -> assert false
187
- | Ok (t , tee ) ->
196
+ | Ok (result , tee ) ->
197
+ let t = Meet_result. extract_value result ty1 ty2 in
188
198
Format. eprintf " Res:@ %a@.%a@."
189
199
T. print t
190
200
TEE. print tee;
0 commit comments