@@ -58,7 +58,7 @@ let assemble_obj_args (labels : External_arg_spec.t list) (args : J.expression
5858 | ({arg_label = Label {name = label; cst = None } } as arg_kind)::labels, arg::args
5959 ->
6060 let accs, eff, assign = aux labels args in
61- let acc, new_eff = Lam_compile_external_call. ocaml_to_js_eff arg_kind arg in
61+ let acc, new_eff = Lam_compile_external_call. ocaml_to_js_eff {arg_label = Label {cst = None }; arg_type = arg_kind.arg_type} arg in
6262 begin match acc with
6363 | Splice2 _
6464 | Splice0 -> assert false
@@ -72,7 +72,7 @@ let assemble_obj_args (labels : External_arg_spec.t list) (args : J.expression
7272 Js_of_lam_option. destruct_optional arg
7373 ~for_sure_none: r
7474 ~for_sure_some: (fun x -> let acc, new_eff = Lam_compile_external_call. ocaml_to_js_eff
75- ({arg_label = External_arg_spec. label label None ; arg_type}) x in
75+ ({arg_label = Label {cst = None } ; arg_type} : External_arg_spec.t_noname ) x in
7676 begin match acc with
7777 | Splice2 _
7878 | Splice0 -> assert false
@@ -111,8 +111,8 @@ let assemble_obj_args (labels : External_arg_spec.t list) (args : J.expression
111111 | None ->
112112 let acc,new_eff =
113113 Lam_compile_external_call. ocaml_to_js_eff
114- {xlabel with arg_label =
115- External_arg_spec. empty_label }
114+ {arg_label =
115+ Empty ; arg_type = xlabel.arg_type }
116116 (Js_of_lam_option. val_from_option arg) in
117117 begin match acc with
118118 | Splice1 v ->
@@ -130,8 +130,10 @@ let assemble_obj_args (labels : External_arg_spec.t list) (args : J.expression
130130 let arg = E. var id in
131131 let acc,new_eff =
132132 Lam_compile_external_call. ocaml_to_js_eff
133- {xlabel with arg_label =
134- External_arg_spec. empty_label}
133+ {arg_label =
134+ Empty ;
135+ arg_type = xlabel.arg_type
136+ }
135137 (Js_of_lam_option. val_from_option arg) in
136138 begin match acc with
137139 | Splice1 v ->
0 commit comments