summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJosh Suereth <Joshua.Suereth@gmail.com>2012-08-20 09:41:58 -0700
committerJosh Suereth <Joshua.Suereth@gmail.com>2012-08-20 09:41:58 -0700
commitc51d0a8ad9aba128cd317ddbc13f1f49935066f0 (patch)
tree4e9a18a1aff2af3c8a89c6c71e8aab34b1b4e3af /test
parentc32b189a2a2575512d0dc8d91a400d773b53a7f0 (diff)
parentdf9f470f14262b9b1002f022c2620d8c38835805 (diff)
downloadscala-c51d0a8ad9aba128cd317ddbc13f1f49935066f0.tar.gz
scala-c51d0a8ad9aba128cd317ddbc13f1f49935066f0.tar.bz2
scala-c51d0a8ad9aba128cd317ddbc13f1f49935066f0.zip
Merge pull request #1164 from gkossakowski/topic/opt
Compiler optimizations (take 3, hopefully final)
Diffstat (limited to 'test')
-rw-r--r--test/files/pos/specializes-sym-crash.scala26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/files/pos/specializes-sym-crash.scala b/test/files/pos/specializes-sym-crash.scala
new file mode 100644
index 0000000000..c46f435ac4
--- /dev/null
+++ b/test/files/pos/specializes-sym-crash.scala
@@ -0,0 +1,26 @@
+import scala.collection._
+
+trait Foo[+A,
+ +Coll,
+ +This <: GenSeqView[A, Coll] with GenSeqViewLike[A, Coll, This]]
+extends GenSeq[A] with GenSeqLike[A, This] with GenIterableView[A, Coll] with GenIterableViewLike[A, Coll, This] {
+self =>
+
+ trait Transformed[+B] extends GenSeqView[B, Coll] with super.Transformed[B] {
+ def length: Int
+ def apply(idx: Int): B
+ override def toString = viewToString
+ }
+ trait Reversed extends Transformed[A] {
+ override def iterator: Iterator[A] = createReversedIterator
+ def length: Int = self.length
+ def apply(idx: Int): A = self.apply(length - 1 - idx)
+ final override protected[this] def viewIdentifier = "R"
+
+ private def createReversedIterator = {
+ var lst = List[A]()
+ for (elem <- self) lst ::= elem
+ lst.iterator
+ }
+ }
+}