aboutsummaryrefslogtreecommitdiff
path: root/tests/patmat/i2253.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/patmat/i2253.scala')
-rw-r--r--tests/patmat/i2253.scala29
1 files changed, 26 insertions, 3 deletions
diff --git a/tests/patmat/i2253.scala b/tests/patmat/i2253.scala
index 8394a86df..0344a6a5d 100644
--- a/tests/patmat/i2253.scala
+++ b/tests/patmat/i2253.scala
@@ -1,7 +1,30 @@
sealed trait S
-object O extends S
+
+object BodylessObject extends S
+
+object HasIntM extends S {
+ type M = Int
+}
+
+object HasStringXStringM extends S {
+ type M = String
+ val x: String = ""
+}
+
+object HasIntXStringM extends S {
+ type M = String
+ val x: Int = 0
+}
+
+object HasIntXIntM extends S {
+ type M = Int
+ val x: Int = 0
+}
+
trait T
class Test {
- def m(s: S { val x: Int }) = s match { case _: T => ; }
-} \ No newline at end of file
+ def onlyIntX(s: S { val x: Int }) = s match { case _: T => ; }
+ def exposeAlias1[I <: Int](s: S { type M = I; val x: Int }) = s match { case _: T => ; }
+ def exposeAlias2[I <: Int](s: S { val x: Int; type M = I }) = s match { case _: T => ; }
+}