summaryrefslogtreecommitdiff
path: root/test/files/pos/bug1292.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-08-27 14:15:03 +0000
committerMartin Odersky <odersky@gmail.com>2007-08-27 14:15:03 +0000
commit44c08fe2e46779d465fd231726b7ee01d27a8c56 (patch)
treea1f513528b379250a4957bfb47ebc1c41773126a /test/files/pos/bug1292.scala
parent6d8a7e73764bfeaeec795e9d4281ca5a87569791 (diff)
downloadscala-44c08fe2e46779d465fd231726b7ee01d27a8c56.tar.gz
scala-44c08fe2e46779d465fd231726b7ee01d27a8c56.tar.bz2
scala-44c08fe2e46779d465fd231726b7ee01d27a8c56.zip
fixed bug1292
Diffstat (limited to 'test/files/pos/bug1292.scala')
-rwxr-xr-xtest/files/pos/bug1292.scala33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/files/pos/bug1292.scala b/test/files/pos/bug1292.scala
new file mode 100755
index 0000000000..83a996d530
--- /dev/null
+++ b/test/files/pos/bug1292.scala
@@ -0,0 +1,33 @@
+trait Foo[T <: Foo[T, Enum], Enum <: Enumeration] {
+ type StV = Enum#Value
+ type Meta = MegaFoo[T, Enum]
+
+ type Slog <: Enumeration
+
+ def getSingleton: Meta
+}
+
+trait MegaFoo[T <: Foo[T, Enum], Enum <: Enumeration] extends Foo[T, Enum] {
+ def doSomething(what: T, misc: StV, dog: Meta#Event) = None
+ abstract class Event
+ object Event
+
+ def stateEnumeration: Slog
+ def se2: Enum
+}
+
+object E extends Enumeration {
+ val A = Value
+ val B = Value
+}
+
+class RFoo extends Foo[RFoo, E.type] {
+ def getSingleton = MegaRFoo
+
+ type Slog = E.type
+}
+
+object MegaRFoo extends RFoo with MegaFoo[RFoo, E.type] {
+ def stateEnumeration = E
+ def se2 = E
+}