diff options
author | Martin Odersky <odersky@gmail.com> | 2016-10-01 21:23:05 +0200 |
---|---|---|
committer | Guillaume Martres <smarter@ubuntu.com> | 2016-10-11 19:21:01 +0200 |
commit | 79045e2c0e2830818a9be1dfaa2a7f7f83f9c0de (patch) | |
tree | 181c78feae6fbe79285a14eb8065b2f057cd9e10 /src | |
parent | d96bba0bfd5ab4d80c269bd04ff9ac4d863713db (diff) | |
download | dotty-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.scala | 5 |
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) |