Skip to content

Commit

Permalink
fix: disallow infix objects
Browse files Browse the repository at this point in the history
Disallow `infix` objects by checking for the `infix` modifier in
`Checking.scala`.

Part of #17738
  • Loading branch information
arainko authored and mbovel committed Jun 19, 2023
1 parent ac2879e commit 2ddb6b9
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 0 deletions.
2 changes: 2 additions & 0 deletions compiler/src/dotty/tools/dotc/typer/Checking.scala
Original file line number Diff line number Diff line change
Expand Up @@ -584,6 +584,8 @@ object Checking {
report.error(ModifierNotAllowedForDefinition(Sealed), flagSourcePos(Sealed))
if mods.is(Final, butNot = Synthetic) then
report.warning(RedundantModifier(Final), flagSourcePos(Final))
if mods.is(Infix) then
report.error(ModifierNotAllowedForDefinition(Infix), flagSourcePos(Infix))

/** Check the type signature of the symbol `M` defined by `tree` does not refer
* to a private type or value which is invisible at a point where `M` is still
Expand Down
2 changes: 2 additions & 0 deletions tests/neg/i17738-infix-object/NestedInfixObject.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
object ToplevelObject:
infix object NestedInfixObject // error
1 change: 1 addition & 0 deletions tests/neg/i17738-infix-object/ToplevelInfixObject.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
infix object ToplevelInfixObject // error

0 comments on commit 2ddb6b9

Please sign in to comment.