aboutsummaryrefslogtreecommitdiff
path: root/src/dotty
diff options
context:
space:
mode:
authorDmitry Petrashko <dark@d-d.me>2016-06-22 15:35:25 +0200
committerGitHub <noreply@github.com>2016-06-22 15:35:25 +0200
commit914d465aa13cf90fab71dbdf5ab314f9be191891 (patch)
treeb7da6bca6cae5a6094b317842076011166ab557d /src/dotty
parentaf93e8821f7885819e04f3dfd6ab798e600d68cf (diff)
parent2b3c5c60cea83b3add2774bbfa840aa91312cb01 (diff)
downloaddotty-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/dotty')
-rw-r--r--src/dotty/tools/dotc/typer/Typer.scala4
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)