Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions compiler/src/dotty/tools/dotc/transform/SelectStatic.scala
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,6 @@ class SelectStatic extends MiniPhase with IdentityDenotTransformer {
}

private def normalize(t: Tree)(using Context) = t match {
case Select(Block(stats, qual), nm) =>
Block(stats, cpy.Select(t)(qual, nm))
case Apply(Block(stats, qual), nm) =>
Block(stats, Apply(qual, nm))
case TypeApply(Block(stats, qual), nm) =>
Expand Down
16 changes: 16 additions & 0 deletions tests/pos/24707/BuggyClass.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import scala.language.implicitConversions

class RichComposite(val comp: MockComposite) extends AnyVal {
def setRowLayout(margin: Int, spacing: Int, vertical: Boolean = false): MockLayout = ???
}

object Implicits {
implicit def toRichComposite(c: MockComposite): RichComposite = new RichComposite(c)
}

import Implicits.*

class BuggyClass(parent: MockComposite) {
val comp = new MockComposite(parent, 0)
comp.setRowLayout(5, 5).wrap = false // This triggers the bug
}
6 changes: 6 additions & 0 deletions tests/pos/24707/MockComposite.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// Mock Java class replacing SWT Composite
public class MockComposite {
public MockComposite(MockComposite parent, int style) {
// Constructor that mimics SWT's Composite(Composite, int)
}
}
4 changes: 4 additions & 0 deletions tests/pos/24707/MockLayout.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// Mock Java class replacing SWT RowLayout
public class MockLayout {
public boolean wrap; // The mutable field that triggers the bug
}
Loading