summaryrefslogtreecommitdiff
path: root/test/files/pos/t1381-old.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/pos/t1381-old.scala')
-rw-r--r--test/files/pos/t1381-old.scala31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/files/pos/t1381-old.scala b/test/files/pos/t1381-old.scala
new file mode 100644
index 0000000000..0762891898
--- /dev/null
+++ b/test/files/pos/t1381-old.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)
+}