Skip to content

Commit 5b869a4

Browse files
committed
Add tests from #22645
1 parent f8b12dd commit 5b869a4

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

tests/pos/i22645a.scala

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import language.experimental.namedTuples
2+
object ExhibitA: // fails
3+
4+
class SelectableNT[N <: Tuple] extends Selectable:
5+
def selectDynamic(name: String) = ???
6+
type Names = Tuple.Map[N, [X] =>> X]
7+
type Fields = NamedTuple.NamedTuple[Names, (String, Int)]
8+
9+
val x = new SelectableNT[("name", "age")]
10+
x.name // fails
11+
12+
13+
object ExhibitB: // works
14+
15+
class SelectableNT[N <: Tuple] extends Selectable:
16+
def selectDynamic(name: String) = ???
17+
type Fields = NamedTuple.NamedTuple[N, (String, Int)]
18+
19+
val x = new SelectableNT[("name", "age")]
20+
x.name
21+
22+
23+
object ExhibitC: // works
24+
25+
class SelectableNT[N <: Tuple] extends Selectable:
26+
def selectDynamic(name: String) = ???
27+
type Fields = NamedTuple.NamedTuple[N, (String, Int)]
28+
29+
type N = ("name", "age")
30+
val x = new SelectableNT[N]
31+
x.name
32+
33+
34+
object ExhibitD: // works
35+
36+
class SelectableNT[N <: Tuple] extends Selectable:
37+
def selectDynamic(name: String) = ???
38+
type Fields = NamedTuple.NamedTuple[N, (String, Int)]
39+
40+
type N = ("name", "age")
41+
type Names = Tuple.Map[N, [X] =>> X]
42+
val x = new SelectableNT[Names]
43+
x.name
44+

0 commit comments

Comments
 (0)