Skip to content
This repository was archived by the owner on Jun 15, 2023. It is now read-only.

Commit 9907b82

Browse files
committed
Add outcome printer test for erasure of Js.t
Follow-up of #291
1 parent 98627c2 commit 9907b82

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

tests/oprint/oprint.res

+12-5
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,21 @@ module Diff2 = Diff
2929

3030
type rec tree<'value> =
3131
| Nil
32-
| Node(tree<'value>, 'value, tree<'value>)
32+
| Node(tree<'value>, 'value, tree<'value>)
3333

3434
type intTree = tree<int>
3535

3636
type rec tree2<'value> =
3737
| Niiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiil2
38-
| Noooooooooooooooooooooooooooooooooooode2(tree2<'value>, 'value, tree2<'value>)
38+
| Noooooooooooooooooooooooooooooooooooode2(tree2<'value>, 'value, tree2<'value>)
3939

4040
type rec tree3<'value> =
4141
| Nil3
42-
| Node3({left: tree3<'value>, value: 'value, right: tree3<'value>})
42+
| Node3({left: tree3<'value>, value: 'value, right: tree3<'value>})
4343

4444
type rec tree4<'value> =
4545
| Nil4
46-
| Node4({leeeeeeeeeeeeeeeeeeeeeeeeeeeeft: tree3<'value>, vaaaaaaaaaaaaaaaaaaaaalue: 'value, riiiiiiiiiiiiiiiiiiiiiiight: tree3<'value>})
46+
| Node4({leeeeeeeeeeeeeeeeeeeeeeeeeeeeft: tree3<'value>, vaaaaaaaaaaaaaaaaaaaaalue: 'value, riiiiiiiiiiiiiiiiiiiiiiight: tree3<'value>})
4747

4848
type color = ..
4949

@@ -137,7 +137,7 @@ let computeAreaPlus = (sp: shapePlus) =>
137137

138138
let computeAreaExotic = (sp) =>
139139
switch sp {
140-
| #"R-Triangle+"(_p1, _p2, _p3) => ()
140+
| #"R-Triangle+"(_p1, _p2, _p3) => ()
141141
| #...shape as s => ignore(s); ()
142142
}
143143

@@ -201,6 +201,8 @@ type exoticUser = {
201201
}
202202

203203
module Js = {
204+
type t<'a> = 'a
205+
204206
module Fn = {
205207
type arity0<'a> = {i0: unit => 'a}
206208
type arity1<'a> = {i1: 'a}
@@ -253,3 +255,8 @@ type arity20 = Js.Fn.arity20<(int, int, int, int, int, int, int, int, int, int,
253255
type arity21 = Js.Fn.arity21<(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int) => int>
254256
type arity22 = Js.Fn.arity22<(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int) => int>
255257

258+
type obj1<'a> = option<Js.t<{"a": int}>>
259+
type obj2 = Js.t<{"a": int}>
260+
type obj3 = Js.t<{. "a": int}>
261+
type obj4 = {"a": int}
262+
type obj5<'a> = Js.t<{..} as 'a>

tests/oprint/oprint.res.snapshot

+9-1
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ type \"type" = [#"Point🗿"(\"let", float)]
150150
type t23 = [#"1" | #"10space" | #"123"]
151151
type exoticUser = {\"let": string, \"type": float}
152152
module Js = {
153+
type t<'a> = 'a
153154
module Fn = {
154155
type arity0<'a> = {i0: unit => 'a}
155156
type arity1<'a> = {i1: 'a}
@@ -397,4 +398,11 @@ type arity22 = (.
397398
int,
398399
int,
399400
int,
400-
) => int
401+
) => int
402+
type obj1<'a> = option<{"a": int}>
403+
type obj2 = {"a": int}
404+
type obj3 = {"a": int}
405+
type obj4 = {"a": int}
406+
type obj5<'a> = Js.t<'a>
407+
408+
constraint 'a = {..}

0 commit comments

Comments
 (0)