Skip to content

Commit 0b91d4e

Browse files
committed
Make TupledFunction experimental
1 parent bde9a79 commit 0b91d4e

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

library/src-bootstrapped/scala/runtime/TupledFunctions.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package scala.runtime
22

33
import scala.util.TupledFunction
4+
import scala.annotation.experimental
45

6+
@experimental
57
object TupledFunctions {
68

79
def tupledFunction0[F, G]: TupledFunction[F, G] = TupledFunction[F, G](

library/src/scala/util/TupledFunction.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
package scala.util
22

33
import scala.annotation.implicitNotFound
4+
import scala.annotation.experimental
45

56
/** Type class relating a `FunctionN[..., R]` with an equivalent tupled function `Function1[TupleN[...], R]`
67
*
78
* @tparam F a function type
89
* @tparam G a tupled function type (function of arity 1 receiving a tuple as argument)
910
*/
1011
@implicitNotFound("${F} cannot be tupled as ${G}")
12+
@experimental
1113
sealed trait TupledFunction[F, G]:
1214
def tupled(f: F): G
1315
def untupled(g: G): F
1416

17+
@experimental
1518
private[scala] object TupledFunction:
1619
def apply[F, G](tupledImpl: F => G, untupledImpl: G => F): TupledFunction[F, G] =
1720
new TupledFunction[F, G]:

project/MiMaFilters.scala

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import com.typesafe.tools.mima.core._
33

44
object MiMaFilters {
55
val Library: Seq[ProblemFilter] = Seq(
6-
// Experimental APIs that can be added in 3.2.0
6+
// Experimental APIs that can be added in 3.2.0 or later
77
ProblemFilters.exclude[DirectMissingMethodProblem]("scala.runtime.Tuples.append"),
88
ProblemFilters.exclude[ReversedMissingMethodProblem]("scala.quoted.Quotes#reflectModule#TypeReprMethods.substituteTypes"),
99
ProblemFilters.exclude[DirectMissingMethodProblem]("scala.quoted.Quotes#reflectModule#TypeReprMethods.substituteTypes"),
@@ -18,6 +18,12 @@ object MiMaFilters {
1818
ProblemFilters.exclude[ReversedMissingMethodProblem]("scala.quoted.Quotes#reflectModule#CompilationInfoModule.XmacroSettings"),
1919
ProblemFilters.exclude[DirectMissingMethodProblem]("scala.quoted.Quotes#reflectModule#CompilationInfoModule.XmacroSettings"),
2020

21+
// TupledFunction
22+
ProblemFilters.exclude[MissingClassProblem]("scala.runtime.TupledFunctions"),
23+
ProblemFilters.exclude[MissingClassProblem]("scala.runtime.TupledFunctions$"),
24+
ProblemFilters.exclude[MissingClassProblem]("scala.util.TupledFunction"),
25+
ProblemFilters.exclude[MissingClassProblem]("scala.util.TupledFunction$"),
26+
2127
// Private to the compiler - needed for forward binary compatibility
2228
ProblemFilters.exclude[MissingClassProblem]("scala.annotation.since")
2329
)

0 commit comments

Comments
 (0)