summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrian Campbell2017-11-14 15:07:20 +0000
committerBrian Campbell2017-11-14 15:07:20 +0000
commit2479401c4c40eefb58e5c49c716bb4f391736b3b (patch)
tree361f55c49ed7c1cd010d370487645a63c649c1d0 /src
parentcd0213f2b29f4aa99164a123fca9498c76e328fd (diff)
Fix existential union typing problem in monomorphisation
Diffstat (limited to 'src')
-rw-r--r--src/monomorphise.ml3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/monomorphise.ml b/src/monomorphise.ml
index bc3624a7..ab6e10d5 100644
--- a/src/monomorphise.ml
+++ b/src/monomorphise.ml
@@ -392,6 +392,9 @@ let reduce_nexp subst ne =
let typ_of_args args =
match args with
+ | [E_aux (E_tuple args,(_,Some (_,Typ_aux (Typ_exist _,_),_)))] ->
+ let tys = List.map (fun (E_aux (_,(l,annot))) -> snd (env_typ_expected l annot)) args in
+ Typ_aux (Typ_tup tys,Unknown)
| [E_aux (_,(l,annot))] ->
snd (env_typ_expected l annot)
| _ ->