From fd7a463fbaa4fa5034eb1ec7da4af5f430dae011 Mon Sep 17 00:00:00 2001 From: Eugene Flesselle Date: Tue, 9 Jul 2024 11:01:06 +0200 Subject: [PATCH] Add test for #20377 fixed in #20504 --- tests/pos/i20377.scala | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 tests/pos/i20377.scala diff --git a/tests/pos/i20377.scala b/tests/pos/i20377.scala new file mode 100644 index 000000000000..7a4c0fccfd7e --- /dev/null +++ b/tests/pos/i20377.scala @@ -0,0 +1,23 @@ +import language.experimental.namedTuples +import NamedTuple.{NamedTuple, AnyNamedTuple} + +// Repros for bugs or questions +class ClassToMap[A]() +abstract class ClassToFind[Rows <: AnyNamedTuple]: + def mapped: NamedTuple.Map[Rows, ClassToMap] + +given TDB: ClassToFind[(t1: Int, t2: String)] with + override def mapped = ( + t1 = ClassToMap[Int](), + t2 = ClassToMap[String]() + ) + +type TypeAlias = (t1: Int, t2: String) +class Repro1_Pass(using val testDB: ClassToFind[TypeAlias]) { + def query() = + testDB.mapped.t1 +} +class Repro1_Fail(using val testDB: ClassToFind[(t1: Int, t2: String)]) { + def query() = + testDB.mapped.t1 // fails to compile +} \ No newline at end of file