Skip to content
Permalink
Browse files

Fix for si-5577.

  • Loading branch information
axel22 committed May 4, 2012
1 parent f146d58 commit 5ebbfdb144ab58a63cfb34266a1b45bb8468f80a
Showing with 40 additions and 0 deletions.
  1. +2 −0 src/library/scala/collection/mutable/Builder.scala
  2. +11 −0 test/files/run/t5577.check
  3. +27 −0 test/files/run/t5577.scala
@@ -100,6 +100,8 @@ trait Builder[-Elem, +To] extends Growable[Elem] {
def +=(x: Elem): this.type = { self += x; this }
def clear() = self.clear()
override def ++=(xs: TraversableOnce[Elem]): this.type = { self ++= xs; this }
override def sizeHint(size: Int) = self.sizeHint(size)
override def sizeHintBounded(size: Int, boundColl: TraversableLike[_, _]) = self.sizeHintBounded(size, boundColl)
def result: NewTo = f(self.result)
}
}
@@ -0,0 +1,11 @@
Received a size hint: 10
0
1
2
3
4
5
6
7
8
9
@@ -0,0 +1,27 @@



import collection._



object Test {

class AlarmingBuffer[T] extends mutable.ArrayBuffer[T] {
override def sizeHint(x: Int) {
println("Received a size hint: " + x)
super.sizeHint(x)
}
}

def main(args: Array[String]) {
val iteratorBuilder = (new AlarmingBuffer[Int]) mapResult {
res => res.iterator
}

iteratorBuilder.sizeHint(10)
iteratorBuilder ++= (0 until 10)
iteratorBuilder.result.foreach(println)
}

}

0 comments on commit 5ebbfdb

Please sign in to comment.
You can’t perform that action at this time.