summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2016-02-25 21:45:05 +1000
committerJason Zaugg <jzaugg@gmail.com>2016-02-25 21:48:26 +1000
commit964630ec1f4cf94f4d09eff394f959e733e3fcf7 (patch)
treeedbe21ff3fd89156701c8ecedf5d900915bfb759 /src/library
parentd375334c26c625da345c5e77bca2975f21b8bd10 (diff)
parente0fc92a2b7b27141b41cecafd3ec7804ad02707b (diff)
downloadscala-964630ec1f4cf94f4d09eff394f959e733e3fcf7.tar.gz
scala-964630ec1f4cf94f4d09eff394f959e733e3fcf7.tar.bz2
scala-964630ec1f4cf94f4d09eff394f959e733e3fcf7.zip
Merge remote-tracking branch 'origin/2.11.x' into merge/2.11.x-to-2.12.x-20160225
Conflicts: scripts/jobs/integrate/bootstrap src/build/maven/scala-actors-pom.xml test/files/pos/t3420.flags Conflicts were trivial to resolve.
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/Product1.scala2
-rw-r--r--src/library/scala/Product10.scala2
-rw-r--r--src/library/scala/Product11.scala2
-rw-r--r--src/library/scala/Product12.scala2
-rw-r--r--src/library/scala/Product13.scala2
-rw-r--r--src/library/scala/Product14.scala2
-rw-r--r--src/library/scala/Product15.scala2
-rw-r--r--src/library/scala/Product16.scala2
-rw-r--r--src/library/scala/Product17.scala2
-rw-r--r--src/library/scala/Product18.scala2
-rw-r--r--src/library/scala/Product19.scala2
-rw-r--r--src/library/scala/Product2.scala2
-rw-r--r--src/library/scala/Product20.scala2
-rw-r--r--src/library/scala/Product21.scala2
-rw-r--r--src/library/scala/Product22.scala2
-rw-r--r--src/library/scala/Product3.scala2
-rw-r--r--src/library/scala/Product4.scala2
-rw-r--r--src/library/scala/Product5.scala2
-rw-r--r--src/library/scala/Product6.scala2
-rw-r--r--src/library/scala/Product7.scala2
-rw-r--r--src/library/scala/Product8.scala2
-rw-r--r--src/library/scala/Product9.scala2
-rw-r--r--src/library/scala/collection/GenTraversableOnce.scala20
-rw-r--r--src/library/scala/collection/TraversableLike.scala11
-rw-r--r--src/library/scala/collection/TraversableOnce.scala9
-rw-r--r--src/library/scala/util/MurmurHash.scala2
-rw-r--r--src/library/scala/util/hashing/MurmurHash3.scala2
27 files changed, 49 insertions, 39 deletions
diff --git a/src/library/scala/Product1.scala b/src/library/scala/Product1.scala
index dbc34ba66a..e82300adf6 100644
--- a/src/library/scala/Product1.scala
+++ b/src/library/scala/Product1.scala
@@ -24,7 +24,7 @@ trait Product1[@specialized(Int, Long, Double) +T1] extends Any with Product {
override def productArity = 1
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product10.scala b/src/library/scala/Product10.scala
index 70de79d49a..5fc4874048 100644
--- a/src/library/scala/Product10.scala
+++ b/src/library/scala/Product10.scala
@@ -24,7 +24,7 @@ trait Product10[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10] extends Any w
override def productArity = 10
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product11.scala b/src/library/scala/Product11.scala
index 1bb79ac017..dcebc90e3e 100644
--- a/src/library/scala/Product11.scala
+++ b/src/library/scala/Product11.scala
@@ -24,7 +24,7 @@ trait Product11[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11] extends
override def productArity = 11
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product12.scala b/src/library/scala/Product12.scala
index d7e1e1b05c..2221170452 100644
--- a/src/library/scala/Product12.scala
+++ b/src/library/scala/Product12.scala
@@ -24,7 +24,7 @@ trait Product12[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12] e
override def productArity = 12
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product13.scala b/src/library/scala/Product13.scala
index 8571b45a40..e76f326766 100644
--- a/src/library/scala/Product13.scala
+++ b/src/library/scala/Product13.scala
@@ -24,7 +24,7 @@ trait Product13[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
override def productArity = 13
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product14.scala b/src/library/scala/Product14.scala
index a2f5140370..a076e2cc7a 100644
--- a/src/library/scala/Product14.scala
+++ b/src/library/scala/Product14.scala
@@ -24,7 +24,7 @@ trait Product14[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
override def productArity = 14
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product15.scala b/src/library/scala/Product15.scala
index 1c6ad0011c..4568aff1fe 100644
--- a/src/library/scala/Product15.scala
+++ b/src/library/scala/Product15.scala
@@ -24,7 +24,7 @@ trait Product15[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
override def productArity = 15
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product16.scala b/src/library/scala/Product16.scala
index f03b0b34a2..84dccb0ac8 100644
--- a/src/library/scala/Product16.scala
+++ b/src/library/scala/Product16.scala
@@ -24,7 +24,7 @@ trait Product16[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
override def productArity = 16
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product17.scala b/src/library/scala/Product17.scala
index 72df1b496a..0d50898bf4 100644
--- a/src/library/scala/Product17.scala
+++ b/src/library/scala/Product17.scala
@@ -24,7 +24,7 @@ trait Product17[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
override def productArity = 17
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product18.scala b/src/library/scala/Product18.scala
index 0402f90a01..9b32265d71 100644
--- a/src/library/scala/Product18.scala
+++ b/src/library/scala/Product18.scala
@@ -24,7 +24,7 @@ trait Product18[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
override def productArity = 18
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product19.scala b/src/library/scala/Product19.scala
index b9770db47b..fe6b95669b 100644
--- a/src/library/scala/Product19.scala
+++ b/src/library/scala/Product19.scala
@@ -24,7 +24,7 @@ trait Product19[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
override def productArity = 19
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product2.scala b/src/library/scala/Product2.scala
index a43a4a285c..091bcc89de 100644
--- a/src/library/scala/Product2.scala
+++ b/src/library/scala/Product2.scala
@@ -24,7 +24,7 @@ trait Product2[@specialized(Int, Long, Double) +T1, @specialized(Int, Long, Doub
override def productArity = 2
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product20.scala b/src/library/scala/Product20.scala
index 7b0df201ec..81315e3558 100644
--- a/src/library/scala/Product20.scala
+++ b/src/library/scala/Product20.scala
@@ -24,7 +24,7 @@ trait Product20[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
override def productArity = 20
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product21.scala b/src/library/scala/Product21.scala
index f81347aac0..b5967c06e1 100644
--- a/src/library/scala/Product21.scala
+++ b/src/library/scala/Product21.scala
@@ -24,7 +24,7 @@ trait Product21[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
override def productArity = 21
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product22.scala b/src/library/scala/Product22.scala
index 7a25891c6e..c7b9da5ce8 100644
--- a/src/library/scala/Product22.scala
+++ b/src/library/scala/Product22.scala
@@ -24,7 +24,7 @@ trait Product22[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9, +T10, +T11, +T12, +
override def productArity = 22
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product3.scala b/src/library/scala/Product3.scala
index 9976240935..7154bf5bdf 100644
--- a/src/library/scala/Product3.scala
+++ b/src/library/scala/Product3.scala
@@ -24,7 +24,7 @@ trait Product3[+T1, +T2, +T3] extends Any with Product {
override def productArity = 3
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product4.scala b/src/library/scala/Product4.scala
index d6c1543390..046f8c7a7c 100644
--- a/src/library/scala/Product4.scala
+++ b/src/library/scala/Product4.scala
@@ -24,7 +24,7 @@ trait Product4[+T1, +T2, +T3, +T4] extends Any with Product {
override def productArity = 4
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product5.scala b/src/library/scala/Product5.scala
index 5f1b11a30d..3e952c8c55 100644
--- a/src/library/scala/Product5.scala
+++ b/src/library/scala/Product5.scala
@@ -24,7 +24,7 @@ trait Product5[+T1, +T2, +T3, +T4, +T5] extends Any with Product {
override def productArity = 5
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product6.scala b/src/library/scala/Product6.scala
index efd9408d73..010c68711a 100644
--- a/src/library/scala/Product6.scala
+++ b/src/library/scala/Product6.scala
@@ -24,7 +24,7 @@ trait Product6[+T1, +T2, +T3, +T4, +T5, +T6] extends Any with Product {
override def productArity = 6
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product7.scala b/src/library/scala/Product7.scala
index fab0a997a1..24e5a5c05a 100644
--- a/src/library/scala/Product7.scala
+++ b/src/library/scala/Product7.scala
@@ -24,7 +24,7 @@ trait Product7[+T1, +T2, +T3, +T4, +T5, +T6, +T7] extends Any with Product {
override def productArity = 7
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product8.scala b/src/library/scala/Product8.scala
index 41391f7050..4a9f65b00e 100644
--- a/src/library/scala/Product8.scala
+++ b/src/library/scala/Product8.scala
@@ -24,7 +24,7 @@ trait Product8[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8] extends Any with Product
override def productArity = 8
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/Product9.scala b/src/library/scala/Product9.scala
index e22538e1ee..9af11f709a 100644
--- a/src/library/scala/Product9.scala
+++ b/src/library/scala/Product9.scala
@@ -24,7 +24,7 @@ trait Product9[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8, +T9] extends Any with Pro
override def productArity = 9
- /** Returns the n-th projection of this product if 0 < n <= productArity,
+ /** Returns the n-th projection of this product if 0 <= n < productArity,
* otherwise throws an `IndexOutOfBoundsException`.
*
* @param n number of the projection to be returned
diff --git a/src/library/scala/collection/GenTraversableOnce.scala b/src/library/scala/collection/GenTraversableOnce.scala
index 244ff26397..4af2ca23be 100644
--- a/src/library/scala/collection/GenTraversableOnce.scala
+++ b/src/library/scala/collection/GenTraversableOnce.scala
@@ -67,6 +67,23 @@ trait GenTraversableOnce[+A] extends Any {
*/
def foreach[U](f: A => U): Unit
+ /** Tests whether this $coll is known to have a finite size.
+ * All strict collections are known to have finite size. For a non-strict
+ * collection such as `Stream`, the predicate returns `'''true'''` if all
+ * elements have been computed. It returns `'''false'''` if the stream is
+ * not yet evaluated to the end. Non-empty Iterators usually return
+ * `'''false'''` even if they were created from a collection with a known
+ * finite size.
+ *
+ * Note: many collection methods will not work on collections of infinite sizes.
+ * The typical failure mode is an infinite loop. These methods always attempt a
+ * traversal without checking first that `hasDefiniteSize` returns `'''true'''`.
+ * However, checking `hasDefiniteSize` can provide an assurance that size is
+ * well-defined and non-termination is not a concern.
+ *
+ * @return `'''true'''` if this collection is known to have finite size,
+ * `'''false'''` otherwise.
+ */
def hasDefiniteSize: Boolean
def seq: TraversableOnce[A]
@@ -81,6 +98,9 @@ trait GenTraversableOnce[+A] extends Any {
/** Tests whether the $coll is empty.
*
+ * Note: Implementations in subclasses that are not repeatedly traversable must take
+ * care not to consume any elements when `isEmpty` is called.
+ *
* @return `true` if the $coll contains no elements, `false` otherwise.
*/
def isEmpty: Boolean
diff --git a/src/library/scala/collection/TraversableLike.scala b/src/library/scala/collection/TraversableLike.scala
index fa9a3a7482..d914f2e0ff 100644
--- a/src/library/scala/collection/TraversableLike.scala
+++ b/src/library/scala/collection/TraversableLike.scala
@@ -138,17 +138,6 @@ trait TraversableLike[+A, +Repr] extends Any
result
}
- /** Tests whether this $coll is known to have a finite size.
- * All strict collections are known to have finite size. For a non-strict
- * collection such as `Stream`, the predicate returns `'''true'''` if all
- * elements have been computed. It returns `'''false'''` if the stream is
- * not yet evaluated to the end.
- *
- * Note: many collection methods will not work on collections of infinite sizes.
- *
- * @return `'''true'''` if this collection is known to have finite size,
- * `'''false'''` otherwise.
- */
def hasDefiniteSize = true
def ++[B >: A, That](that: GenTraversableOnce[B])(implicit bf: CanBuildFrom[Repr, B, That]): That = {
diff --git a/src/library/scala/collection/TraversableOnce.scala b/src/library/scala/collection/TraversableOnce.scala
index 41362e8dd7..b87fcd166e 100644
--- a/src/library/scala/collection/TraversableOnce.scala
+++ b/src/library/scala/collection/TraversableOnce.scala
@@ -38,9 +38,10 @@ import scala.reflect.ClassTag
* `Traversables`, such as folds, conversions, and other operations which
* traverse some or all of the elements and return a derived value.
* Directly subclassing `TraversableOnce` is not recommended - instead,
- * consider declaring an `Iterator` with a `next` and `hasNext` method,
- * creating an `Iterator` with one of the methods on the `Iterator` object,
- * or declaring a subclass of `Traversable`.
+ * consider declaring an `Iterator` with a `next` and `hasNext` method or
+ * creating an `Iterator` with one of the methods on the `Iterator` object.
+ * Consider declaring a subclass of `Traversable` instead if the elements
+ * can be traversed repeatedly.
*
* @define coll traversable or iterator
* @define orderDependent
@@ -61,8 +62,8 @@ import scala.reflect.ClassTag
trait TraversableOnce[+A] extends Any with GenTraversableOnce[A] {
self =>
+ //TODO 2.12: Remove these methods. They are already defined in GenTraversableOnce
/* Self-documenting abstract methods. */
-
def foreach[U](f: A => U): Unit
def isEmpty: Boolean
def hasDefiniteSize: Boolean
diff --git a/src/library/scala/util/MurmurHash.scala b/src/library/scala/util/MurmurHash.scala
index e05fe0875b..1b6db5d6aa 100644
--- a/src/library/scala/util/MurmurHash.scala
+++ b/src/library/scala/util/MurmurHash.scala
@@ -10,7 +10,7 @@ package scala
package util
/** An implementation of Austin Appleby's MurmurHash 3.0 algorithm
- * (32 bit version); reference: http://code.google.com/p/smhasher
+ * (32 bit version); reference: https://github.com/aappleby/smhasher
*
* This is the hash used by collections and case classes (including
* tuples).
diff --git a/src/library/scala/util/hashing/MurmurHash3.scala b/src/library/scala/util/hashing/MurmurHash3.scala
index 4e5537954f..6a56910451 100644
--- a/src/library/scala/util/hashing/MurmurHash3.scala
+++ b/src/library/scala/util/hashing/MurmurHash3.scala
@@ -193,7 +193,7 @@ private[hashing] class MurmurHash3 {
* to remedy some weaknesses and improve performance. This represents the
* latest and supposedly final version of the algorithm (revision 136).
*
- * @see [[http://code.google.com/p/smhasher]]
+ * @see [[https://github.com/aappleby/smhasher]]
*/
object MurmurHash3 extends MurmurHash3 {
final val arraySeed = 0x3c074a61