diff options
Diffstat (limited to 'testlabl/poly.exp')
| -rw-r--r-- | testlabl/poly.exp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/testlabl/poly.exp b/testlabl/poly.exp index cc124b6581..ecd8cad5d4 100644 --- a/testlabl/poly.exp +++ b/testlabl/poly.exp @@ -1,4 +1,4 @@ - Objective Caml version 3.10+dev1 (2005-10-26) + Objective Caml version 3.10.1+dev0 (2007-05-21) # * * * # type 'a t = { t : 'a; } # type 'a fold = { fold : 'b. f:('b -> 'a -> 'b) -> init:'b -> 'b; } @@ -219,9 +219,7 @@ This field value has type 'a option ref which is less general than This field value has type 'a option ref option which is less general than 'b. 'b option ref option # val f : < m : 'a. < p : 'a * 'b > as 'b > -> 'c -> unit = <fun> -# val f : - < m : 'a. 'a * (< p : int * 'b > as 'b) > -> - (< p : int * 'c > as 'c) -> unit = <fun> +# val f : < m : 'a. 'a * (< p : int * 'b > as 'b) > -> 'b -> unit = <fun> # type 'a t = [ `A of 'a ] # class c : object method m : ([> 'a t ] as 'a) -> unit end # class c : object method m : ([> 'a t ] as 'a) -> unit end @@ -294,7 +292,7 @@ Constraints are not satisfied in this type. Type ([> `B of 'a ], 'a) b as 'a should be an instance of -(('b, [> `A of ('d, 'c) a as 'd ] as 'c) a as 'b, 'c) b +(('b, [> `A of 'b ] as 'c) a as 'b, 'c) b # class type ['a, 'b] a = object constraint 'a = ('a, 'b) #a @@ -332,11 +330,11 @@ val f : unit -> < m : int; n : int > = <fun> # Characters 11-56: This object is expected to have type c but has actually type < m : int; n : 'a > -Only the second object type has a method n +The first object type has no method n # Characters 11-69: This object is expected to have type < n : int > but has actually type < m : 'a > -Only the first object type has a method n +The second object type has no method n # Characters 66-124: This object is expected to have type < x : int; .. > but has actually type < x : int > @@ -405,7 +403,6 @@ is not included in # - : u -> v = <fun> # Characters 9-21: Type v = [> `A | `B ] is not a subtype of type u = [< `A | `B ] -These two variant types have no intersection # type v = private [< t ] # Characters 9-21: Type u = [< `A | `B ] is not a subtype of type v = [< `A | `B ] @@ -426,7 +423,7 @@ is not a subtype of type < m : 'a. (< p : < a : int >; .. > as 'a) -> int > # Characters 11-55: Type < p : < a : int; b : int >; .. > is not a subtype of type < p : < a : int >; .. > -Only the first object type has a method b +The second object type has no method b # val f5 : < m : 'a. [< `A of < p : int > ] as 'a > -> < m : 'a. [< `A of < > ] as 'a > = <fun> @@ -439,4 +436,4 @@ Type < m : 'a. [< `A of < > ] as 'a > is not a subtype of type # val f : c -> 'a -> 'a = <fun> # val g : c -> 'a -> 'a = <fun> # val h : < id : 'a; .. > -> 'a = <fun> -# +# * * * * * * * * * * * * * * * * * * * |
