aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dotty/tools/dotc/parsing/Parsers.scala2
-rw-r--r--tests/pos-special/variances-constr.scala6
2 files changed, 7 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/parsing/Parsers.scala b/src/dotty/tools/dotc/parsing/Parsers.scala
index e5202b515..71a03b9e2 100644
--- a/src/dotty/tools/dotc/parsing/Parsers.scala
+++ b/src/dotty/tools/dotc/parsing/Parsers.scala
@@ -1736,7 +1736,7 @@ object Parsers {
in.nextToken()
val vparamss = paramClauses(nme.CONSTRUCTOR)
val rhs = {
- if (!scala2ProcedureSyntax || in.token != LBRACE) accept(EQUALS)
+ if (!(in.token == LBRACE && scala2ProcedureSyntax)) accept(EQUALS)
atPos(in.offset) { constrExpr() }
}
makeConstructor(Nil, vparamss, rhs).withMods(mods)
diff --git a/tests/pos-special/variances-constr.scala b/tests/pos-special/variances-constr.scala
index b210b0440..ee4219b10 100644
--- a/tests/pos-special/variances-constr.scala
+++ b/tests/pos-special/variances-constr.scala
@@ -19,3 +19,9 @@ object Test {
}
}
+class CC[+A] {
+ class Inner {
+ def this(a: A) = this()
+ }
+}
+