Skip to content

Commit 19abd9f

Browse files
committed
Cleanup and indent.
1 parent ed4f755 commit 19abd9f

File tree

1 file changed

+43
-45
lines changed

1 file changed

+43
-45
lines changed

jscomp/ml/typecore.ml

Lines changed: 43 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -2576,51 +2576,49 @@ and type_expect_ ?type_clash_context ?in_function ?(recarg=Rejected) env sexp ty
25762576
(* Also see PR#7199 for a problem with the following:
25772577
let separate = Env.has_local_constraints env in*)
25782578
let (arg, ty',cty') =
2579-
match () with
2580-
| () ->
2581-
let (cty', force) =
2582-
Typetexp.transl_simple_type_delayed env sty'
2583-
in
2584-
let ty' = cty'.ctyp_type in
2585-
if separate then begin_def ();
2586-
let arg = type_exp env sarg in
2587-
let gen =
2588-
if separate then begin
2589-
end_def ();
2590-
let tv = newvar () in
2591-
let gen = generalizable tv.level arg.exp_type in
2592-
(try unify_var env tv arg.exp_type with Unify trace ->
2593-
raise(Error(arg.exp_loc, env, Expr_type_clash (trace, type_clash_context))));
2594-
gen
2595-
end else true
2596-
in
2597-
begin match arg.exp_desc, !self_coercion, (repr ty').desc with
2598-
| _ when free_variables ~env arg.exp_type = []
2599-
&& free_variables ~env ty' = [] ->
2600-
if not gen && (* first try a single coercion *)
2601-
let snap = snapshot () in
2602-
let ty, _b = enlarge_type env ty' in
2603-
try
2604-
force (); Ctype.unify env arg.exp_type ty; true
2605-
with Unify _ ->
2606-
backtrack snap; false
2607-
then ()
2608-
else begin try
2609-
let force' = subtype env arg.exp_type ty' in
2610-
force (); force' ();
2611-
with Subtype (tr1, tr2) ->
2612-
(* prerr_endline "coercion failed"; *)
2613-
raise(Error(loc, env, Not_subtype(tr1, tr2)))
2614-
end;
2615-
| _ ->
2616-
let ty, b = enlarge_type env ty' in
2617-
force ();
2618-
begin try Ctype.unify env arg.exp_type ty with Unify trace ->
2619-
raise(Error(sarg.pexp_loc, env,
2620-
Coercion_failure(ty', full_expand env ty', trace, b)))
2621-
end
2622-
end;
2623-
(arg, ty', cty')
2579+
let (cty', force) =
2580+
Typetexp.transl_simple_type_delayed env sty'
2581+
in
2582+
let ty' = cty'.ctyp_type in
2583+
if separate then begin_def ();
2584+
let arg = type_exp env sarg in
2585+
let gen =
2586+
if separate then begin
2587+
end_def ();
2588+
let tv = newvar () in
2589+
let gen = generalizable tv.level arg.exp_type in
2590+
(try unify_var env tv arg.exp_type with Unify trace ->
2591+
raise(Error(arg.exp_loc, env, Expr_type_clash (trace, type_clash_context))));
2592+
gen
2593+
end else true
2594+
in
2595+
begin match arg.exp_desc, !self_coercion, (repr ty').desc with
2596+
| _ when free_variables ~env arg.exp_type = []
2597+
&& free_variables ~env ty' = [] ->
2598+
if not gen && (* first try a single coercion *)
2599+
let snap = snapshot () in
2600+
let ty, _b = enlarge_type env ty' in
2601+
try
2602+
force (); Ctype.unify env arg.exp_type ty; true
2603+
with Unify _ ->
2604+
backtrack snap; false
2605+
then ()
2606+
else begin try
2607+
let force' = subtype env arg.exp_type ty' in
2608+
force (); force' ();
2609+
with Subtype (tr1, tr2) ->
2610+
(* prerr_endline "coercion failed"; *)
2611+
raise(Error(loc, env, Not_subtype(tr1, tr2)))
2612+
end;
2613+
| _ ->
2614+
let ty, b = enlarge_type env ty' in
2615+
force ();
2616+
begin try Ctype.unify env arg.exp_type ty with Unify trace ->
2617+
raise(Error(sarg.pexp_loc, env,
2618+
Coercion_failure(ty', full_expand env ty', trace, b)))
2619+
end
2620+
end;
2621+
(arg, ty', cty')
26242622
in
26252623
rue {
26262624
exp_desc = arg.exp_desc;

0 commit comments

Comments
 (0)