File tree Expand file tree Collapse file tree 4 files changed +12
-8
lines changed
testsuite/tests/typing-layouts Expand file tree Collapse file tree 4 files changed +12
-8
lines changed Original file line number Diff line number Diff line change @@ -226,8 +226,8 @@ let f : (_ : immediate) -> (_ : value) = fun _ -> assert false
226
226
let g : (_ : value) -> (_ : immediate) = fun _ -> assert false
227
227
228
228
[%% expect {|
229
- val f : 'b ('a : immediate ). 'a -> 'b = < fun>
230
- val g : ('b : immediate ) 'a . 'a -> 'b = < fun>
229
+ val f : ('a : immediate ) 'b . 'a -> 'b = < fun>
230
+ val g : 'a ('b : immediate ). 'a -> 'b = < fun>
231
231
|}]
232
232
233
233
(* *******************************************)
@@ -551,13 +551,13 @@ val f : ('a : immediate). 'a -> 'a = <fun>
551
551
let f = fun x y (type (a : immediate )) (z : a ) -> z
552
552
553
553
[%% expect{|
554
- val f : ('a : immediate ) 'c 'b . 'b -> 'c -> 'a -> 'a = < fun>
554
+ val f : 'b 'c ('a : immediate ). 'b -> 'c -> 'a -> 'a = < fun>
555
555
|}]
556
556
557
557
let f = fun x y (type a : immediate ) (z : a ) -> z
558
558
559
559
[%% expect{|
560
- val f : ('a : immediate ) 'c 'b . 'b -> 'c -> 'a -> 'a = < fun>
560
+ val f : 'b 'c ('a : immediate ). 'b -> 'c -> 'a -> 'a = < fun>
561
561
|}]
562
562
(* CR layouts: canonicalizing the order of quantification here
563
563
would reduce wibbles in error messages *)
@@ -574,7 +574,7 @@ exception E : ('a : immediate) ('b : any). 'b t2_any * 'a list -> exn
574
574
575
575
[%% expect{|
576
576
type (_ : any) t2_any
577
- exception E : ('a : immediate ) ('b : any ). 'b t2_any * 'a list -> exn
577
+ exception E : ('b : any ) ('a : immediate ). 'b t2_any * 'a list -> exn
578
578
|}]
579
579
580
580
Original file line number Diff line number Diff line change @@ -649,7 +649,7 @@ end;;
649
649
module M11_3f :
650
650
sig
651
651
type ('a : float64) t = 'a
652
- val foo : 'b ('a : float64 ). < usefloat : 'a t -> 'b ; .. > -> 'a t -> 'b
652
+ val foo : ('a : float64 ) 'b . < usefloat : 'a t -> 'b ; .. > -> 'a t -> 'b
653
653
end
654
654
| }];;
655
655
@@ -1265,7 +1265,7 @@ let q () =
1265
1265
()
1266
1266
1267
1267
[%% expect{|
1268
- val ( let * ) : 'b ('a : float64 ). 'a -> 'b -> unit = < fun>
1268
+ val ( let * ) : ('a : float64 ) 'b . 'a -> 'b -> unit = < fun>
1269
1269
val ( and * ) : 'a -> 'b -> t_float64 = < fun>
1270
1270
val q : unit -> unit = < fun>
1271
1271
|}]
Original file line number Diff line number Diff line change @@ -1455,7 +1455,7 @@ let q () =
1455
1455
()
1456
1456
1457
1457
[%% expect{|
1458
- val ( let * ) : 'b ('a : float64 ). 'a -> 'b -> unit = < fun>
1458
+ val ( let * ) : ('a : float64 ) 'b . 'a -> 'b -> unit = < fun>
1459
1459
val ( and * ) : 'a -> 'b -> t_float64 = < fun>
1460
1460
val q : unit -> unit = < fun>
1461
1461
|}]
Original file line number Diff line number Diff line change @@ -1549,6 +1549,10 @@ let zap_qtvs_if_boring qtvs =
1549
1549
This implements Case (C3) from Note [When to print jkind annotations]. *)
1550
1550
let extract_qtvs tyl =
1551
1551
let fvs = Ctype. free_non_row_variables_of_list tyl in
1552
+ (* The [Ctype.free*variables] family of functions returns the free
1553
+ variables in reverse order they were encountered in the list of types.
1554
+ *)
1555
+ let fvs = List. rev fvs in
1552
1556
let tfvs = List. map Transient_expr. repr fvs in
1553
1557
let vars_jkinds = tree_of_qtvs tfvs in
1554
1558
zap_qtvs_if_boring vars_jkinds
You can’t perform that action at this time.
0 commit comments