File tree Expand file tree Collapse file tree 6 files changed +128
-0
lines changed
tests/neg-custom-args/no-experimental Expand file tree Collapse file tree 6 files changed +128
-0
lines changed Original file line number Diff line number Diff line change 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+ ()
Original file line number Diff line number Diff line change 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+ ()
Original file line number Diff line number Diff line change 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+ ()
Original file line number Diff line number Diff line change 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+ ()
Original file line number Diff line number Diff line change 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+ ()
Original file line number Diff line number Diff line change 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+ ()
You can’t perform that action at this time.
0 commit comments