File tree Expand file tree Collapse file tree 2 files changed +33
-0
lines changed Expand file tree Collapse file tree 2 files changed +33
-0
lines changed Original file line number Diff line number Diff line change @@ -37,6 +37,7 @@ i11247.scala
3737i11250
3838i9999.scala
3939i12127.scala
40+ 8649.scala
4041
4142# Opaque type
4243i5720.scala
Original file line number Diff line number Diff line change 1+ // This is crazy:
2+ type Get0 = OK [Int , Unit ]
3+ def get0 : Handler [Get0 ] = IO [Unit ]()
4+
5+ case class HandlerAlt [A ](value : Handler [A ])
6+
7+ type Handler [API ] = handler.Go [API ]
8+
9+ case class IO [A ]()
10+ case class OK [A , B ]()
11+
12+ object handler :
13+ // Starter for Handler reduction:
14+ type Go [API ] = API match
15+ case _ =>
16+ HandlerSingle [API ]
17+
18+ type HandlerSingle [X ] = X match
19+ case OK [_, response] =>
20+ IO [response]
21+
22+ object Minimized {
23+ case class HandlerAlt [A ](value : M2 [A ])
24+
25+ type M1 [X ] = X match {
26+ case _ => M2 [X ]
27+ }
28+
29+ type M2 [X ] = X match {
30+ case Int => String
31+ }
32+ }
You can’t perform that action at this time.
0 commit comments