summaryrefslogtreecommitdiffstats
path: root/typing/mtype.ml
diff options
context:
space:
mode:
authorJacques Garrigue <garrigue at math.nagoya-u.ac.jp>2005-09-28 07:18:30 +0000
committerJacques Garrigue <garrigue at math.nagoya-u.ac.jp>2005-09-28 07:18:30 +0000
commit728fbc648eae4ffdde267a7d3a558bd6f61425dc (patch)
treeceac2f51be9cee8845d6baa65ac0d3b72bd09675 /typing/mtype.ml
parentda6305232e05ca1356e9f5e889fcab27720311e3 (diff)
must strengthen private row types
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7091 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'typing/mtype.ml')
-rw-r--r--typing/mtype.ml5
1 files changed, 3 insertions, 2 deletions
diff --git a/typing/mtype.ml b/typing/mtype.ml
index b7b58ae39..ac5e2424a 100644
--- a/typing/mtype.ml
+++ b/typing/mtype.ml
@@ -48,11 +48,12 @@ and strengthen_sig env sg p =
| Tsig_type(id, decl, rs) :: rem ->
let newdecl =
match decl.type_manifest with
- None ->
+ Some ty when not (Btype.has_constr_row ty) -> decl
+ | _ ->
{ decl with type_manifest =
Some(Btype.newgenty(Tconstr(Pdot(p, Ident.name id, nopos),
decl.type_params, ref Mnil))) }
- | _ -> decl in
+ in
Tsig_type(id, newdecl, rs) :: strengthen_sig env rem p
| (Tsig_exception(id, d) as sigelt) :: rem ->
sigelt :: strengthen_sig env rem p