aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-10-01 21:23:05 +0200
committerGuillaume Martres <smarter@ubuntu.com>2016-10-11 19:21:01 +0200
commit79045e2c0e2830818a9be1dfaa2a7f7f83f9c0de (patch)
tree181c78feae6fbe79285a14eb8065b2f057cd9e10 /src
parentd96bba0bfd5ab4d80c269bd04ff9ac4d863713db (diff)
downloaddotty-79045e2c0e2830818a9be1dfaa2a7f7f83f9c0de.tar.gz
dotty-79045e2c0e2830818a9be1dfaa2a7f7f83f9c0de.tar.bz2
dotty-79045e2c0e2830818a9be1dfaa2a7f7f83f9c0de.zip
Fix non-sensical code
Replacing or types by their dominators and implicit conversions caused the code to do the right thing anyway, but with the arrival of true or-types, this became a static error.
Diffstat (limited to 'src')
-rw-r--r--src/dotty/tools/dotc/transform/LambdaLift.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/transform/LambdaLift.scala b/src/dotty/tools/dotc/transform/LambdaLift.scala
index 18b030913..19fb3dd0c 100644
--- a/src/dotty/tools/dotc/transform/LambdaLift.scala
+++ b/src/dotty/tools/dotc/transform/LambdaLift.scala
@@ -121,7 +121,10 @@ class LambdaLift extends MiniPhase with IdentityDenotTransformer { thisTransform
private def symSet(f: LinkedHashMap[Symbol, SymSet], sym: Symbol): SymSet =
f.getOrElseUpdate(sym, newSymSet)
- def freeVars(sym: Symbol): List[Symbol] = free.getOrElse(sym, Nil).toList
+ def freeVars(sym: Symbol): List[Symbol] = free get sym match {
+ case Some(set) => set.toList
+ case None => Nil
+ }
def proxyOf(sym: Symbol, fv: Symbol) = proxyMap.getOrElse(sym, Map.empty)(fv)