diff options
author | Jacques Garrigue <garrigue at math.nagoya-u.ac.jp> | 2003-01-21 09:06:10 +0000 |
---|---|---|
committer | Jacques Garrigue <garrigue at math.nagoya-u.ac.jp> | 2003-01-21 09:06:10 +0000 |
commit | 38cd3ccbd769be29a4864ba113105df0151cd043 (patch) | |
tree | 492f7753d496610e996d21c6b8c306f1c9843292 | |
parent | e10ee30680bb37b4e46c9d709e5b87918dd417be (diff) |
switch to unification-base moregeneral
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5383 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r-- | testlabl/multimatch.ml | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/testlabl/multimatch.ml b/testlabl/multimatch.ml index 254a1b326..60ac92216 100644 --- a/testlabl/multimatch.ml +++ b/testlabl/multimatch.ml @@ -54,11 +54,11 @@ end = struct let g = g end;; let r = ref [] let f = multifun `A -> r | `B -> ref [];; -(* Bad *) +(* Now OK *) module M : sig val f : [< `A & 'b = int list ref | `B & 'b = 'c list ref] -> 'b end = struct let f = f end;; -(* OK *) +(* Still OK *) let l : int list = r;; module M : sig val f : [< `A & 'b = int list ref | `B & 'b = 'c list ref] -> 'b @@ -68,7 +68,7 @@ end = struct let f = f end;; (* Examples that would need unification *) let f = multifun `A -> (1, []) | `B -> (true, []) let g x = fst (f x);; -(* Should work, but doesn't... *) +(* Didn't work, now Ok *) module M : sig val g : [< `A & 'a * 'b = int * bool | `B & 'a * 'b = bool * int] -> 'a end = struct let g = g end;; |