diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2015-07-06 15:06:49 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2015-07-06 15:11:08 +1000 |
commit | f1d9667189ebad285553e912a2eac4a64093c8bf (patch) | |
tree | 4522b6199fc4316e4c15522733662dc590f3679e /src/main/scala/scala/async/internal/LiveVariables.scala | |
parent | 93dab7a6fe81227953d087813d5cab0d0634b9f2 (diff) | |
download | scala-async-f1d9667189ebad285553e912a2eac4a64093c8bf.tar.gz scala-async-f1d9667189ebad285553e912a2eac4a64093c8bf.tar.bz2 scala-async-f1d9667189ebad285553e912a2eac4a64093c8bf.zip |
[backport] Avoid masking real errors with NotImplemented awaiting Future[Nothing]
This commit disabled live variable analysis for intermediate values of type Nothing.
Fixes #104
(cherry picked from commit 6353443a0adec384172c38efac3bc96b9d2cbad2)
Diffstat (limited to 'src/main/scala/scala/async/internal/LiveVariables.scala')
-rw-r--r-- | src/main/scala/scala/async/internal/LiveVariables.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/main/scala/scala/async/internal/LiveVariables.scala b/src/main/scala/scala/async/internal/LiveVariables.scala index 23063ba..79ba18e 100644 --- a/src/main/scala/scala/async/internal/LiveVariables.scala +++ b/src/main/scala/scala/async/internal/LiveVariables.scala @@ -56,7 +56,7 @@ trait LiveVariables { // determine which fields should be live also at the end (will not be nulled out) val noNull: Set[Symbol] = liftedSyms.filter { sym => - sym.tpe.typeSymbol.isPrimitiveValueClass || liftables.exists { tree => + sym.tpe.typeSymbol.isPrimitiveValueClass || sym.tpe.typeSymbol == definitions.NothingClass || liftables.exists { tree => !liftedSyms.contains(tree.symbol) && tree.exists(_.symbol == sym) } } |