diff options
author | Paul Phillips <paulp@improving.org> | 2013-10-03 15:49:24 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-10-03 15:49:24 -0700 |
commit | 90a312669b37d6e3e3f08685953ded24759e6102 (patch) | |
tree | d3cb52921c989d91420819fe5452267cda489405 /src/library | |
parent | b9284ac33345d9e654c44af74b5e1c92a37e2c6c (diff) | |
parent | 5708e9d73ba01c286d7155606b72caeab914face (diff) | |
download | scala-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.scala | 2 |
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, |