summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2013-10-03 15:49:24 -0700
committerPaul Phillips <paulp@improving.org>2013-10-03 15:49:24 -0700
commit90a312669b37d6e3e3f08685953ded24759e6102 (patch)
treed3cb52921c989d91420819fe5452267cda489405 /src/library
parentb9284ac33345d9e654c44af74b5e1c92a37e2c6c (diff)
parent5708e9d73ba01c286d7155606b72caeab914face (diff)
downloadscala-90a312669b37d6e3e3f08685953ded24759e6102.tar.gz
scala-90a312669b37d6e3e3f08685953ded24759e6102.tar.bz2
scala-90a312669b37d6e3e3f08685953ded24759e6102.zip
Merge pull request #3005 from paulp/pr/7886
SI-7886 unsoundness in pattern matcher.
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/util/control/TailCalls.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/library/scala/util/control/TailCalls.scala b/src/library/scala/util/control/TailCalls.scala
index c3e7d98073..953d5b407e 100644
--- a/src/library/scala/util/control/TailCalls.scala
+++ b/src/library/scala/util/control/TailCalls.scala
@@ -55,7 +55,7 @@ object TailCalls {
case Done(a) => Call(() => f(a))
case c@Call(_) => Cont(c, f)
// Take advantage of the monad associative law to optimize the size of the required stack
- case Cont(s, g) => Cont(s, (x:Any) => g(x).flatMap(f))
+ case c: Cont[a1, b1] => Cont(c.a, (x: a1) => c f x flatMap f)
}
/** Returns either the next step of the tailcalling computation,