From 3836bed97f3871d597f8c14f26084024894e9462 Mon Sep 17 00:00:00 2001 From: Nicolas Stucki Date: Thu, 24 Feb 2022 08:57:21 +0100 Subject: [PATCH] Add regression test Closes #14544 --- tests/neg/i14544.scala | 13 +++++++++++++ tests/pos/i14544.scala | 14 ++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 tests/neg/i14544.scala create mode 100644 tests/pos/i14544.scala diff --git a/tests/neg/i14544.scala b/tests/neg/i14544.scala new file mode 100644 index 000000000000..f77133b63e00 --- /dev/null +++ b/tests/neg/i14544.scala @@ -0,0 +1,13 @@ +import scala.language.strictEquality + +case class MyClass[A](value: String)(val a: A) derives CanEqual + +class Something {} + +val a = MyClass[Something]("some")(new Something()) +val b = MyClass[Something]("some")(new Something()) +val c = new Something() +val d = new Something() + +def test1 = println(a == b) // error +def test2 = println(c == d) // error diff --git a/tests/pos/i14544.scala b/tests/pos/i14544.scala new file mode 100644 index 000000000000..bcf28019bf46 --- /dev/null +++ b/tests/pos/i14544.scala @@ -0,0 +1,14 @@ +import scala.language.strictEquality + +case class MyClass[A](value: String)(val a: A) derives CanEqual + +class Something {} +given CanEqual[Something, Something] = CanEqual.derived + +val a = MyClass[Something]("some")(new Something()) +val b = MyClass[Something]("some")(new Something()) +val c = new Something() +val d = new Something() + +def test1 = println(a == b) +def test2 = println(c == d)