Skip to content

Commit 9524e02

Browse files
committed
Split tests
1 parent fac26d0 commit 9524e02

File tree

6 files changed

+128
-0
lines changed

6 files changed

+128
-0
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import scala.annotation.experimental
2+
3+
@experimental // error
4+
enum E: // error
5+
case A
6+
case B // error
7+
8+
def test: Unit =
9+
E.A // error
10+
E.B // error
11+
val e: E = ??? // error
12+
()
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import scala.annotation.experimental
2+
3+
@experimental // error
4+
class A:
5+
def f() = 1
6+
7+
@experimental // error
8+
class B extends A:
9+
override def f() = 2
10+
11+
class C:
12+
@experimental // error
13+
def f() = 1
14+
15+
class D extends C:
16+
override def f() = 2
17+
18+
trait A2:
19+
@experimental // error
20+
def f(): Int
21+
22+
trait B2:
23+
def f(): Int
24+
25+
class C2 extends A2, B2:
26+
def f(): Int = 1
27+
28+
def test: Unit =
29+
val a: A = ??? // error
30+
val b: B = ??? // error
31+
val c: C = ???
32+
val d: D = ???
33+
val c2: C2 = ???
34+
a.f() // error
35+
b.f() // error
36+
c.f() // error
37+
d.f() // ok because D.f is a stable API
38+
c2.f() // ok because B2.f is a stable API
39+
()
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import scala.annotation.experimental
2+
3+
@experimental // error
4+
trait ExpSAM {
5+
def foo(x: Int): Int
6+
}
7+
def bar(f: ExpSAM): Unit = {} // error
8+
9+
def test: Unit =
10+
bar(x => x) // error
11+
()
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import scala.annotation.experimental
2+
3+
@experimental // error
4+
val x = ()
5+
6+
@experimental // error
7+
def f() = ()
8+
9+
@experimental // error
10+
object X:
11+
def fx() = 1
12+
13+
def test: Unit =
14+
f() // error
15+
x // error
16+
X.fx() // error
17+
import X.fx // error
18+
fx() // error
19+
()
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import scala.annotation.experimental
2+
3+
@experimental // error
4+
class A
5+
6+
@experimental // error
7+
class B extends A
8+
9+
@experimental // error
10+
type X
11+
12+
@experimental // error
13+
type Y = Int
14+
15+
@experimental // error
16+
opaque type Z = Int
17+
18+
def test(
19+
p1: A, // error
20+
p2: List[A], // error
21+
p3: X, // error
22+
p4: Y, // error
23+
p5: Z, // error
24+
): Unit =
25+
new A // error
26+
new B // error
27+
val i1 = identity[X] // error // error
28+
val i2 = identity[A] // error // error
29+
()
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import scala.annotation.experimental
2+
3+
@experimental // error
4+
class A
5+
6+
object Extractor1:
7+
def unapply(s: Any): Option[A] = ??? // error
8+
9+
object Extractor2:
10+
@experimental // error
11+
def unapply(s: Any): Option[Int] = ???
12+
13+
def test: Unit =
14+
(??? : Any) match
15+
case _: A => // error // error
16+
case Extractor1(_) => // error
17+
case Extractor2(_) => // error
18+
()

0 commit comments

Comments
 (0)