File tree 4 files changed +13
-8
lines changed 4 files changed +13
-8
lines changed Original file line number Diff line number Diff line change @@ -2,4 +2,6 @@ class Params{
2
2
def bar [T ](x : T )[T ]: String = ??? // error
3
3
def zoo (x : Int )[T , U ](x : U ): T = ??? // error
4
4
def bbb [T <: U ](x : U )[U ]: U = ??? // error // error
5
+ def f0 [T ](implicit x : T )[U ](y : U ) = (x,y) // error
6
+ def f1 [T ](implicit x : T )[U ] = (x,y) // error
5
7
}
Original file line number Diff line number Diff line change @@ -5,7 +5,8 @@ object typeApply:
5
5
def f7 [T <: Int ][U <: String ]()[X <: Unit ]: X => X = ???
6
6
7
7
@ main def test = {
8
- f3[String ] // error
8
+ f3[String ]() // error
9
9
f5[Int ][Unit ] // error
10
+ f5[String ][Unit ] // error // error
10
11
f7[String ]()[Unit ] // error
11
12
}
Original file line number Diff line number Diff line change 1
1
object unmatched :
2
2
def f1 [T (x : T )] = ??? // error
3
- def f2 [ T (x : T ) = ??? // error
4
- def f3 (x : Any [) T ] = ??? // error
3
+ def f2 (x : Any [) T ] = ??? // error // error
4
+ def f3 [ T (x : T ) = ??? // error
Original file line number Diff line number Diff line change @@ -17,11 +17,13 @@ object Test {
17
17
def f [X , Y ](x : X , y : Y ): Int = ???
18
18
19
19
f[X = Int , String ](1 , " " ) // error // error
20
- f[X = Int ][X = Int ][Y = String ](1 , " " ) // error: illegal repeated type application
20
+ /* Conflicts with Clause Interweaving, stems from named type parameters assuming one type clause
21
+ f[X = Int][X = Int][Y = String](1, "") // error
21
22
22
- f[X = Int ][Y = String ](1 , " " ) // error: illegal repeated type application
23
- f[X = Int ][String ](1 , " " ) // error: illegal repeated type application
23
+ f[X = Int][Y = String](1, "") // error
24
+ f[X = Int][String](1, "") // error
24
25
25
- f[Y = String ][X = Int ](1 , " " ) // error: illegal repeated type application
26
- f[Y = String ][Int ](1 , " " ) // error: illegal repeated type application
26
+ f[Y = String][X = Int](1, "") // error
27
+ f[Y = String][Int](1, "") // error
28
+ */
27
29
}
You can’t perform that action at this time.
0 commit comments