summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-12-06 11:01:49 +0100
committerJason Zaugg <jzaugg@gmail.com>2013-12-06 11:01:49 +0100
commite0c2c14cd80fffa3f8af0836e55a5b8ca8c53d27 (patch)
tree1431c30261e51949510d3c6b7bddffc9cb393ff4 /src/library
parent2c4ed0b25042cc19dddd7585e9afd9ea78d2d86f (diff)
parent7d748846901feb098b9e3f46dd96d93201495a20 (diff)
downloadscala-e0c2c14cd80fffa3f8af0836e55a5b8ca8c53d27.tar.gz
scala-e0c2c14cd80fffa3f8af0836e55a5b8ca8c53d27.tar.bz2
scala-e0c2c14cd80fffa3f8af0836e55a5b8ca8c53d27.zip
Merge commit '7d74884' into merge-2.10.x-to-master
Conflicts: test/files/jvm/scala-concurrent-tck.scala
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/concurrent/Future.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/library/scala/concurrent/Future.scala b/src/library/scala/concurrent/Future.scala
index f905785bd6..d271c4cdeb 100644
--- a/src/library/scala/concurrent/Future.scala
+++ b/src/library/scala/concurrent/Future.scala
@@ -384,7 +384,10 @@ trait Future[+T] extends Awaitable[T] {
val p = Promise[U]()
onComplete {
case s @ Success(_) => p complete s
- case _ => p completeWith that
+ case f @ Failure(_) => that onComplete {
+ case s2 @ Success(_) => p complete s2
+ case _ => p complete f // Use the first failure as the failure
+ }
}
p.future
}