diff options
-rw-r--r-- | src/dotty/tools/dotc/parsing/Parsers.scala | 2 | ||||
-rw-r--r-- | tests/pos-special/variances-constr.scala | 6 |
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() + } +} + |