diff options
author | Jacques Garrigue <garrigue at math.nagoya-u.ac.jp> | 2005-09-28 07:18:30 +0000 |
---|---|---|
committer | Jacques Garrigue <garrigue at math.nagoya-u.ac.jp> | 2005-09-28 07:18:30 +0000 |
commit | 728fbc648eae4ffdde267a7d3a558bd6f61425dc (patch) | |
tree | ceac2f51be9cee8845d6baa65ac0d3b72bd09675 /typing/mtype.ml | |
parent | da6305232e05ca1356e9f5e889fcab27720311e3 (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.ml | 5 |
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 |