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