diff options
author | Dmitry Petrashko <dark@d-d.me> | 2016-06-22 15:35:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-22 15:35:25 +0200 |
commit | 914d465aa13cf90fab71dbdf5ab314f9be191891 (patch) | |
tree | b7da6bca6cae5a6094b317842076011166ab557d /src | |
parent | af93e8821f7885819e04f3dfd6ab798e600d68cf (diff) | |
parent | 2b3c5c60cea83b3add2774bbfa840aa91312cb01 (diff) | |
download | dotty-914d465aa13cf90fab71dbdf5ab314f9be191891.tar.gz dotty-914d465aa13cf90fab71dbdf5ab314f9be191891.tar.bz2 dotty-914d465aa13cf90fab71dbdf5ab314f9be191891.zip |
Merge pull request #1309 from felixmulder/topic/fix#1307
Fix issue with GADT not typechecking without bind in match
Diffstat (limited to 'src')
-rw-r--r-- | src/dotty/tools/dotc/typer/Typer.scala | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala index 4f27912f1..07710d3b1 100644 --- a/src/dotty/tools/dotc/typer/Typer.scala +++ b/src/dotty/tools/dotc/typer/Typer.scala @@ -448,6 +448,10 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit return typed(untpd.Apply(untpd.TypedSplice(arg), tree.expr), pt) case _ => } + case tref: TypeRef if tref.symbol.isClass && !ctx.isAfterTyper => + val setBefore = ctx.mode is Mode.GADTflexible + tpt1.tpe.<:<(pt)(ctx.addMode(Mode.GADTflexible)) + if (!setBefore) ctx.retractMode(Mode.GADTflexible) case _ => } ascription(tpt1, isWildcard = true) |