diff --git a/compiler/src/dotty/tools/dotc/ast/untpd.scala b/compiler/src/dotty/tools/dotc/ast/untpd.scala index 7fb0872b4f28..de95526c5991 100644 --- a/compiler/src/dotty/tools/dotc/ast/untpd.scala +++ b/compiler/src/dotty/tools/dotc/ast/untpd.scala @@ -281,9 +281,10 @@ object untpd extends Trees.Instance[Untyped] with UntypedTreeInfo { else { if (ms.nonEmpty) for (m <- ms) - assert(flags.isAllOf(m.flags) || - m.isInstanceOf[Mod.Private] && !privateWithin.isEmpty, - s"unaccounted modifier: $m in $this when adding $ms") + assert(flags.isAllOf(m.flags) + || m.isInstanceOf[Mod.Private] && !privateWithin.isEmpty + || (m.isInstanceOf[Mod.Abstract] || m.isInstanceOf[Mod.Override]) && flags.is(AbsOverride), + s"unaccounted modifier: $m in $this with flags ${flags.flagsString} when adding $ms") copy(mods = ms) } diff --git a/tests/neg/i5037.scala b/tests/neg/i5037.scala new file mode 100644 index 000000000000..0433781461d9 --- /dev/null +++ b/tests/neg/i5037.scala @@ -0,0 +1,3 @@ +class Foo { +abstract override var // error +} \ No newline at end of file