Skip to content

Commit 1e402f3

Browse files
committed
Add import to tests
1 parent 6ace5b8 commit 1e402f3

23 files changed

+78
-27
lines changed

Diff for: scaladoc-testcases/src/tests/extensionParams.scala

+5
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,12 @@ extension [A <: List[Char]](using String)(using Unit)(a: A)(using Int)(using Num
5252
extension (using String)(using Unit)(a: Animal)(using Int)(using Number)
5353
def f11(b: Any)(c: Any): Any
5454
= ???
55+
56+
import scala.language.experimental.clauseInterleaving
57+
58+
extension (using String)(using Unit)(a: Animal)(using Int)(using Number)
5559
def f13(b: Any)[T](c: T): T
5660
= ???
5761
def f14[D](b: D)[T](c: T): T
5862
= ???
63+

Diff for: scaladoc-testcases/src/tests/methodsAndConstructors.scala

+3
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,8 @@ class Methods:
6060
def withImplicitParam2(v: String)(implicit ab: Double, a: Int, b: String): String
6161
= ???
6262

63+
import scala.language.experimental.clauseInterleaving
64+
6365
def clauseInterleaving[T](x: T)[U](y: U)(using (T, U)): (T, U)
6466
= ???
67+

Diff for: tests/neg/interleaving-ab.scala

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import scala.language.experimental.clauseInterleaving
2+
13
object Ab:
24
given String = ""
35
given Double = 0

Diff for: tests/neg/interleaving-params.scala

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import scala.language.experimental.clauseInterleaving
2+
13
class Params{
24
def bar[T](x: T)[T]: String = ??? // error
35
def zoo(x: Int)[T, U](x: U): T = ??? // error

Diff for: tests/neg/interleaving-signatureCollision.scala

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import scala.language.experimental.clauseInterleaving
2+
13
object signatureCollision:
24
def f[T](x: T)[U](y: U) = (x,y)
35
def f[T](x: T, y: T) = (x,y) // error

Diff for: tests/neg/interleaving-typeApply.check

+18-18
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1-
-- [E057] Type Mismatch Error: tests/neg/interleaving-typeApply.scala:8:11 ---------------------------------------------
2-
8 | f3[String]() // error
3-
| ^
4-
| Type argument String does not conform to upper bound Int
5-
|
6-
| longer explanation available when compiling with `-explain`
7-
-- [E057] Type Mismatch Error: tests/neg/interleaving-typeApply.scala:9:16 ---------------------------------------------
8-
9 | f5[Int][Unit] // error
9-
| ^
10-
| Type argument Unit does not conform to upper bound String
11-
|
12-
| longer explanation available when compiling with `-explain`
13-
-- [E057] Type Mismatch Error: tests/neg/interleaving-typeApply.scala:10:19 --------------------------------------------
14-
10 | f5[String][Unit] // error // error
1+
-- [E057] Type Mismatch Error: tests/neg/interleaving-typeApply.scala:10:11 --------------------------------------------
2+
10 | f3[String]() // error
3+
| ^
4+
| Type argument String does not conform to upper bound Int
5+
|
6+
| longer explanation available when compiling with `-explain`
7+
-- [E057] Type Mismatch Error: tests/neg/interleaving-typeApply.scala:11:16 --------------------------------------------
8+
11 | f5[Int][Unit] // error
9+
| ^
10+
| Type argument Unit does not conform to upper bound String
11+
|
12+
| longer explanation available when compiling with `-explain`
13+
-- [E057] Type Mismatch Error: tests/neg/interleaving-typeApply.scala:12:19 --------------------------------------------
14+
12 | f5[String][Unit] // error // error
1515
| ^
1616
| Type argument Unit does not conform to upper bound String
1717
|
1818
| longer explanation available when compiling with `-explain`
19-
-- [E057] Type Mismatch Error: tests/neg/interleaving-typeApply.scala:10:11 --------------------------------------------
20-
10 | f5[String][Unit] // error // error
19+
-- [E057] Type Mismatch Error: tests/neg/interleaving-typeApply.scala:12:11 --------------------------------------------
20+
12 | f5[String][Unit] // error // error
2121
| ^
2222
| Type argument String does not conform to upper bound Int
2323
|
2424
| longer explanation available when compiling with `-explain`
25-
-- [E057] Type Mismatch Error: tests/neg/interleaving-typeApply.scala:11:11 --------------------------------------------
26-
11 | f7[String]()[Unit] // error
25+
-- [E057] Type Mismatch Error: tests/neg/interleaving-typeApply.scala:13:11 --------------------------------------------
26+
13 | f7[String]()[Unit] // error
2727
| ^
2828
| Type argument String does not conform to upper bound Int
2929
|

Diff for: tests/neg/interleaving-typeApply.scala

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import scala.language.experimental.clauseInterleaving
2+
13
object typeApply:
24

35
def f3[T <: Int](using DummyImplicit)[U <: String](): T => T = ???

Diff for: tests/neg/interleaving-unmatched.scala

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import scala.language.experimental.clauseInterleaving
2+
13
object unmatched:
24
def f1[T (x: T)] = ??? // error
35
def f2(x: Any[)T] = ??? // error // error

Diff for: tests/neg/namedTypeParams.check

+4-4
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,11 @@
9292
| illegal repeated type application
9393
| You might have meant something like:
9494
| Test.f[Y = String, Int]
95-
-- [E102] Syntax Error: tests/neg/namedTypeParams.scala:32:9 -----------------------------------------------------------
96-
32 | f2[Y = String][X = Int](1, "") // error: Y is undefined
95+
-- [E102] Syntax Error: tests/neg/namedTypeParams.scala:33:9 -----------------------------------------------------------
96+
33 | f2[Y = String][X = Int](1, "") // error: Y is undefined
9797
| ^^^^^^
9898
| Type parameter Y is undefined. Expected one of X.
99-
-- [E102] Syntax Error: tests/neg/namedTypeParams.scala:33:9 -----------------------------------------------------------
100-
33 | f2[Y = String](1, "") // error: Y is undefined
99+
-- [E102] Syntax Error: tests/neg/namedTypeParams.scala:34:9 -----------------------------------------------------------
100+
34 | f2[Y = String](1, "") // error: Y is undefined
101101
| ^^^^^^
102102
| Type parameter Y is undefined. Expected one of X.

Diff for: tests/neg/namedTypeParams.scala

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ object Test:
2727

2828
object TestInterleaving:
2929
import language.experimental.namedTypeArguments
30+
import language.experimental.clauseInterleaving
3031
def f2[X](using DummyImplicit)[Y](x: X, y: Y): Int = ???
3132

3233
f2[Y = String][X = Int](1, "") // error: Y is undefined

Diff for: tests/neg/overrides.scala

+10-4
Original file line numberDiff line numberDiff line change
@@ -39,30 +39,36 @@ package p2 { // all being in the same package compiles fine
3939
class A[T] {
4040

4141
def f(x: T)(y: T = x) = y
42-
def b[U <: T](x: Int)[V >: T](y: String) = false
4342

4443
def next: T = ???
4544

45+
import scala.language.experimental.clauseInterleaving
46+
47+
def b[U <: T](x: Int)[V >: T](y: String) = false
4648
}
4749

4850
class B extends A[Int] {
4951

5052
def f(x: Int)(y: Int) = y // error: needs `override' modifier
5153

5254
f(2)()
53-
override def b[T <: Int](x: Int)(y: String) = true // error
5455

5556
override def next(): Int = ??? // error: incompatible type
57+
58+
import scala.language.experimental.clauseInterleaving
59+
60+
override def b[T <: Int](x: Int)(y: String) = true // error
5661
}
5762

5863
class C extends A[String] {
5964

6065
override def f(x: String) = x // error
6166

62-
override def b[T <: String](x: Int)[U >: Int](y: String) = true // error: incompatible type
63-
6467
override def next: Int = ??? // error: incompatible type
6568

69+
import scala.language.experimental.clauseInterleaving
70+
71+
override def b[T <: String](x: Int)[U >: Int](y: String) = true // error: incompatible type
6672
}
6773

6874
class X {

Diff for: tests/pos/interleaving-ba.scala

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import scala.language.experimental.clauseInterleaving
12

23
object BA {
34
given String = ""

Diff for: tests/pos/interleaving-chainedParams.scala

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import scala.language.experimental.clauseInterleaving
2+
13
object chainedParams{
24

35
trait Chain{

Diff for: tests/pos/interleaving-classless.scala

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import scala.language.experimental.clauseInterleaving
2+
13
def f1[T]()[U](x: T, y: U): (T, U) = (x, y)
24
def f2[T](x: T)[U](y: U): (T, U) = (x, y)
35
def f3[T, U](using DummyImplicit)[V](x: T): U = ???

Diff for: tests/pos/interleaving-functor.scala

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import scala.language.experimental.clauseInterleaving
2+
13
object functorInterleaving:
24
//taken from https://dotty.epfl.ch/docs/reference/contextual/type-classes.html
35
//at version 3.1.1-RC1-bin-20210930-01f040b-NIGHTLY

Diff for: tests/pos/interleaving-newline.scala

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import scala.language.experimental.clauseInterleaving
2+
13
object newline {
24
def multipleLines
35
[T]

Diff for: tests/pos/interleaving-overload.scala

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import scala.language.experimental.clauseInterleaving
12

23
class A{
34

Diff for: tests/pos/interleaving-params.scala

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import scala.language.experimental.clauseInterleaving
2+
13
class Params{
24
type U
35
def foo[T](x: T)[U >: x.type <: T](using U)[L <: List[U]](l: L): L = ???

Diff for: tests/pos/interleaving-signatureCollision.scala

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import scala.language.experimental.clauseInterleaving
12
import scala.annotation.targetName
23

34
object signatureCollision:

Diff for: tests/pos/interleaving-typeApply.scala

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import scala.language.experimental.clauseInterleaving
2+
13
object typeApply:
24

35
def f0[T]: [U] => T => T = ???
@@ -10,6 +12,7 @@ object typeApply:
1012
def f7[T <: Int](using DummyImplicit)[U <: String]()[X <: Unit]: X => X = ???
1113

1214
@main def test = {
15+
import scala.language.experimental.namedTypeArguments
1316
f0[Int][String]
1417
f1[Int][String]
1518
f2[Int][String]()

Diff for: tests/pos/namedTypeParams.scala

+4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import language.experimental.namedTypeArguments
2+
23
object Test {
34

45
def f[X, Y](x: X, y: Y): Int = ???
@@ -7,7 +8,10 @@ object Test {
78
f[X = Int, Y = String](1, "")
89
f[X = Int](1, "")
910
f[Y = String](1, "")
11+
}
1012

13+
object TestInterleaving{
14+
import language.experimental.clauseInterleaving
1115
def f2[X](using DummyImplicit)[Y](x: X, y: Y): Int = ???
1216

1317
f2[X = Int][Y = String](1, "")

Diff for: tests/pos/overrides.scala

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
class A[T] {
22

33
def f(x: T)(y: T = x) = y
4+
5+
import scala.language.experimental.clauseInterleaving
6+
47
def b[U <: T](x: Int)[V >: T](y: String) = false
58

69
}
7-
810
class B extends A[Int] {
911

1012
override def f(x: Int)(y: Int) = y
1113

1214
f(2)()
1315

16+
17+
import scala.language.experimental.clauseInterleaving
18+
1419
override def b[T <: Int](x: Int)[U >: Int](y: String) = true
1520

1621
}

Diff for: tests/run/interleaving.scala

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
object Test extends App {
2+
import scala.language.experimental.clauseInterleaving
23
trait Key { type Value }
34
trait DB {
45
def getOrElse(k: Key)[V >: k.Value](default: V): V // dependent type parameter

0 commit comments

Comments
 (0)