diff options
author | Dmitry Petrashko <dark@d-d.me> | 2015-02-11 16:47:45 +0100 |
---|---|---|
committer | Dmitry Petrashko <dark@d-d.me> | 2015-02-11 16:47:45 +0100 |
commit | f1aa075b818cd7ff110ec3316a7713154c15daf8 (patch) | |
tree | d69db0675c5b79952ec8e44f7dff48fc24316e34 /src | |
parent | 03a2c6e74c07d08e79ee3323d3c1c38eb3d588ef (diff) | |
parent | 5150cad821a9e7db821732eeb19019b96e1975a0 (diff) | |
download | dotty-f1aa075b818cd7ff110ec3316a7713154c15daf8.tar.gz dotty-f1aa075b818cd7ff110ec3316a7713154c15daf8.tar.bz2 dotty-f1aa075b818cd7ff110ec3316a7713154c15daf8.zip |
Merge pull request #320 from smarter/fix/escaping-refs
Prevent block types with references to local symbols
Diffstat (limited to 'src')
-rw-r--r-- | src/dotty/tools/dotc/typer/Typer.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala index 59aba4723..1e07cbf79 100644 --- a/src/dotty/tools/dotc/typer/Typer.scala +++ b/src/dotty/tools/dotc/typer/Typer.scala @@ -472,7 +472,7 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit val Block(stats, expr) = block val leaks = escapingRefs(block) if (leaks.isEmpty) block - else if (isFullyDefined(pt, ForceDegree.all)) { + else if (isFullyDefined(pt, ForceDegree.none)) { val expr1 = Typed(expr, TypeTree(pt)) cpy.Block(block)(stats, expr1) withType expr1.tpe // no assignType here because avoid is redundant } else if (!forcedDefined) { |