summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/MapProxyLike.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-03-15 04:45:47 +0000
committerPaul Phillips <paulp@improving.org>2010-03-15 04:45:47 +0000
commitf972729b04c44c12ea10d5aa5bb841fc3b40ab69 (patch)
tree3cbbe97f20b10a5303828324be5b0a9ced00df0c /src/library/scala/collection/MapProxyLike.scala
parent70d4eb9654a2e7a6ba7dad2b62df36793678d99f (diff)
downloadscala-f972729b04c44c12ea10d5aa5bb841fc3b40ab69.tar.gz
scala-f972729b04c44c12ea10d5aa5bb841fc3b40ab69.tar.bz2
scala-f972729b04c44c12ea10d5aa5bb841fc3b40ab69.zip
Leveraged -Xmigration to burn off some warts wh...
Leveraged -Xmigration to burn off some warts which arose in the new collections. Warnings put in place for behavioral changes, allowing the following. 1) Buffers: create new collections on ++ and -- like all the other collections. 2) Maps: eliminated never-shipped redundant method valuesIterable and supplied these return types: def keys: Iterable[A] def keysIterator: Iterator[A] def values: Iterable[B] def valuesIterator: Iterator[B] def keySet: Set[A] I concluded that keys should return Iterable because keySet also exists on Map, and is not solely in the province of Maps even if we wanted to change it: it's defined on Sorted and also appears in some Sets. So it seems sensible to have keySet return a Set and keys return the more general type. Closes #3089, #3145. Review by odersky.
Diffstat (limited to 'src/library/scala/collection/MapProxyLike.scala')
-rw-r--r--src/library/scala/collection/MapProxyLike.scala5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/library/scala/collection/MapProxyLike.scala b/src/library/scala/collection/MapProxyLike.scala
index 427eaa6e2c..f269a368dd 100644
--- a/src/library/scala/collection/MapProxyLike.scala
+++ b/src/library/scala/collection/MapProxyLike.scala
@@ -36,10 +36,9 @@ trait MapProxyLike[A, +B, +This <: MapLike[A, B, This] with Map[A, B]]
override def isDefinedAt(key: A) = self.isDefinedAt(key)
override def keySet: Set[A] = self.keySet
override def keysIterator: Iterator[A] = self.keysIterator
- override def keys: Iterator[A] = self.keysIterator
- override def valuesIterable: Iterable[B] = self.valuesIterable
+ override def keys: Iterable[A] = self.keys
+ override def values: Iterable[B] = self.values
override def valuesIterator: Iterator[B] = self.valuesIterator
- override def values: Iterator[B] = self.valuesIterator
override def default(key: A): B = self.default(key)
override def filterKeys(p: A => Boolean) = self.filterKeys(p)
override def mapValues[C](f: B => C) = self.mapValues(f)