summaryrefslogtreecommitdiff
path: root/test/files/pos/bug1381.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2009-08-13 00:51:22 +0000
committerPaul Phillips <paulp@improving.org>2009-08-13 00:51:22 +0000
commitdb202748feb20a7d05473a63e5f2a576fcbbd710 (patch)
tree33d9fe19a3be623505727c26c36bf48a463327e8 /test/files/pos/bug1381.scala
parenta7d94bbd21549d4a449a394a39fabb953302c24c (diff)
downloadscala-db202748feb20a7d05473a63e5f2a576fcbbd710.tar.gz
scala-db202748feb20a7d05473a63e5f2a576fcbbd710.tar.bz2
scala-db202748feb20a7d05473a63e5f2a576fcbbd710.zip
Test for #1381.
Diffstat (limited to 'test/files/pos/bug1381.scala')
-rw-r--r--test/files/pos/bug1381.scala31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/files/pos/bug1381.scala b/test/files/pos/bug1381.scala
new file mode 100644
index 0000000000..b569d7d8bc
--- /dev/null
+++ b/test/files/pos/bug1381.scala
@@ -0,0 +1,31 @@
+import scala.reflect.Manifest
+
+class D[V <: Variable]
+
+class ID[V<:IV] extends D[V] {
+ type E = V#ValueType
+ def index(value:E) : Int = 0
+ // Comment this out to eliminate crash. Or see below
+ def index(values:E*) : Iterable[Int] = null
+}
+
+abstract class Variable {
+ type VT <: Variable
+ def d : D[VT] = null
+}
+
+abstract class PV[T](initval:T) extends Variable {
+ type VT <: PV[T]
+ type ValueType = T
+}
+
+trait IV extends Variable {
+ type ValueType
+}
+
+abstract class EV[T](initval:T) extends PV[T](initval) with IV {
+ type VT <: EV[T]
+ override def d : ID[VT] = null
+ // Comment this out to eliminate crash
+ protected var indx = d.index(initval)
+} \ No newline at end of file