summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2009-05-09 11:37:19 +0000
committerMartin Odersky <odersky@gmail.com>2009-05-09 11:37:19 +0000
commit931d2d43cdaf37ae644ad5b2ff23d26d4d05498d (patch)
tree2247891c07d2d334642a70993833795b323ecbf4
parent2ea3b94ee2519e01a3e1658909afeb33e7e9ebe2 (diff)
downloadscala-931d2d43cdaf37ae644ad5b2ff23d26d4d05498d.tar.gz
scala-931d2d43cdaf37ae644ad5b2ff23d26d4d05498d.tar.bz2
scala-931d2d43cdaf37ae644ad5b2ff23d26d4d05498d.zip
Removed redundant type parameter for class Buil...
Removed redundant type parameter for class Builder
-rw-r--r--src/library/scala/Array.scala4
-rw-r--r--src/library/scala/Enumeration.scala2
-rw-r--r--src/library/scala/collection/Iterable.scala4
-rw-r--r--src/library/scala/collection/LinearSequence.scala4
-rw-r--r--src/library/scala/collection/Map.scala4
-rw-r--r--src/library/scala/collection/Sequence.scala4
-rw-r--r--src/library/scala/collection/Set.scala2
-rw-r--r--src/library/scala/collection/SortedMap.scala2
-rw-r--r--src/library/scala/collection/Traversable.scala6
-rw-r--r--src/library/scala/collection/Vector.scala4
-rw-r--r--src/library/scala/collection/generic/AddingBuilder.scala2
-rw-r--r--src/library/scala/collection/generic/Builder.scala6
-rw-r--r--src/library/scala/collection/generic/BuilderFactory.scala2
-rw-r--r--src/library/scala/collection/generic/ImmutableMapBuilder.scala2
-rw-r--r--src/library/scala/collection/generic/ImmutableMapFactory.scala2
-rw-r--r--src/library/scala/collection/generic/ImmutableMapTemplate.scala2
-rw-r--r--src/library/scala/collection/generic/LazyBuilder.scala2
-rw-r--r--src/library/scala/collection/generic/MutableMapBuilder.scala2
-rw-r--r--src/library/scala/collection/generic/MutableMapFactory.scala2
-rw-r--r--src/library/scala/collection/generic/MutableMapTemplate.scala4
-rw-r--r--src/library/scala/collection/generic/SetBuilder.scala2
-rw-r--r--src/library/scala/collection/generic/SetFactory.scala2
-rw-r--r--src/library/scala/collection/generic/SetTemplate.scala2
-rw-r--r--src/library/scala/collection/generic/TraversableFactory.scala2
-rw-r--r--src/library/scala/collection/generic/TraversableTemplate.scala4
-rw-r--r--src/library/scala/collection/generic/TraversableView.scala2
-rw-r--r--src/library/scala/collection/generic/TraversableViewTemplate.scala2
-rw-r--r--src/library/scala/collection/immutable/HashMap.scala2
-rw-r--r--src/library/scala/collection/immutable/HashSet.scala2
-rw-r--r--src/library/scala/collection/immutable/Iterable.scala4
-rw-r--r--src/library/scala/collection/immutable/LinearSequence.scala4
-rw-r--r--src/library/scala/collection/immutable/List.scala4
-rw-r--r--src/library/scala/collection/immutable/ListMap.scala2
-rw-r--r--src/library/scala/collection/immutable/ListSet.scala2
-rw-r--r--src/library/scala/collection/immutable/Map.scala2
-rw-r--r--src/library/scala/collection/immutable/Sequence.scala4
-rw-r--r--src/library/scala/collection/immutable/Set.scala2
-rw-r--r--src/library/scala/collection/immutable/SortedMap.scala2
-rw-r--r--src/library/scala/collection/immutable/Stream.scala6
-rw-r--r--src/library/scala/collection/immutable/Traversable.scala4
-rw-r--r--src/library/scala/collection/immutable/TreeMap.scala4
-rw-r--r--src/library/scala/collection/immutable/TreeSet.scala4
-rw-r--r--src/library/scala/collection/immutable/Vector.scala4
-rw-r--r--src/library/scala/collection/mutable/ArrayBuffer.scala6
-rw-r--r--src/library/scala/collection/mutable/Buffer.scala4
-rw-r--r--src/library/scala/collection/mutable/DoubleLinkedList.scala4
-rw-r--r--src/library/scala/collection/mutable/HashMap.scala2
-rw-r--r--src/library/scala/collection/mutable/HashSet.scala2
-rw-r--r--src/library/scala/collection/mutable/Iterable.scala4
-rw-r--r--src/library/scala/collection/mutable/LinearSequence.scala4
-rw-r--r--src/library/scala/collection/mutable/LinkedList.scala4
-rw-r--r--src/library/scala/collection/mutable/ListBuffer.scala6
-rw-r--r--src/library/scala/collection/mutable/Map.scala2
-rw-r--r--src/library/scala/collection/mutable/MutableList.scala2
-rw-r--r--src/library/scala/collection/mutable/ResizableArray.scala4
-rw-r--r--src/library/scala/collection/mutable/Sequence.scala4
-rw-r--r--src/library/scala/collection/mutable/Set.scala2
-rw-r--r--src/library/scala/collection/mutable/StringBuilder.scala2
-rw-r--r--src/library/scala/collection/mutable/SynchronizedMap.scala4
-rw-r--r--src/library/scala/collection/mutable/Traversable.scala4
-rw-r--r--src/library/scala/collection/mutable/Vector.scala4
-rw-r--r--src/library/scala/runtime/BoxedArray.scala2
-rw-r--r--src/library/scala/runtime/RichString.scala3
-rw-r--r--src/library/scala/xml/NodeSeq.scala2
64 files changed, 100 insertions, 101 deletions
diff --git a/src/library/scala/Array.scala b/src/library/scala/Array.scala
index 282885f0bb..6336a774c6 100644
--- a/src/library/scala/Array.scala
+++ b/src/library/scala/Array.scala
@@ -27,7 +27,7 @@ object Array extends SequenceFactory[Array] {
type Coll = Array[_]
implicit def builderFactory[A]: BuilderFactory[A, Array[A], Coll] = new BuilderFactory[A, Array[A], Coll] { def apply(from: Coll) = newBuilder[A] }
- def newBuilder[A]: Builder[A, Array[A], Any] = new ArrayBuffer[A].mapResult(_.toArray)
+ def newBuilder[A]: Builder[A, Array[A]] = new ArrayBuffer[A].mapResult(_.toArray)
private def slowcopy(
src : AnyRef,
@@ -248,7 +248,7 @@ object Array extends SequenceFactory[Array] {
*/
final class Array[A](_length: Int) extends Vector[A] with VectorTemplate[A, Array[A]] {
- override protected[this] def newBuilder: Builder[A, Array[A], Any] = throw new Error()
+ override protected[this] def newBuilder: Builder[A, Array[A]] = throw new Error()
/** Multidimensional array creation
* @deprecated use Array.ofDim instead
diff --git a/src/library/scala/Enumeration.scala b/src/library/scala/Enumeration.scala
index 6a9e1331b1..d88ac05789 100644
--- a/src/library/scala/Enumeration.scala
+++ b/src/library/scala/Enumeration.scala
@@ -232,7 +232,7 @@ abstract class Enumeration(initial: Int, names: String*) {
s
}
/** A builder object for value sets */
- def newBuilder: Builder[Value, ValueSet, Any] = new AddingBuilder(empty)
+ def newBuilder: Builder[Value, ValueSet] = new AddingBuilder(empty)
/** The implicit builder for value sets */
implicit def builderFactory: BuilderFactory[Value, ValueSet, ValueSet] = new BuilderFactory[Value, ValueSet, ValueSet] { def apply(from: ValueSet) = newBuilder }
}
diff --git a/src/library/scala/collection/Iterable.scala b/src/library/scala/collection/Iterable.scala
index 501f08b15b..42b6c5afe7 100644
--- a/src/library/scala/collection/Iterable.scala
+++ b/src/library/scala/collection/Iterable.scala
@@ -33,7 +33,7 @@ import generic._
*/
trait Iterable[+A] extends Traversable[A] with IterableTemplate[A, Iterable[A]] {
override protected[this] def newBuilder = Iterable.newBuilder
- override def traversableBuilder[B]: Builder[B, Iterable[B], Any] = Iterable.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Iterable[B]] = Iterable.newBuilder[B]
/* The following methods are inherited from trait IterableTemplate
*
@@ -51,7 +51,7 @@ object Iterable extends TraversableFactory[Iterable] {
type Coll = Iterable[_]
implicit def builderFactory[A]: BuilderFactory[A, Iterable[A], Coll] = new BuilderFactory[A, Iterable[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, Iterable[A], Any] = immutable.Iterable.newBuilder[A]
+ def newBuilder[A]: Builder[A, Iterable[A]] = immutable.Iterable.newBuilder[A]
def fromOld[A](it: scala.Iterable[A]): Iterable[A] = new Iterable[A] {
def elements: Iterator[A] = Iterator.fromOld(it.elements)
diff --git a/src/library/scala/collection/LinearSequence.scala b/src/library/scala/collection/LinearSequence.scala
index e6504376dc..aed1b88a9a 100644
--- a/src/library/scala/collection/LinearSequence.scala
+++ b/src/library/scala/collection/LinearSequence.scala
@@ -28,11 +28,11 @@ import util.control.Breaks._
*/
trait LinearSequence[+A] extends Sequence[A] with LinearSequenceTemplate[A, LinearSequence[A]] {
override protected[this] def newBuilder = LinearSequence.newBuilder
- override def traversableBuilder[B]: Builder[B, LinearSequence[B], Any] = LinearSequence.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, LinearSequence[B]] = LinearSequence.newBuilder[B]
}
object LinearSequence extends SequenceFactory[LinearSequence] {
type Coll = LinearSequence[_]
implicit def builderFactory[A]: BuilderFactory[A, LinearSequence[A], Coll] = new BuilderFactory[A, LinearSequence[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, LinearSequence[A], Any] = immutable.LinearSequence.newBuilder[A]
+ def newBuilder[A]: Builder[A, LinearSequence[A]] = immutable.LinearSequence.newBuilder[A]
}
diff --git a/src/library/scala/collection/Map.scala b/src/library/scala/collection/Map.scala
index 66c8a78666..c395bd85e3 100644
--- a/src/library/scala/collection/Map.scala
+++ b/src/library/scala/collection/Map.scala
@@ -38,10 +38,10 @@ import generic._
trait Map[A, +B] extends Iterable[(A, B)] with MapTemplate[A, B, Map[A, B]] {
def empty: Map[A, B] = Map.empty
- override protected[this] def newBuilder : Builder[(A, B), Map[A, B], Any] =
+ override protected[this] def newBuilder : Builder[(A, B), Map[A, B]] =
throw new UnsupportedOperationException("Map.newBuilder")
- def mapBuilder[A, B]: Builder[(A, B), Map[A, B], Any] = Map.newBuilder[A, B]
+ def mapBuilder[A, B]: Builder[(A, B), Map[A, B]] = Map.newBuilder[A, B]
}
/* Factory object for `Map` class */
diff --git a/src/library/scala/collection/Sequence.scala b/src/library/scala/collection/Sequence.scala
index 8e099a2d63..5391a89997 100644
--- a/src/library/scala/collection/Sequence.scala
+++ b/src/library/scala/collection/Sequence.scala
@@ -30,14 +30,14 @@ import util.control.Breaks._
*/
trait Sequence[+A] extends PartialFunction[Int, A] with Iterable[A] with SequenceTemplate[A, Sequence[A]] {
override protected[this] def newBuilder = Sequence.newBuilder
- override def traversableBuilder[B]: Builder[B, Sequence[B], Any] = Sequence.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Sequence[B]] = Sequence.newBuilder[B]
}
object Sequence extends SequenceFactory[Sequence] {
type Coll = Sequence[_]
implicit def builderFactory[A]: BuilderFactory[A, Sequence[A], Coll] = new BuilderFactory[A, Sequence[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, Sequence[A], Any] = immutable.Sequence.newBuilder[A]
+ def newBuilder[A]: Builder[A, Sequence[A]] = immutable.Sequence.newBuilder[A]
/** @deprecated use View instead
*/
diff --git a/src/library/scala/collection/Set.scala b/src/library/scala/collection/Set.scala
index 44d6c159f3..16cfbf3a1b 100644
--- a/src/library/scala/collection/Set.scala
+++ b/src/library/scala/collection/Set.scala
@@ -23,7 +23,7 @@ import generic._
*/
trait Set[A] extends (A => Boolean) with Iterable[A] with SetTemplate[A, Set[A]] {
def empty = Set.empty
- override def traversableBuilder[B]: Builder[B, Set[B], Any] = Set.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Set[B]] = Set.newBuilder[B]
}
/* Factory object for `Set` class */
diff --git a/src/library/scala/collection/SortedMap.scala b/src/library/scala/collection/SortedMap.scala
index 55eab25648..b2f44ebbac 100644
--- a/src/library/scala/collection/SortedMap.scala
+++ b/src/library/scala/collection/SortedMap.scala
@@ -20,7 +20,7 @@ import generic._
trait SortedMap[A, +B] extends Map[A, B] with SortedMapTemplate[A, B, SortedMap[A, B]] {
/** Needs to be overridden in subclasses. */
override def empty: SortedMap[A, B] = throw new UnsupportedOperationException("SortedMap.empty")
- override protected[this] def newBuilder : Builder[(A, B), SortedMap[A, B], Any] =
+ override protected[this] def newBuilder : Builder[(A, B), SortedMap[A, B]] =
throw new UnsupportedOperationException("SortedMap.newBuilder")
}
diff --git a/src/library/scala/collection/Traversable.scala b/src/library/scala/collection/Traversable.scala
index dc29ee4945..1b29f9efd1 100644
--- a/src/library/scala/collection/Traversable.scala
+++ b/src/library/scala/collection/Traversable.scala
@@ -27,7 +27,7 @@ import generic._
*/
trait Traversable[+A] extends TraversableTemplate[A, Traversable[A]] {
protected[this] def newBuilder = Traversable.newBuilder
- def traversableBuilder[B]: Builder[B, Traversable[B], Any] = Traversable.newBuilder[B]
+ def traversableBuilder[B]: Builder[B, Traversable[B]] = Traversable.newBuilder[B]
/* The following methods are inherited from TraversableTemplate
*
@@ -95,7 +95,7 @@ object Traversable extends TraversableFactory[Traversable] { self =>
type Coll = Traversable[_]
implicit def builderFactory[A]: BuilderFactory[A, Traversable[A], Coll] = new BuilderFactory[A, Traversable[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, Traversable[A], Any] = immutable.Traversable.newBuilder[A]
+ def newBuilder[A]: Builder[A, Traversable[A]] = immutable.Traversable.newBuilder[A]
/** A wrapper class which adds `min` and `max` methods to iterables of an element type that has an Ordering.
*/
@@ -154,7 +154,7 @@ object Traversable extends TraversableFactory[Traversable] { self =>
/** Returns the transposition of the wrapped iterable `self`: rows become columns and columns become rows.
*/
def transpose[Row, That](implicit bf: BuilderFactory[A, Row, This], bbf: BuilderFactory[Row, That, This]): That = {
- val bs: Array[Builder[A, Row, This]] = self.head.map(_ => bf(self))(Traversable.builderFactory[Builder[A, Row, This]]).toArray
+ val bs: Array[Builder[A, Row]] = self.head.map(_ => bf(self))(Traversable.builderFactory[Builder[A, Row]]).toArray
for (xs <- self) {
var i = 0
for (x <- xs) {
diff --git a/src/library/scala/collection/Vector.scala b/src/library/scala/collection/Vector.scala
index 9010f01a1e..7ac579283c 100644
--- a/src/library/scala/collection/Vector.scala
+++ b/src/library/scala/collection/Vector.scala
@@ -23,11 +23,11 @@ import mutable.ArrayBuffer
*/
trait Vector[+A] extends Sequence[A] with VectorTemplate[A, Vector[A]] {
override protected[this] def newBuilder = Vector.newBuilder
- override def traversableBuilder[B]: Builder[B, Vector[B], Any] = Vector.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Vector[B]] = Vector.newBuilder[B]
}
object Vector extends SequenceFactory[Vector] {
type Coll = Vector[_]
implicit def builderFactory[A]: BuilderFactory[A, Vector[A], Coll] = new BuilderFactory[A, Vector[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, Vector[A], Any] = mutable.Vector.newBuilder[A]
+ def newBuilder[A]: Builder[A, Vector[A]] = mutable.Vector.newBuilder[A]
}
diff --git a/src/library/scala/collection/generic/AddingBuilder.scala b/src/library/scala/collection/generic/AddingBuilder.scala
index 3b44e70a6a..40e8fb2862 100644
--- a/src/library/scala/collection/generic/AddingBuilder.scala
+++ b/src/library/scala/collection/generic/AddingBuilder.scala
@@ -18,7 +18,7 @@ package scala.collection.generic
* @param empty The empty element of the collection.
*/
class AddingBuilder[A, Coll <: Addable[A, Coll] with Iterable[A] with IterableTemplate[A, Coll]](empty: Coll)
-extends Builder[A, Coll, Any] {
+extends Builder[A, Coll] {
protected var elems: Coll = empty
def +=(x: A) { elems = elems + x }
def clear() { elems = empty }
diff --git a/src/library/scala/collection/generic/Builder.scala b/src/library/scala/collection/generic/Builder.scala
index 686e684cf3..0c826c8976 100644
--- a/src/library/scala/collection/generic/Builder.scala
+++ b/src/library/scala/collection/generic/Builder.scala
@@ -15,7 +15,7 @@ package scala.collection.generic
* to the builder with += and then converting to the required collection type with
* `result`.
*/
-trait Builder[-Elem, +To, -From] extends Growable[Elem] {
+trait Builder[-Elem, +To] extends Growable[Elem] {
/** Adds a single element to the builder.
* @param elem The element to be added
@@ -39,8 +39,8 @@ trait Builder[-Elem, +To, -From] extends Growable[Elem] {
* a given function is applied to the current builder's result.
* @param f the function to apply to the builder's result
*/
- def mapResult[NewTo](f: To => NewTo): Builder[Elem, NewTo, From] =
- new Builder[Elem, NewTo, From] with Proxy {
+ def mapResult[NewTo](f: To => NewTo): Builder[Elem, NewTo] =
+ new Builder[Elem, NewTo] with Proxy {
val self = Builder.this
def +=(x: Elem) = self += x
def clear() = self.clear()
diff --git a/src/library/scala/collection/generic/BuilderFactory.scala b/src/library/scala/collection/generic/BuilderFactory.scala
index 40bee09e43..2d2bf01f30 100644
--- a/src/library/scala/collection/generic/BuilderFactory.scala
+++ b/src/library/scala/collection/generic/BuilderFactory.scala
@@ -15,5 +15,5 @@ package scala.collection.generic
trait BuilderFactory[-Elem, +To, -From] {
/** Creates a new builder */
- def apply(from: From): Builder[Elem, To, From]
+ def apply(from: From): Builder[Elem, To]
}
diff --git a/src/library/scala/collection/generic/ImmutableMapBuilder.scala b/src/library/scala/collection/generic/ImmutableMapBuilder.scala
index 028311e7e2..337d7d14d1 100644
--- a/src/library/scala/collection/generic/ImmutableMapBuilder.scala
+++ b/src/library/scala/collection/generic/ImmutableMapBuilder.scala
@@ -18,7 +18,7 @@ package scala.collection.generic
* @param empty The empty element of the collection.
*/
class ImmutableMapBuilder[A, B, Coll <: immutable.Map[A, B] with MapTemplate[A, B, Coll]](empty: Coll)
-extends Builder[(A, B), Coll, Any] {
+extends Builder[(A, B), Coll] {
protected var elems: Coll = empty
def +=(x: (A, B)) { elems = (elems + x).asInstanceOf[Coll] }
def clear() { elems = empty }
diff --git a/src/library/scala/collection/generic/ImmutableMapFactory.scala b/src/library/scala/collection/generic/ImmutableMapFactory.scala
index 54d4c90824..51758fe8c2 100644
--- a/src/library/scala/collection/generic/ImmutableMapFactory.scala
+++ b/src/library/scala/collection/generic/ImmutableMapFactory.scala
@@ -4,7 +4,7 @@ package scala.collection.generic
*/
abstract class ImmutableMapFactory[CC[A, +B] <: immutable.Map[A, B] with MapTemplate[A, B, CC[A, B]]] {
- def newBuilder[A, B]: Builder[(A, B), CC[A, B], Any] = new ImmutableMapBuilder[A, B, CC[A, B]](empty[A, B])
+ def newBuilder[A, B]: Builder[(A, B), CC[A, B]] = new ImmutableMapBuilder[A, B, CC[A, B]](empty[A, B])
def empty[A, B]: CC[A, B]
diff --git a/src/library/scala/collection/generic/ImmutableMapTemplate.scala b/src/library/scala/collection/generic/ImmutableMapTemplate.scala
index 5600996ae8..cfb602fc21 100644
--- a/src/library/scala/collection/generic/ImmutableMapTemplate.scala
+++ b/src/library/scala/collection/generic/ImmutableMapTemplate.scala
@@ -31,7 +31,7 @@ trait ImmutableMapTemplate[A, +B, +This <: ImmutableMapTemplate[A, B, This] with
extends MapTemplate[A, B, This] {
self =>
- override protected[this] def newBuilder: Builder[(A, B), This, Any] = new ImmutableMapBuilder[A, B, This](empty)
+ override protected[this] def newBuilder: Builder[(A, B), This] = new ImmutableMapBuilder[A, B, This](empty)
/** This function transforms all the values of mappings contained
* in this map with function <code>f</code>.
diff --git a/src/library/scala/collection/generic/LazyBuilder.scala b/src/library/scala/collection/generic/LazyBuilder.scala
index fd9ddd33ef..88d8f8d8c8 100644
--- a/src/library/scala/collection/generic/LazyBuilder.scala
+++ b/src/library/scala/collection/generic/LazyBuilder.scala
@@ -16,7 +16,7 @@ import mutable.ListBuffer
/** A builder that constructs its result lazily. Iterators or iterables to
* be added to this builder with `++=` are not evaluated until `result` is called.
*/
-abstract class LazyBuilder[Elem, +To, -From] extends Builder[Elem, To, From] {
+abstract class LazyBuilder[Elem, +To] extends Builder[Elem, To] {
/** The different segments of elements to be added to the builder, represented as iterators */
protected var parts = new ListBuffer[Traversable[Elem]]
def +=(x: Elem) = { parts += List(x) }
diff --git a/src/library/scala/collection/generic/MutableMapBuilder.scala b/src/library/scala/collection/generic/MutableMapBuilder.scala
index 04b3066bdb..7e64543214 100644
--- a/src/library/scala/collection/generic/MutableMapBuilder.scala
+++ b/src/library/scala/collection/generic/MutableMapBuilder.scala
@@ -18,7 +18,7 @@ package scala.collection.generic
* @param empty The empty element of the collection.
*/
class MutableMapBuilder[A, B, Coll <: mutable.Map[A, B] with MapTemplate[A, B, Coll]](empty: Coll)
-extends Builder[(A, B), Coll, Any] {
+extends Builder[(A, B), Coll] {
protected var elems: Coll = empty
def +=(x: (A, B)) { elems += x }
def clear() { elems = empty }
diff --git a/src/library/scala/collection/generic/MutableMapFactory.scala b/src/library/scala/collection/generic/MutableMapFactory.scala
index 9c15d5ceec..9b3ccf7221 100644
--- a/src/library/scala/collection/generic/MutableMapFactory.scala
+++ b/src/library/scala/collection/generic/MutableMapFactory.scala
@@ -4,7 +4,7 @@ package scala.collection.generic
*/
abstract class MutableMapFactory[CC[A, B] <: mutable.Map[A, B] with MutableMapTemplate[A, B, CC[A, B]]] {
- def newBuilder[A, B]: Builder[(A, B), CC[A, B], Any] = new MutableMapBuilder(empty[A, B])
+ def newBuilder[A, B]: Builder[(A, B), CC[A, B]] = new MutableMapBuilder(empty[A, B])
def empty[A, B]: CC[A, B]
diff --git a/src/library/scala/collection/generic/MutableMapTemplate.scala b/src/library/scala/collection/generic/MutableMapTemplate.scala
index 989e29aa0d..fc622ab578 100644
--- a/src/library/scala/collection/generic/MutableMapTemplate.scala
+++ b/src/library/scala/collection/generic/MutableMapTemplate.scala
@@ -29,13 +29,13 @@ package scala.collection.generic
*/
trait MutableMapTemplate[A, B, +This <: MutableMapTemplate[A, B, This] with mutable.Map[A, B]]
extends MapTemplate[A, B, This]
- with Builder[(A, B), This, Any]
+ with Builder[(A, B), This]
with Growable[(A, B)]
with Shrinkable[A]
with Cloneable[This]
{ self =>
- override protected[this] def newBuilder: Builder[(A, B), This, Any] = new MutableMapBuilder[A, B, This](empty.asInstanceOf[This]) // !!! concrete overrides abstract problem
+ override protected[this] def newBuilder: Builder[(A, B), This] = new MutableMapBuilder[A, B, This](empty.asInstanceOf[This]) // !!! concrete overrides abstract problem
/** This method allows one to add a new mapping from <code>key</code>
* to <code>value</code> to the map. If the map already contains a
diff --git a/src/library/scala/collection/generic/SetBuilder.scala b/src/library/scala/collection/generic/SetBuilder.scala
index ab8f1bee73..30456ff38d 100644
--- a/src/library/scala/collection/generic/SetBuilder.scala
+++ b/src/library/scala/collection/generic/SetBuilder.scala
@@ -18,7 +18,7 @@ package scala.collection.generic
* @param empty The empty element of the collection.
*/
class SetBuilder[A, Coll <: Addable[A, Coll] with Iterable[A] with IterableTemplate[A, Coll]](empty: Coll)
-extends Builder[A, Coll, Any] {
+extends Builder[A, Coll] {
protected var elems: Coll = empty
def +=(x: A) { elems = elems + x }
def clear() { elems = empty }
diff --git a/src/library/scala/collection/generic/SetFactory.scala b/src/library/scala/collection/generic/SetFactory.scala
index a2caa99432..ea7bb69192 100644
--- a/src/library/scala/collection/generic/SetFactory.scala
+++ b/src/library/scala/collection/generic/SetFactory.scala
@@ -4,7 +4,7 @@ package scala.collection.generic
*/
abstract class SetFactory[CC[A] <: Set[A] with SetTemplate[A, CC[A]]] {
- def newBuilder[A]: Builder[A, CC[A], Any] = new AddingBuilder[A, CC[A]](empty[A])
+ def newBuilder[A]: Builder[A, CC[A]] = new AddingBuilder[A, CC[A]](empty[A])
def empty[A]: CC[A]
diff --git a/src/library/scala/collection/generic/SetTemplate.scala b/src/library/scala/collection/generic/SetTemplate.scala
index 865d4a333b..ae339c9077 100644
--- a/src/library/scala/collection/generic/SetTemplate.scala
+++ b/src/library/scala/collection/generic/SetTemplate.scala
@@ -30,7 +30,7 @@ trait SetTemplate[A, +This <: SetTemplate[A, This] with Set[A]] extends Iterable
def empty: This
- override protected[this] def newBuilder: Builder[A, This, Any] = new AddingBuilder[A, This](empty)
+ override protected[this] def newBuilder: Builder[A, This] = new AddingBuilder[A, This](empty)
/** Checks if this set contains element <code>elem</code>.
*
diff --git a/src/library/scala/collection/generic/TraversableFactory.scala b/src/library/scala/collection/generic/TraversableFactory.scala
index 244e0859a1..e1d4f4bc24 100644
--- a/src/library/scala/collection/generic/TraversableFactory.scala
+++ b/src/library/scala/collection/generic/TraversableFactory.scala
@@ -6,7 +6,7 @@ abstract class TraversableFactory[CC[A] <: Traversable[A]] {
/** The builder for this kind of collection.
*/
- def newBuilder[A]: Builder[A, CC[A], Any]
+ def newBuilder[A]: Builder[A, CC[A]]
/** The empty iterable of type CC */
def empty[A]: CC[A] = newBuilder[A].result
diff --git a/src/library/scala/collection/generic/TraversableTemplate.scala b/src/library/scala/collection/generic/TraversableTemplate.scala
index 7378abda51..95bc524bb4 100644
--- a/src/library/scala/collection/generic/TraversableTemplate.scala
+++ b/src/library/scala/collection/generic/TraversableTemplate.scala
@@ -31,7 +31,7 @@ self =>
/** Create a new builder for this traversable type.
*/
- protected[this] def newBuilder: Builder[A, This, Any]
+ protected[this] def newBuilder: Builder[A, This]
/** Is this collection empty?
*/
@@ -156,7 +156,7 @@ self =>
* return a new collection.
*/
def groupBy[K](f: A => K): Map[K, This] = {
- var m = Map[K, Builder[A, This, Any]]()
+ var m = Map[K, Builder[A, This]]()
for (elem <- this) {
val key = f(elem)
val bldr = m get key match {
diff --git a/src/library/scala/collection/generic/TraversableView.scala b/src/library/scala/collection/generic/TraversableView.scala
index 19dfc7e447..939dc5b032 100644
--- a/src/library/scala/collection/generic/TraversableView.scala
+++ b/src/library/scala/collection/generic/TraversableView.scala
@@ -18,7 +18,7 @@ import TraversableView.NoBuilder
trait TraversableView[+A, +Coll <: Traversable[_]] extends TraversableViewTemplate[A, Coll, TraversableView[A, Coll]]
object TraversableView {
- class NoBuilder[A] extends Builder[A, Nothing, TraversableView[_, _]] {
+ class NoBuilder[A] extends Builder[A, Nothing] {
def +=(elem: A) {}
def elements: Iterator[A] = Iterator.empty
def result() = throw new UnsupportedOperationException("TraversableView.Builder.result")
diff --git a/src/library/scala/collection/generic/TraversableViewTemplate.scala b/src/library/scala/collection/generic/TraversableViewTemplate.scala
index c235c20360..dd38fe98b8 100644
--- a/src/library/scala/collection/generic/TraversableViewTemplate.scala
+++ b/src/library/scala/collection/generic/TraversableViewTemplate.scala
@@ -21,7 +21,7 @@ trait TraversableViewTemplate[+A,
extends Traversable[A] with TraversableTemplate[A, This] {
self =>
- override protected[this] def newBuilder: Builder[A, This, Any] =
+ override protected[this] def newBuilder: Builder[A, This] =
throw new UnsupportedOperationException(this+".newBuilder")
protected def underlying: Coll
diff --git a/src/library/scala/collection/immutable/HashMap.scala b/src/library/scala/collection/immutable/HashMap.scala
index 1c1cfbe929..6a515e829c 100644
--- a/src/library/scala/collection/immutable/HashMap.scala
+++ b/src/library/scala/collection/immutable/HashMap.scala
@@ -37,7 +37,7 @@ class HashMap[A, +B] extends Map[A,B] with ImmutableMapTemplate[A, B, HashMap[A,
protected var deltaSize: Int = _
override def empty = HashMap.empty[A, B]
- override def mapBuilder[A, B]: Builder[(A, B), HashMap[A, B], Any] = HashMap.newBuilder[A, B]
+ override def mapBuilder[A, B]: Builder[(A, B), HashMap[A, B]] = HashMap.newBuilder[A, B]
def get(key: A): Option[B] = synchronized {
var m: HashMap[A, _ >: B] = this
diff --git a/src/library/scala/collection/immutable/HashSet.scala b/src/library/scala/collection/immutable/HashSet.scala
index 281ae45a60..3abffa6ec4 100644
--- a/src/library/scala/collection/immutable/HashSet.scala
+++ b/src/library/scala/collection/immutable/HashSet.scala
@@ -28,7 +28,7 @@ import generic._
class HashSet[A] extends Set[A] with SetTemplate[A, HashSet[A]] with mutable.FlatHashTable[A] {
override def empty = HashSet.empty
- override def traversableBuilder[B]: Builder[B, HashSet[B], Any] = HashSet.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, HashSet[B]] = HashSet.newBuilder[B]
protected var later: HashSet[A] = null
protected var changedElem: A = _
diff --git a/src/library/scala/collection/immutable/Iterable.scala b/src/library/scala/collection/immutable/Iterable.scala
index 70eea1db11..60f77bdc6f 100644
--- a/src/library/scala/collection/immutable/Iterable.scala
+++ b/src/library/scala/collection/immutable/Iterable.scala
@@ -11,13 +11,13 @@ import generic._
*/
trait Iterable[+A] extends Traversable[A] with collection.Iterable[A] with IterableTemplate[A, Iterable[A]] { self =>
override protected[this] def newBuilder = Iterable.newBuilder
- override def traversableBuilder[B]: Builder[B, Iterable[B], Any] = Iterable.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Iterable[B]] = Iterable.newBuilder[B]
}
/* A factory object for the trait `Iterable` */
object Iterable extends TraversableFactory[Iterable] {
type Coll = Iterable[_]
implicit def builderFactory[A]: BuilderFactory[A, Iterable[A], Coll] = new BuilderFactory[A, Iterable[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, Iterable[A], Any] = new mutable.ListBuffer
+ def newBuilder[A]: Builder[A, Iterable[A]] = new mutable.ListBuffer
}
diff --git a/src/library/scala/collection/immutable/LinearSequence.scala b/src/library/scala/collection/immutable/LinearSequence.scala
index 7583c8c27b..36e9a50428 100644
--- a/src/library/scala/collection/immutable/LinearSequence.scala
+++ b/src/library/scala/collection/immutable/LinearSequence.scala
@@ -7,11 +7,11 @@ import generic._
*/
trait LinearSequence[+A] extends Sequence[A] with collection.LinearSequence[A] with LinearSequenceTemplate[A, LinearSequence[A]] {
override protected[this] def newBuilder = LinearSequence.newBuilder
- override def traversableBuilder[B]: Builder[B, LinearSequence[B], Any] = LinearSequence.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, LinearSequence[B]] = LinearSequence.newBuilder[B]
}
object LinearSequence extends SequenceFactory[LinearSequence] {
type Coll = LinearSequence[_]
implicit def builderFactory[A]: BuilderFactory[A, LinearSequence[A], Coll] = new BuilderFactory[A, LinearSequence[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, LinearSequence[A], Any] = new mutable.ListBuffer
+ def newBuilder[A]: Builder[A, LinearSequence[A]] = new mutable.ListBuffer
}
diff --git a/src/library/scala/collection/immutable/List.scala b/src/library/scala/collection/immutable/List.scala
index 503deecf06..e715fad0fa 100644
--- a/src/library/scala/collection/immutable/List.scala
+++ b/src/library/scala/collection/immutable/List.scala
@@ -48,7 +48,7 @@ sealed abstract class List[+A] extends LinearSequence[A] with Product with Linea
/** Creates a list buffer as builder for this class */
override protected[this] def newBuilder = List.newBuilder
- override def traversableBuilder[B]: Builder[B, List[B], Any] = List.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, List[B]] = List.newBuilder[B]
// New methods in List
@@ -490,7 +490,7 @@ object List extends SequenceFactory[List] {
type Coll = List[_]
implicit def builderFactory[A]: BuilderFactory[A, List[A], Coll] = new BuilderFactory[A, List[A], Coll] { def apply(from: Coll) = new ListBuffer[A] }
- def newBuilder[A]: Builder[A, List[A], Any] = new ListBuffer[A]
+ def newBuilder[A]: Builder[A, List[A]] = new ListBuffer[A]
override def empty[A]: List[A] = Nil
diff --git a/src/library/scala/collection/immutable/ListMap.scala b/src/library/scala/collection/immutable/ListMap.scala
index 67fb8f2a25..1451bfef47 100644
--- a/src/library/scala/collection/immutable/ListMap.scala
+++ b/src/library/scala/collection/immutable/ListMap.scala
@@ -35,7 +35,7 @@ object ListMap extends ImmutableMapFactory[ListMap] {
class ListMap[A, +B] extends Map[A, B] with ImmutableMapTemplate[A, B, ListMap[A, B]] {
override def empty = ListMap.empty
- override def mapBuilder[A, B]: Builder[(A, B), ListMap[A, B], Any] = ListMap.newBuilder[A, B]
+ override def mapBuilder[A, B]: Builder[(A, B), ListMap[A, B]] = ListMap.newBuilder[A, B]
/** Returns the number of mappings in this map.
*
diff --git a/src/library/scala/collection/immutable/ListSet.scala b/src/library/scala/collection/immutable/ListSet.scala
index 9e52b1b93e..f81a1271ed 100644
--- a/src/library/scala/collection/immutable/ListSet.scala
+++ b/src/library/scala/collection/immutable/ListSet.scala
@@ -41,7 +41,7 @@ class ListSet[A] extends Set[A] with SetTemplate[A, ListSet[A]] { self =>
override def isEmpty: Boolean = true;
override def empty = ListSet.empty
- override def traversableBuilder[B]: Builder[B, ListSet[B], Any] = ListSet.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, ListSet[B]] = ListSet.newBuilder[B]
/** Checks if this set contains element <code>elem</code>.
*
diff --git a/src/library/scala/collection/immutable/Map.scala b/src/library/scala/collection/immutable/Map.scala
index 442a325637..47126df856 100644
--- a/src/library/scala/collection/immutable/Map.scala
+++ b/src/library/scala/collection/immutable/Map.scala
@@ -18,7 +18,7 @@ trait Map[A, +B] extends Iterable[(A, B)]
with ImmutableMapTemplate[A, B, Map[A, B]] { self =>
override def empty: Map[A, B] = Map.empty
- override def mapBuilder[A, B]: Builder[(A, B), Map[A, B], Any] = Map.newBuilder[A, B]
+ override def mapBuilder[A, B]: Builder[(A, B), Map[A, B]] = Map.newBuilder[A, B]
/** Add a key/value pair to this map.
* @param key the key
diff --git a/src/library/scala/collection/immutable/Sequence.scala b/src/library/scala/collection/immutable/Sequence.scala
index 03fe64711a..565937335f 100644
--- a/src/library/scala/collection/immutable/Sequence.scala
+++ b/src/library/scala/collection/immutable/Sequence.scala
@@ -14,7 +14,7 @@ import generic._
*/
trait Sequence[+A] extends Iterable[A] with collection.Sequence[A] with SequenceTemplate[A, Sequence[A]] {
override protected[this] def newBuilder = Sequence.newBuilder
- override def traversableBuilder[B]: Builder[B, Sequence[B], Any] = Sequence.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Sequence[B]] = Sequence.newBuilder[B]
override def hashCode = (Sequence.hashSeed /: this)(_ * 41 + _.hashCode)
}
@@ -22,5 +22,5 @@ object Sequence extends SequenceFactory[Sequence] {
private val hashSeed = "Sequence".hashCode
type Coll = Sequence[_]
implicit def builderFactory[A]: BuilderFactory[A, Sequence[A], Coll] = new BuilderFactory[A, Sequence[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, Sequence[A], Any] = new mutable.ListBuffer
+ def newBuilder[A]: Builder[A, Sequence[A]] = new mutable.ListBuffer
}
diff --git a/src/library/scala/collection/immutable/Set.scala b/src/library/scala/collection/immutable/Set.scala
index f9f79db632..315f658542 100644
--- a/src/library/scala/collection/immutable/Set.scala
+++ b/src/library/scala/collection/immutable/Set.scala
@@ -21,7 +21,7 @@ trait Set[A] extends Iterable[A] with collection.Set[A] with SetTemplate[A, Set[
override def hashCode = (Set.hashSeed /: this)(_ * 41 + _.hashCode)
- override def traversableBuilder[B]: Builder[B, Set[B], Any] = Set.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Set[B]] = Set.newBuilder[B]
}
object Set extends SetFactory[Set] {
diff --git a/src/library/scala/collection/immutable/SortedMap.scala b/src/library/scala/collection/immutable/SortedMap.scala
index 85b01561a7..00970464e6 100644
--- a/src/library/scala/collection/immutable/SortedMap.scala
+++ b/src/library/scala/collection/immutable/SortedMap.scala
@@ -29,7 +29,7 @@ trait SortedMap[A, +B] extends Map[A, B]
override def empty: SortedMap[A, B] = throw new UnsupportedOperationException("SortedMap.empty")
/** Needs to be overridden in subclasses. */
- override protected[this] def newBuilder : Builder[(A, B), SortedMap[A, B], Any] =
+ override protected[this] def newBuilder : Builder[(A, B), SortedMap[A, B]] =
throw new UnsupportedOperationException("SortedMap.newBuilder")
/** Add a key/value pair to this map.
diff --git a/src/library/scala/collection/immutable/Stream.scala b/src/library/scala/collection/immutable/Stream.scala
index 31cc0762d3..612978a4b7 100644
--- a/src/library/scala/collection/immutable/Stream.scala
+++ b/src/library/scala/collection/immutable/Stream.scala
@@ -63,7 +63,7 @@ self =>
* this builder should be bypassed.
*/
override protected[this] def newBuilder = Stream.newBuilder
- override def traversableBuilder[B]: Builder[B, Stream[B], Any] = Stream.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Stream[B]] = Stream.newBuilder[B]
// New methods in Stream
@@ -372,13 +372,13 @@ object Stream extends SequenceFactory[Stream] {
implicit def builderFactory[A]: BuilderFactory[A, Stream[A], Coll] = new StreamBuilderFactory[A]
/** Creates a new builder for a stream */
- def newBuilder[A]: Builder[A, Stream[A], Any] = new StreamBuilder[A]
+ def newBuilder[A]: Builder[A, Stream[A]] = new StreamBuilder[A]
import collection.{Iterable, Sequence, Vector}
/** A builder for streams
*/
- class StreamBuilder[A] extends LazyBuilder[A, Stream[A], Any] {
+ class StreamBuilder[A] extends LazyBuilder[A, Stream[A]] {
def result: Stream[A] = (for (xs <- parts.elements; x <- xs.toIterable.elements) yield x).toStream
}
diff --git a/src/library/scala/collection/immutable/Traversable.scala b/src/library/scala/collection/immutable/Traversable.scala
index 7adc2c3c6c..302115a6d6 100644
--- a/src/library/scala/collection/immutable/Traversable.scala
+++ b/src/library/scala/collection/immutable/Traversable.scala
@@ -11,14 +11,14 @@ import generic._
*/
trait Traversable[+A] extends collection.Traversable[A] with TraversableTemplate[A, Traversable[A]] with Immutable { self =>
override protected[this] def newBuilder = Traversable.newBuilder
- override def traversableBuilder[B]: Builder[B, Traversable[B], Any] = Traversable.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Traversable[B]] = Traversable.newBuilder[B]
}
/* A factory object for the trait `Traversable` */
object Traversable extends TraversableFactory[Traversable] {
type Coll = Traversable[_]
implicit def builderFactory[A]: BuilderFactory[A, Traversable[A], Coll] = new BuilderFactory[A, Traversable[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, Traversable[A], Any] = new mutable.ListBuffer
+ def newBuilder[A]: Builder[A, Traversable[A]] = new mutable.ListBuffer
}
diff --git a/src/library/scala/collection/immutable/TreeMap.scala b/src/library/scala/collection/immutable/TreeMap.scala
index d679241b5c..c991b71698 100644
--- a/src/library/scala/collection/immutable/TreeMap.scala
+++ b/src/library/scala/collection/immutable/TreeMap.scala
@@ -19,7 +19,7 @@ object TreeMap {
type Coll = TreeMap[_, _]
implicit def builderFactory[A <% Ordered[A], B]: BuilderFactory[(A, B), TreeMap[A, B], Coll] = new BuilderFactory[(A, B), TreeMap[A, B], Coll] { def apply(from: Coll) = newBuilder[A, B] }
- def newBuilder[A <% Ordered[A], B]: Builder[(A, B), TreeMap[A, B], Any] = new ImmutableMapBuilder(empty[A, B])
+ def newBuilder[A <% Ordered[A], B]: Builder[(A, B), TreeMap[A, B]] = new ImmutableMapBuilder(empty[A, B])
/** The empty map of this type */
def empty[A <% Ordered[A], B] = new TreeMap[A, B]
@@ -42,7 +42,7 @@ class TreeMap[A <% Ordered[A], +B](override val size: Int, t: RedBlack[A]#Tree[B
with SortedMapTemplate[A, B, TreeMap[A, B]]
with ImmutableMapTemplate[A, B, TreeMap[A, B]] {
- override protected[this] def newBuilder : Builder[(A, B), TreeMap[A, B], Any] =
+ override protected[this] def newBuilder : Builder[(A, B), TreeMap[A, B]] =
TreeMap.newBuilder[A, B]
def isSmaller(x: A, y: A) = x < y
diff --git a/src/library/scala/collection/immutable/TreeSet.scala b/src/library/scala/collection/immutable/TreeSet.scala
index 49c2578c29..6dd57c43f1 100644
--- a/src/library/scala/collection/immutable/TreeSet.scala
+++ b/src/library/scala/collection/immutable/TreeSet.scala
@@ -17,8 +17,8 @@ import generic._
object TreeSet {
type Coll = TreeSet[_]
- implicit def implicitBuilder[A <% Ordered[A]]: Builder[A, TreeSet[A], Coll] = newBuilder[A]
- def newBuilder[A <% Ordered[A]]: Builder[A, TreeSet[A], Any] = new AddingBuilder(empty[A])
+ implicit def implicitBuilder[A <% Ordered[A]]: Builder[A, TreeSet[A]] = newBuilder[A]
+ def newBuilder[A <% Ordered[A]]: Builder[A, TreeSet[A]] = new AddingBuilder(empty[A])
/** The empty set of this type
*/
diff --git a/src/library/scala/collection/immutable/Vector.scala b/src/library/scala/collection/immutable/Vector.scala
index 5267683d1f..2fe3f36e67 100644
--- a/src/library/scala/collection/immutable/Vector.scala
+++ b/src/library/scala/collection/immutable/Vector.scala
@@ -15,7 +15,7 @@ import mutable.ArrayBuffer
*/
trait Vector[+A] extends Sequence[A] with collection.Vector[A] with VectorTemplate[A, Vector[A]] { self =>
override protected[this] def newBuilder = Vector.newBuilder
- override def traversableBuilder[B]: Builder[B, Vector[B], Any] = Vector.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Vector[B]] = Vector.newBuilder[B]
}
object Vector extends SequenceFactory[Vector] {
@@ -25,5 +25,5 @@ object Vector extends SequenceFactory[Vector] {
def apply(idx: Int) = buf.apply(idx)
}
implicit def builderFactory[A]: BuilderFactory[A, Vector[A], Coll] = new BuilderFactory[A, Vector[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, Vector[A], Any] = new ArrayBuffer[A] mapResult (buf => new Impl(buf))
+ def newBuilder[A]: Builder[A, Vector[A]] = new ArrayBuffer[A] mapResult (buf => new Impl(buf))
}
diff --git a/src/library/scala/collection/mutable/ArrayBuffer.scala b/src/library/scala/collection/mutable/ArrayBuffer.scala
index a6e37a1449..8daa796cbc 100644
--- a/src/library/scala/collection/mutable/ArrayBuffer.scala
+++ b/src/library/scala/collection/mutable/ArrayBuffer.scala
@@ -27,7 +27,7 @@ class ArrayBuffer[A](override protected val initialSize: Int)
extends Buffer[A]
with BufferTemplate[A, ArrayBuffer[A]]
with VectorTemplate[A, ArrayBuffer[A]]
- with Builder[A, ArrayBuffer[A], Any]
+ with Builder[A, ArrayBuffer[A]]
with ResizableArray[A] {
import collection.Traversable
@@ -43,7 +43,7 @@ class ArrayBuffer[A](override protected val initialSize: Int)
}
override protected[this] def newBuilder = ArrayBuffer.newBuilder
- override def traversableBuilder[B]: Builder[B, ArrayBuffer[B], Any] = ArrayBuffer.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, ArrayBuffer[B]] = ArrayBuffer.newBuilder[B]
/** Appends a single element to this buffer and returns
* the identity of the buffer. It takes constant time.
@@ -159,6 +159,6 @@ class ArrayBuffer[A](override protected val initialSize: Int)
object ArrayBuffer extends SequenceFactory[ArrayBuffer] {
type Coll = ArrayBuffer[_]
implicit def builderFactory[A]: BuilderFactory[A, ArrayBuffer[A], Coll] = new BuilderFactory[A, ArrayBuffer[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, ArrayBuffer[A], Any] = new ArrayBuffer[A]
+ def newBuilder[A]: Builder[A, ArrayBuffer[A]] = new ArrayBuffer[A]
}
diff --git a/src/library/scala/collection/mutable/Buffer.scala b/src/library/scala/collection/mutable/Buffer.scala
index e020be6d6f..f2e0997294 100644
--- a/src/library/scala/collection/mutable/Buffer.scala
+++ b/src/library/scala/collection/mutable/Buffer.scala
@@ -25,13 +25,13 @@ import generic._
@cloneable
trait Buffer[A] extends Sequence[A] with BufferTemplate[A, Buffer[A]] {
override protected[this] def newBuilder = Buffer.newBuilder
- override def traversableBuilder[B]: Builder[B, Buffer[B], Any] = Buffer.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Buffer[B]] = Buffer.newBuilder[B]
}
/* Factory object for `Buffer` trait */
object Buffer extends SequenceFactory[Buffer] {
type Coll = Buffer[_]
implicit def builderFactory[A]: BuilderFactory[A, Buffer[A], Coll] = new BuilderFactory[A, Buffer[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, Buffer[A], Any] = new ArrayBuffer
+ def newBuilder[A]: Builder[A, Buffer[A]] = new ArrayBuffer
}
diff --git a/src/library/scala/collection/mutable/DoubleLinkedList.scala b/src/library/scala/collection/mutable/DoubleLinkedList.scala
index 4463ab55a5..1c67e3a413 100644
--- a/src/library/scala/collection/mutable/DoubleLinkedList.scala
+++ b/src/library/scala/collection/mutable/DoubleLinkedList.scala
@@ -23,13 +23,13 @@ import generic._
@serializable
class DoubleLinkedList[A]/*(_elem: A, _next: DoubleLinkedList[A])*/ extends LinearSequence[A] with DoubleLinkedListTemplate[A, DoubleLinkedList[A]] {
override protected[this] def newBuilder = DoubleLinkedList.newBuilder
- override def traversableBuilder[B]: Builder[B, DoubleLinkedList[B], Any] = DoubleLinkedList.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, DoubleLinkedList[B]] = DoubleLinkedList.newBuilder[B]
}
object DoubleLinkedList extends SequenceFactory[DoubleLinkedList] {
type Coll = DoubleLinkedList[_]
implicit def builderFactory[A]: BuilderFactory[A, DoubleLinkedList[A], Coll] = new BuilderFactory[A, DoubleLinkedList[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, DoubleLinkedList[A], Any] = null // !!!
+ def newBuilder[A]: Builder[A, DoubleLinkedList[A]] = null // !!!
}
diff --git a/src/library/scala/collection/mutable/HashMap.scala b/src/library/scala/collection/mutable/HashMap.scala
index 654c6f7529..fef1a6541e 100644
--- a/src/library/scala/collection/mutable/HashMap.scala
+++ b/src/library/scala/collection/mutable/HashMap.scala
@@ -18,7 +18,7 @@ import generic._
class HashMap[A, B] extends Map[A, B] with MutableMapTemplate[A, B, HashMap[A, B]] with HashTable[A] with DefaultMapModel[A, B] {
override def empty: HashMap[A, B] = HashMap.empty[A, B]
- override def mapBuilder[A, B]: Builder[(A, B), HashMap[A, B], Any] = HashMap.newBuilder[A, B]
+ override def mapBuilder[A, B]: Builder[(A, B), HashMap[A, B]] = HashMap.newBuilder[A, B]
def -= (key: A) { removeEntry(key) }
diff --git a/src/library/scala/collection/mutable/HashSet.scala b/src/library/scala/collection/mutable/HashSet.scala
index b849f8f731..d4a2434b43 100644
--- a/src/library/scala/collection/mutable/HashSet.scala
+++ b/src/library/scala/collection/mutable/HashSet.scala
@@ -23,7 +23,7 @@ import generic._
class HashSet[A] extends Set[A] with SetTemplate[A, HashSet[A]] with FlatHashTable[A] {
override def empty = HashSet.empty
- override def traversableBuilder[B]: Builder[B, HashSet[B], Any] = HashSet.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, HashSet[B]] = HashSet.newBuilder[B]
override def size = super.size
diff --git a/src/library/scala/collection/mutable/Iterable.scala b/src/library/scala/collection/mutable/Iterable.scala
index f45f077cfd..f7896dc3cc 100644
--- a/src/library/scala/collection/mutable/Iterable.scala
+++ b/src/library/scala/collection/mutable/Iterable.scala
@@ -17,13 +17,13 @@ import generic._
*/
trait Iterable[A] extends Traversable[A] with collection.Iterable[A] with IterableTemplate[A, Iterable[A]] { self =>
override protected[this] def newBuilder = Iterable.newBuilder
- override def traversableBuilder[B]: Builder[B, Iterable[B], Any] = Iterable.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Iterable[B]] = Iterable.newBuilder[B]
}
/* A factory object for the trait `Iterable` */
object Iterable extends TraversableFactory[Iterable] {
type Coll = Iterable[_]
implicit def builderFactory[A]: BuilderFactory[A, Iterable[A], Coll] = new BuilderFactory[A, Iterable[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, Iterable[A], Any] = new ArrayBuffer
+ def newBuilder[A]: Builder[A, Iterable[A]] = new ArrayBuffer
}
diff --git a/src/library/scala/collection/mutable/LinearSequence.scala b/src/library/scala/collection/mutable/LinearSequence.scala
index 01f38cbe54..60858bcb77 100644
--- a/src/library/scala/collection/mutable/LinearSequence.scala
+++ b/src/library/scala/collection/mutable/LinearSequence.scala
@@ -7,11 +7,11 @@ import generic._
*/
trait LinearSequence[A] extends Sequence[A] with collection.LinearSequence[A] with LinearSequenceTemplate[A, LinearSequence[A]] {
override protected[this] def newBuilder = LinearSequence.newBuilder
- override def traversableBuilder[B]: Builder[B, LinearSequence[B], Any] = LinearSequence.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, LinearSequence[B]] = LinearSequence.newBuilder[B]
}
object LinearSequence extends SequenceFactory[LinearSequence] {
type Coll = LinearSequence[_]
implicit def builderFactory[A]: BuilderFactory[A, LinearSequence[A], Coll] = new BuilderFactory[A, LinearSequence[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, LinearSequence[A], Any] = new MutableList[A]
+ def newBuilder[A]: Builder[A, LinearSequence[A]] = new MutableList[A]
}
diff --git a/src/library/scala/collection/mutable/LinkedList.scala b/src/library/scala/collection/mutable/LinkedList.scala
index cba50294df..47be78a8ed 100644
--- a/src/library/scala/collection/mutable/LinkedList.scala
+++ b/src/library/scala/collection/mutable/LinkedList.scala
@@ -25,13 +25,13 @@ class LinkedList[A](_elem: A, _next: LinkedList[A]) extends LinearSequence[A] wi
elem = _elem
next = _next
override protected[this] def newBuilder = LinkedList.newBuilder
- override def traversableBuilder[B]: Builder[B, LinkedList[B], Any] = LinkedList.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, LinkedList[B]] = LinkedList.newBuilder[B]
}
object LinkedList extends SequenceFactory[LinkedList] {
type Coll = LinkedList[_]
implicit def builderFactory[A]: BuilderFactory[A, LinkedList[A], Coll] = new BuilderFactory[A, LinkedList[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, LinkedList[A], Any] = (new MutableList) mapResult ((l: MutableList[A]) => l.toLinkedList)
+ def newBuilder[A]: Builder[A, LinkedList[A]] = (new MutableList) mapResult ((l: MutableList[A]) => l.toLinkedList)
}
diff --git a/src/library/scala/collection/mutable/ListBuffer.scala b/src/library/scala/collection/mutable/ListBuffer.scala
index 5713560ee8..32ce0b4373 100644
--- a/src/library/scala/collection/mutable/ListBuffer.scala
+++ b/src/library/scala/collection/mutable/ListBuffer.scala
@@ -25,7 +25,7 @@ import generic._
final class ListBuffer[A]
extends Buffer[A]
with BufferTemplate[A, ListBuffer[A]]
- with Builder[A, List[A], Any]
+ with Builder[A, List[A]]
with SequenceForwarder[A]
{
import collection.Traversable
@@ -38,7 +38,7 @@ final class ListBuffer[A]
protected def underlying: immutable.Sequence[A] = start
override protected[this] def newBuilder = ListBuffer.newBuilder[A]
- override def traversableBuilder[B]: Builder[B, ListBuffer[B], Any] = ListBuffer.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, ListBuffer[B]] = ListBuffer.newBuilder[B]
/** The current length of the buffer
*/
@@ -320,6 +320,6 @@ final class ListBuffer[A]
object ListBuffer extends SequenceFactory[ListBuffer] {
type Coll = ListBuffer[_]
implicit def builderFactory[A]: BuilderFactory[A, ListBuffer[A], Coll] = new BuilderFactory[A, ListBuffer[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, ListBuffer[A], Any] = new AddingBuilder(new ListBuffer[A])
+ def newBuilder[A]: Builder[A, ListBuffer[A]] = new AddingBuilder(new ListBuffer[A])
}
diff --git a/src/library/scala/collection/mutable/Map.scala b/src/library/scala/collection/mutable/Map.scala
index cfa6ae5f1c..acff09e253 100644
--- a/src/library/scala/collection/mutable/Map.scala
+++ b/src/library/scala/collection/mutable/Map.scala
@@ -20,7 +20,7 @@ trait Map[A, B]
with Unhashable {
override def empty: Map[A, B] = Map.empty
- override def mapBuilder[A, B]: Builder[(A, B), Map[A, B], Any] = Map.newBuilder[A, B]
+ override def mapBuilder[A, B]: Builder[(A, B), Map[A, B]] = Map.newBuilder[A, B]
/** Return a read-only projection of this map. !!! or just use an (immutable) MapProxy?
def readOnly : collection.Map[A, B] = new collection.Map[A, B] {
diff --git a/src/library/scala/collection/mutable/MutableList.scala b/src/library/scala/collection/mutable/MutableList.scala
index c2ef583b98..2e01c1a153 100644
--- a/src/library/scala/collection/mutable/MutableList.scala
+++ b/src/library/scala/collection/mutable/MutableList.scala
@@ -24,7 +24,7 @@ import generic._
* @author Martin Odersky
* @version 2.8
*/
-class MutableList[A] extends LinearSequence[A] with LinearSequenceTemplate[A, MutableList[A]] with Builder[A, MutableList[A], Any] {
+class MutableList[A] extends LinearSequence[A] with LinearSequenceTemplate[A, MutableList[A]] with Builder[A, MutableList[A]] {
override protected[this] def newBuilder = new MutableList[A]
diff --git a/src/library/scala/collection/mutable/ResizableArray.scala b/src/library/scala/collection/mutable/ResizableArray.scala
index 0193bdf4b6..9a57904712 100644
--- a/src/library/scala/collection/mutable/ResizableArray.scala
+++ b/src/library/scala/collection/mutable/ResizableArray.scala
@@ -26,7 +26,7 @@ trait ResizableArray[A] extends Vector[A] with VectorTemplate[A, ResizableArray[
import collection.Iterable // !!!
override protected[this] def newBuilder = ResizableArray.newBuilder
- override def traversableBuilder[B]: Builder[B, ResizableArray[B], Any] = ResizableArray.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, ResizableArray[B]] = ResizableArray.newBuilder[B]
protected def initialSize: Int = 16
protected var array: Array[AnyRef] = new Array[AnyRef](initialSize max 1)
@@ -117,5 +117,5 @@ trait ResizableArray[A] extends Vector[A] with VectorTemplate[A, ResizableArray[
object ResizableArray extends SequenceFactory[ResizableArray] {
type Coll = Vector[_]
implicit def builderFactory[A]: BuilderFactory[A, Vector[A], Coll] = new BuilderFactory[A, Vector[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, ResizableArray[A], Any] = new ArrayBuffer[A]
+ def newBuilder[A]: Builder[A, ResizableArray[A]] = new ArrayBuffer[A]
}
diff --git a/src/library/scala/collection/mutable/Sequence.scala b/src/library/scala/collection/mutable/Sequence.scala
index 04beb61535..efc4092853 100644
--- a/src/library/scala/collection/mutable/Sequence.scala
+++ b/src/library/scala/collection/mutable/Sequence.scala
@@ -15,7 +15,7 @@ import generic._
*/
trait Sequence[A] extends Iterable[A] with collection.Sequence[A] with SequenceTemplate[A, Sequence[A]] with Unhashable {
override protected[this] def newBuilder = Sequence.newBuilder
- override def traversableBuilder[B]: Builder[B, Sequence[B], Any] = Sequence.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Sequence[B]] = Sequence.newBuilder[B]
def update(idx: Int, elem: A)
}
@@ -23,5 +23,5 @@ trait Sequence[A] extends Iterable[A] with collection.Sequence[A] with SequenceT
object Sequence extends SequenceFactory[Sequence] {
type Coll = Sequence[_]
implicit def builderFactory[A]: BuilderFactory[A, Sequence[A], Coll] = new BuilderFactory[A, Sequence[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, Sequence[A], Any] = new ArrayBuffer
+ def newBuilder[A]: Builder[A, Sequence[A]] = new ArrayBuffer
}
diff --git a/src/library/scala/collection/mutable/Set.scala b/src/library/scala/collection/mutable/Set.scala
index c4b3013ce2..62bf6a6874 100644
--- a/src/library/scala/collection/mutable/Set.scala
+++ b/src/library/scala/collection/mutable/Set.scala
@@ -34,7 +34,7 @@ self =>
override def empty = Set.empty
- override def traversableBuilder[B]: Builder[B, Set[B], Any] = Set.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Set[B]] = Set.newBuilder[B]
/** This method allows one to add or remove an element <code>elem</code>
* from this set depending on the value of parameter <code>included</code>.
diff --git a/src/library/scala/collection/mutable/StringBuilder.scala b/src/library/scala/collection/mutable/StringBuilder.scala
index d70261f84b..da3ebfcc13 100644
--- a/src/library/scala/collection/mutable/StringBuilder.scala
+++ b/src/library/scala/collection/mutable/StringBuilder.scala
@@ -27,7 +27,7 @@ import scala.runtime.RichString
@serializable
@SerialVersionUID(0 - 8525408645367278351L)
final class StringBuilder(initCapacity: Int, private val initValue: String)
- extends Builder[Char, String, Any]
+ extends Builder[Char, String]
with Vector[Char] {
require(initCapacity > 0)
diff --git a/src/library/scala/collection/mutable/SynchronizedMap.scala b/src/library/scala/collection/mutable/SynchronizedMap.scala
index 6292b0daf0..1afc02ed57 100644
--- a/src/library/scala/collection/mutable/SynchronizedMap.scala
+++ b/src/library/scala/collection/mutable/SynchronizedMap.scala
@@ -23,7 +23,7 @@ trait SynchronizedMap[A, B] extends Map[A, B] {
import collection.Traversable
- override def mapBuilder[A, B]: Builder[(A, B), SynchronizedMap[A, B], Any] = SynchronizedMap.newBuilder[A, B]
+ override def mapBuilder[A, B]: Builder[(A, B), SynchronizedMap[A, B]] = SynchronizedMap.newBuilder[A, B]
abstract override def size: Int = synchronized {
super.size
@@ -149,7 +149,7 @@ trait SynchronizedMap[A, B] extends Map[A, B] {
*/
object SynchronizedMap extends MutableMapFactory[SynchronizedMap] {
type Coll = Map[_, _]
- implicit def implicitBuilder[A, B]: Builder[(A, B), Map[A, B], Coll] = from.mapBuilder[A, B]
+ implicit def implicitBuilder[A, B]: Builder[(A, B), Map[A, B]] = from.mapBuilder[A, B]
def empty[A, B]: Map[A, B] = new HashMap[A, B] with SynchronizeddMap[A, B]
}
diff --git a/src/library/scala/collection/mutable/Traversable.scala b/src/library/scala/collection/mutable/Traversable.scala
index 1f48205906..72b7271b85 100644
--- a/src/library/scala/collection/mutable/Traversable.scala
+++ b/src/library/scala/collection/mutable/Traversable.scala
@@ -17,14 +17,14 @@ import generic._
*/
trait Traversable[A] extends collection.Traversable[A] with TraversableTemplate[A, Traversable[A]] with Mutable { self =>
override protected[this] def newBuilder = Traversable.newBuilder
- override def traversableBuilder[B]: Builder[B, Traversable[B], Any] = Traversable.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Traversable[B]] = Traversable.newBuilder[B]
}
/* A factory object for the trait `Traversable` */
object Traversable extends TraversableFactory[Traversable] {
type Coll = Traversable[_]
implicit def builderFactory[A]: BuilderFactory[A, Traversable[A], Coll] = new BuilderFactory[A, Traversable[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, Traversable[A], Any] = new ArrayBuffer
+ def newBuilder[A]: Builder[A, Traversable[A]] = new ArrayBuffer
}
diff --git a/src/library/scala/collection/mutable/Vector.scala b/src/library/scala/collection/mutable/Vector.scala
index e3178475ad..dae5c4864f 100644
--- a/src/library/scala/collection/mutable/Vector.scala
+++ b/src/library/scala/collection/mutable/Vector.scala
@@ -14,11 +14,11 @@ import generic._
*/
trait Vector[A] extends Sequence[A] with collection.Vector[A] with MutableVectorTemplate[A, Vector[A]] {
override protected[this] def newBuilder = Vector.newBuilder
- override def traversableBuilder[B]: Builder[B, Vector[B], Any] = Vector.newBuilder[B]
+ override def traversableBuilder[B]: Builder[B, Vector[B]] = Vector.newBuilder[B]
}
object Vector extends SequenceFactory[Vector] {
type Coll = Vector[_]
implicit def builderFactory[A]: BuilderFactory[A, Vector[A], Coll] = new BuilderFactory[A, Vector[A], Coll] { def apply(from: Coll) = from.traversableBuilder[A] }
- def newBuilder[A]: Builder[A, Vector[A], Any] = new ArrayBuffer
+ def newBuilder[A]: Builder[A, Vector[A]] = new ArrayBuffer
}
diff --git a/src/library/scala/runtime/BoxedArray.scala b/src/library/scala/runtime/BoxedArray.scala
index 4bb18f6d31..d390bbd2d3 100644
--- a/src/library/scala/runtime/BoxedArray.scala
+++ b/src/library/scala/runtime/BoxedArray.scala
@@ -37,7 +37,7 @@ abstract class BoxedArray[A] extends Vector[A] with VectorTemplate[A, BoxedArray
* */
override protected[this] def newBuilder = traversableBuilder[A]
- override def traversableBuilder[B]: Builder[B, BoxedArray[B], Any] = new ArrayBuffer[B].mapResult {
+ override def traversableBuilder[B]: Builder[B, BoxedArray[B]] = new ArrayBuffer[B].mapResult {
_.toArray.asInstanceOf[BoxedArray[B]]
}
diff --git a/src/library/scala/runtime/RichString.scala b/src/library/scala/runtime/RichString.scala
index 44bf12a4dd..d63ca8607e 100644
--- a/src/library/scala/runtime/RichString.scala
+++ b/src/library/scala/runtime/RichString.scala
@@ -18,8 +18,7 @@ import collection.immutable.Vector
object RichString {
-// def newBuilder: Builder[Char, String, Any] = new StringBuilder()
- def newBuilder: Builder[Char, RichString, Any] = new StringBuilder() mapResult (new RichString(_))
+ def newBuilder: Builder[Char, RichString] = new StringBuilder() mapResult (new RichString(_))
implicit def builderFactory: BuilderFactory[Char, RichString, RichString] = new BuilderFactory[Char, RichString, RichString] { def apply(from: RichString) = newBuilder }
implicit def builderFactory2: BuilderFactory[Char, RichString, String] = new BuilderFactory[Char, RichString, String] { def apply(from: String) = newBuilder }
diff --git a/src/library/scala/xml/NodeSeq.scala b/src/library/scala/xml/NodeSeq.scala
index c6d6625be3..c17b99b2e6 100644
--- a/src/library/scala/xml/NodeSeq.scala
+++ b/src/library/scala/xml/NodeSeq.scala
@@ -27,7 +27,7 @@ object NodeSeq {
}
type Coll = NodeSeq
implicit def builderFactory: BuilderFactory[Node, NodeSeq, Coll] = new BuilderFactory[Node, NodeSeq, Coll] { def apply(from: Coll) = newBuilder }
- def newBuilder: Builder[Node, NodeSeq, Any] = new ListBuffer[Node] mapResult fromSeq
+ def newBuilder: Builder[Node, NodeSeq] = new ListBuffer[Node] mapResult fromSeq
implicit def seqToNodeSeq(s: Seq[Node]): NodeSeq = fromSeq(s)
}