Skip to content

Commit 10a3a08

Browse files
committed
Update check for secondary constructors
1 parent 1cfea91 commit 10a3a08

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

compiler/src/dotty/tools/dotc/typer/Checking.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ object Checking {
341341
if (!ok && !sym.is(Synthetic))
342342
fail(i"modifier `$flag` is not allowed for this definition")
343343

344-
if (sym.is(Inline) && sym.is(ParamAccessor) && sym.owner.isClass)
344+
if (sym.is(Inline) && ((sym.is(ParamAccessor) && sym.owner.isClass) || sym.is(TermParam) && sym.owner.isClassConstructor))
345345
fail(ParamsNoInline(sym.owner))
346346

347347
if (sym.is(ImplicitCommon)) {

tests/neg/i3900.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,6 @@ class Foo(inline val i: Int) // error
22
case class Foo2(inline val i: Int) // error
33
class Foo3(inline val i: Int) extends AnyVal // error
44
trait Foo4(inline val i: Int) // error
5+
class Foo5() {
6+
def this(inline x: Int) = this() // error
7+
}

0 commit comments

Comments
 (0)