Skip to content

Commit 929714c

Browse files
Tag experimental API tests (#19811)
Add explicitly `-experimental -Yno-experimental` to tests that use definitions that are `@experimental` in the standard library. `-Yno-experimental` disables the experimental mode from nightly builds and `-experimental` adds `@experimental` to all top-level definitions. This is in preparation of #19760 and the disabling of experimental mode by default in nightly builds. When nighly experimental mode will be disabled we will be able to drop the `-Yno-experimental`. These tests are for * `scala.annotation.MacroAnnotation` * `scala.annotation.MainAnnotation` * `scala.annotation.newMain` * `scala.util.TupledFunction` * Expreminetal definitions in `scala.quoted.Quotes`
2 parents 6b52789 + e746116 commit 929714c

File tree

144 files changed

+244
-17
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

144 files changed

+244
-17
lines changed

tests/neg-macros/i18677-a.check

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
|The tree does not conform to the compiler's tree invariants.
88
|
99
|Macro was:
10-
|@scala.annotation.internal.SourceFile("tests/neg-macros/i18677-a/Test_2.scala") @extendFoo class AFoo()
10+
|@scala.annotation.internal.SourceFile("tests/neg-macros/i18677-a/Test_2.scala") @scala.annotation.experimental @extendFoo class AFoo()
1111
|
1212
|The macro returned:
13-
|@scala.annotation.internal.SourceFile("tests/neg-macros/i18677-a/Test_2.scala") @extendFoo class AFoo() extends Foo
13+
|@scala.annotation.internal.SourceFile("tests/neg-macros/i18677-a/Test_2.scala") @scala.annotation.experimental @extendFoo class AFoo() extends Foo
1414
|
1515
|Error:
1616
|assertion failed: Parents of class symbol differs from the parents in the tree for class AFoo

tests/neg-macros/i18677-a/Macro_1.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//> using -expermiental
1+
//> using options -experimental -Yno-experimental
22

33
import annotation.MacroAnnotation
44
import quoted.*
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//> using -expermiental
1+
//> using options -experimental -Yno-experimental
22

33
@extendFoo
44
class AFoo // error

tests/neg-macros/i18677-b.check

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
|The tree does not conform to the compiler's tree invariants.
88
|
99
|Macro was:
10-
|@scala.annotation.internal.SourceFile("tests/neg-macros/i18677-b/Test_2.scala") @extendFoo class AFoo()
10+
|@scala.annotation.internal.SourceFile("tests/neg-macros/i18677-b/Test_2.scala") @scala.annotation.experimental @extendFoo class AFoo()
1111
|
1212
|The macro returned:
13-
|@scala.annotation.internal.SourceFile("tests/neg-macros/i18677-b/Test_2.scala") @extendFoo class AFoo() extends Foo
13+
|@scala.annotation.internal.SourceFile("tests/neg-macros/i18677-b/Test_2.scala") @scala.annotation.experimental @extendFoo class AFoo() extends Foo
1414
|
1515
|Error:
1616
|assertion failed: Parents of class symbol differs from the parents in the tree for class AFoo

tests/neg-macros/i18677-b/Macro_1.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//> using -expermiental
1+
//> using options -experimental -Yno-experimental
22

33
import annotation.MacroAnnotation
44
import quoted.*
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//> using -expermiental
1+
//> using options -experimental -Yno-experimental
22

33
@extendFoo
44
class AFoo // error

tests/neg-macros/newClassExtendsNoParents/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.quoted.*
24

35
inline def makeClass(inline name: String): Any = ${ makeClassExpr('name) }
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1+
//> using options -experimental -Yno-experimental
2+
13
def test: Any = makeClass("foo") // error

tests/neg-macros/newClassExtendsOnlyTrait/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.quoted.*
24

35
inline def makeClass(inline name: String): Foo = ${ makeClassExpr('name) }
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1+
//> using options -experimental -Yno-experimental
2+
13
def test: Foo = makeClass("foo") // error

tests/pos-macros/annot-in-object/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
@Foo.void
24
@Foo.Bar.void
35
def test = 0

tests/pos-macros/annot-suspend/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1+
//> using options -experimental -Yno-experimental
2+
13
@void
24
def test = 0

tests/pos-macros/annot-then-inline/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1+
//> using options -experimental -Yno-experimental
2+
13
@useInlinedIdentity
24
def test = 0

tests/pos-macros/i15413/Macro_1.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//> using options -Werror -WunstableInlineAccessors
1+
//> using options -experimental -Yno-experimental -Werror -WunstableInlineAccessors
22

33
import scala.quoted.*
44
import scala.annotation.publicInBinary

tests/pos-macros/i15413/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1+
//> using options -experimental -Yno-experimental
2+
13
def test =
24
new Macro().foo

tests/pos-macros/i15413b/Macro_1.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//> using options -Werror -WunstableInlineAccessors
1+
//> using options -experimental -Yno-experimental -Werror -WunstableInlineAccessors
22

33
package bar
44

tests/pos-macros/i15413b/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1+
//> using options -experimental -Yno-experimental
2+
13
def test = bar.foo

tests/pos-macros/i19526b/Test.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
package crash.test
24

35
case class Stack private[crash] (

tests/run-macros/Xmacro-settings-compileTimeEnv/Test.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//> using options -Xmacro-settings:a,b=1,c.b.a=x.y.z=1,myLogger.level=INFO
1+
//> using options -experimental -Yno-experimental -Xmacro-settings:a,b=1,c.b.a=x.y.z=1,myLogger.level=INFO
22

33
import scala.compiletime.*
44

tests/run-macros/Xmacro-settings-simple/M1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
package x
24

35
import scala.quoted.*

tests/run-macros/annot-add-global-class/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
package mymacro
24

35
import scala.annotation.{experimental, MacroAnnotation}

tests/run-macros/annot-add-global-class/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import mymacro.addClass
24

35
@addClass def foo(): Unit =

tests/run-macros/annot-add-global-object/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35
import scala.collection.mutable

tests/run-macros/annot-add-global-object/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
@addClass def foo(): Unit =
24
println("macro generated main")
35
println("executed in: " + (new Throwable().getStackTrace().head.getClassName))

tests/run-macros/annot-add-local-class/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35
import scala.collection.mutable

tests/run-macros/annot-add-local-class/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
@main def Test(): Unit =
24
@addClass def foo(): Unit =
35
println("macro generated main")

tests/run-macros/annot-add-local-object/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35
import scala.collection.mutable

tests/run-macros/annot-add-local-object/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
@main def Test(): Unit =
24
@addClass def foo(): Unit =
35
println("macro generated main")

tests/run-macros/annot-add-nested-class/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35
import scala.collection.mutable

tests/run-macros/annot-add-nested-class/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
class Foo():
24
@addClass def foo(): Unit =
35
println("macro generated main")

tests/run-macros/annot-add-nested-object/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35
import scala.collection.mutable

tests/run-macros/annot-add-nested-object/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
class Foo():
24
@addClass def foo(): Unit =
35
println("macro generated main")

tests/run-macros/annot-annot-order/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35

tests/run-macros/annot-annot-order/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
@print("foo")
24
def foo(): Unit = ()
35

tests/run-macros/annot-bind/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35

tests/run-macros/annot-bind/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
@bind("a")
24
val foo: String = "foo"
35

tests/run-macros/annot-changeVal/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.experimental
24
import scala.quoted.*
35
import scala.annotation.MacroAnnotation

tests/run-macros/annot-changeVal/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import ChangeVal._
24

35
class Bar:
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.MacroAnnotation
24
import scala.quoted.*
35

46
class implementAFoo extends MacroAnnotation:
57

6-
def transform(using Quotes)(tree: quotes.reflect.Definition): List[quotes.reflect.Definition] =
8+
def transform(using Quotes)(tree: quotes.reflect.Definition): List[quotes.reflect.Definition] =
79
import quotes.reflect.*
810
tree match
9-
case ClassDef(name, cstr, parents, self, body) =>
11+
case ClassDef(name, cstr, parents, self, body) =>
1012
val owner = tree.symbol
1113
val sym = Symbol.newMethod(tree.symbol, "foo", ByNameType.apply(TypeRepr.of[String]))
1214
val mtd = DefDef.apply(sym, _ => Some(Literal(StringConstant("Hello, I was added by a MacroAnnotation and without being defined in the class."))))
1315
List(ClassDef.copy(tree)(name, cstr, parents, self, mtd :: body))
1416
case _ => report.errorAndAbort(s"@implementAFoo can only be applied to classes that extend AFoo")
15-
17+
1618
end implementAFoo
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1+
//> using options -experimental -Yno-experimental
12

23
trait AFoo:
34
def foo: String
45

56
@implementAFoo
67
class Foo extends AFoo
78

8-
@main def Test =
9+
@main def Test =
910
val foo = new Foo
1011
println(foo.foo)
11-

tests/run-macros/annot-export/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35
import scala.collection.mutable.Map

tests/run-macros/annot-export/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
object Bar:
24
@returnClassName
35
def f(): String = ??? // def f(): String = "Bar"

tests/run-macros/annot-gen2/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35

tests/run-macros/annot-gen2/Macro_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35

tests/run-macros/annot-gen2/Test_3.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
class Bar:
24
@foo def bar(s: String) = s
35

tests/run-macros/annot-generate/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35

tests/run-macros/annot-generate/Macro_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35

tests/run-macros/annot-generate/Test_3.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
class Bar:
24
@foo def bar(x: Int) = x + 1
35

tests/run-macros/annot-macro-main/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35
import scala.collection.mutable
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1+
//> using options -experimental -Yno-experimental
2+
13
@mainMacro def Test(): Unit = println("macro generated main")

tests/run-macros/annot-memo/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35
import scala.collection.mutable

tests/run-macros/annot-memo/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
class Bar:
24
@memoize
35
def fib(n: Int): Int =

tests/run-macros/annot-mod-class-add-def/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35
import scala.collection.mutable

tests/run-macros/annot-mod-class-add-def/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
@addIndirectToString("This is Foo")
24
class Foo
35
//> private def string$macro$1: String = "This is Foo"

tests/run-macros/annot-mod-class-add-inner-class/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35
import scala.collection.mutable

tests/run-macros/annot-mod-class-add-inner-class/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
@addInnerClass
24
class Foo
35
//> class Show:

tests/run-macros/annot-mod-class-add-lazy-val/Macro_1.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35
import scala.collection.mutable

tests/run-macros/annot-mod-class-add-lazy-val/Test_2.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
//> using options -experimental -Yno-experimental
2+
13
@addMemoToString("This is Foo")
24
class Foo
35
//> private lazy val string$macro$1: String = "This is Foo"

0 commit comments

Comments
 (0)