Skip to content

Commit 1302da3

Browse files
Merge pull request #10859 from griggt/fix-#7375
Fix #7375: Add regression test
2 parents b7405bb + 19841a5 commit 1302da3

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

tests/pos/i7375.scala

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
trait Entity[M, T, P]:
2+
extension (me: M) def receive(sender: T)(msg: P)(using Entity[T, M, P]): Unit
3+
extension (me: M) def name(): String
4+
5+
class GreetingPerson(private val name: String)
6+
7+
object GreetingPerson:
8+
given GreetingPersonEntity: Entity[GreetingPerson, GreetedPerson, String] with
9+
extension (me: GreetingPerson) def receive(sender: GreetedPerson)(msg: String)(using Entity[GreetedPerson, GreetingPerson, String]): Unit =
10+
println(f"Thanks for saying $msg, ${sender.name()}")
11+
12+
extension (me: GreetingPerson) def name() =
13+
me.name
14+
15+
class GreetedPerson(private val name: String)
16+
17+
object GreetedPerson:
18+
given GreetedPersonEntity: Entity[GreetedPerson, GreetingPerson, String] with
19+
extension (me: GreetedPerson) def receive(sender: GreetingPerson)(msg: String)(using Entity[GreetingPerson, GreetedPerson, String]): Unit =
20+
println(f"Thanks for saying $msg, ${sender.name()}")
21+
22+
extension (me: GreetedPerson) def name() =
23+
me.name

tests/run/i7375.scala

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
class Foo(private val name: String)
2+
3+
extension (f: Foo) def name() = "bar"
4+
5+
@main def Test =
6+
assert(Foo("foo").name() == "bar")

0 commit comments

Comments
 (0)