diff --git a/library/src/scala/compiletime/ops/any.scala b/library/src/scala/compiletime/ops/any.scala index b3898f7896bb..fa2441d3cc01 100644 --- a/library/src/scala/compiletime/ops/any.scala +++ b/library/src/scala/compiletime/ops/any.scala @@ -1,7 +1,7 @@ package scala.compiletime package ops -import annotation.experimental +import annotation.since object any: /** Equality comparison of two singleton types. @@ -41,7 +41,7 @@ object any: * ``` * @syntax markdown */ - @experimental + @since("3.2") type IsConst[X] <: Boolean /** String conversion of a constant singleton type. @@ -51,5 +51,5 @@ object any: * ``` * @syntax markdown */ - @experimental + @since("3.2") type ToString[+X] <: String diff --git a/library/src/scala/compiletime/ops/double.scala b/library/src/scala/compiletime/ops/double.scala index e8eb85291a65..e518911bff5f 100644 --- a/library/src/scala/compiletime/ops/double.scala +++ b/library/src/scala/compiletime/ops/double.scala @@ -1,9 +1,9 @@ package scala.compiletime package ops -import scala.annotation.experimental +import annotation.since -@experimental +@since("3.2") object double: /** Addition of two `Double` singleton types. * ```scala diff --git a/library/src/scala/compiletime/ops/float.scala b/library/src/scala/compiletime/ops/float.scala index 3b9a3452929f..6ce41acf11ac 100644 --- a/library/src/scala/compiletime/ops/float.scala +++ b/library/src/scala/compiletime/ops/float.scala @@ -1,9 +1,8 @@ package scala.compiletime package ops -import scala.annotation.experimental +import annotation.since -@experimental object float: /** Addition of two `Float` singleton types. * ```scala @@ -11,6 +10,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type +[+X <: Float, +Y <: Float] <: Float /** Subtraction of two `Float` singleton types. @@ -19,6 +19,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type -[+X <: Float, +Y <: Float] <: Float /** Multiplication of two `Float` singleton types. @@ -27,6 +28,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type *[+X <: Float, +Y <: Float] <: Float /** Integer division of two `Float` singleton types. @@ -35,6 +37,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type /[+X <: Float, +Y <: Float] <: Float /** Remainder of the division of `X` by `Y`. @@ -43,6 +46,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type %[+X <: Float, +Y <: Float] <: Float /** Less-than comparison of two `Float` singleton types. @@ -52,6 +56,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type <[+X <: Float, +Y <: Float] <: Boolean /** Greater-than comparison of two `Float` singleton types. @@ -61,6 +66,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type >[+X <: Float, +Y <: Float] <: Boolean /** Greater-or-equal comparison of two `Float` singleton types. @@ -70,6 +76,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type >=[+X <: Float, +Y <: Float] <: Boolean /** Less-or-equal comparison of two `Float` singleton types. @@ -79,6 +86,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type <=[+X <: Float, +Y <: Float] <: Boolean /** Absolute value of an `Float` singleton type. @@ -87,6 +95,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type Abs[+X <: Float] <: Float /** Negation of an `Float` singleton type. @@ -96,6 +105,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type Negate[+X <: Float] <: Float /** Minimum of two `Float` singleton types. @@ -104,6 +114,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type Min[+X <: Float, +Y <: Float] <: Float /** Maximum of two `Float` singleton types. @@ -112,6 +123,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type Max[+X <: Float, +Y <: Float] <: Float /** Int conversion of a `Float` singleton type. @@ -120,6 +132,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type ToInt[+X <: Float] <: Int /** Long conversion of a `Float` singleton type. @@ -128,6 +141,7 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type ToLong[+X <: Float] <: Long /** Double conversion of a `Float` singleton type. @@ -136,4 +150,5 @@ object float: * ``` * @syntax markdown */ + @since("3.2") type ToDouble[+X <: Float] <: Double diff --git a/library/src/scala/compiletime/ops/int.scala b/library/src/scala/compiletime/ops/int.scala index 935d0dd2a45c..b869c3cf0470 100644 --- a/library/src/scala/compiletime/ops/int.scala +++ b/library/src/scala/compiletime/ops/int.scala @@ -1,7 +1,7 @@ package scala.compiletime package ops -import annotation.experimental +import annotation.since object int: /** Successor of a natural number where zero is the type 0 and successors are reduced as if the definition was: @@ -192,7 +192,7 @@ object int: * ``` * @syntax markdown */ - @experimental + @since("3.2") type ToLong[+X <: Int] <: Long /** Float conversion of an `Int` singleton type. @@ -201,7 +201,7 @@ object int: * ``` * @syntax markdown */ - @experimental + @since("3.2") type ToFloat[+X <: Int] <: Float /** Double conversion of an `Int` singleton type. @@ -210,7 +210,7 @@ object int: * ``` * @syntax markdown */ - @experimental + @since("3.2") type ToDouble[+X <: Int] <: Double /** Number of zero bits preceding the highest-order ("leftmost") @@ -225,5 +225,5 @@ object int: * ``` * @syntax markdown */ - @experimental + @since("3.2") type NumberOfLeadingZeros[+X <: Int] <: Int diff --git a/library/src/scala/compiletime/ops/long.scala b/library/src/scala/compiletime/ops/long.scala index 87c0c90631c9..dd606d628045 100644 --- a/library/src/scala/compiletime/ops/long.scala +++ b/library/src/scala/compiletime/ops/long.scala @@ -1,9 +1,8 @@ package scala.compiletime package ops -import scala.annotation.experimental +import annotation.since -@experimental object long: /** Successor of a natural number where zero is the type 0 and successors are reduced as if the definition was: * @@ -18,6 +17,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type S[+N <: Long] <: Long /** Addition of two `Long` singleton types. @@ -26,6 +26,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type +[+X <: Long, +Y <: Long] <: Long /** Subtraction of two `Long` singleton types. @@ -34,6 +35,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type -[+X <: Long, +Y <: Long] <: Long /** Multiplication of two `Long` singleton types. @@ -42,6 +44,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type *[+X <: Long, +Y <: Long] <: Long /** Integer division of two `Long` singleton types. @@ -50,6 +53,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type /[+X <: Long, +Y <: Long] <: Long /** Remainder of the division of `X` by `Y`. @@ -58,6 +62,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type %[+X <: Long, +Y <: Long] <: Long /** Binary left shift of `X` by `Y`. @@ -66,6 +71,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type <<[+X <: Long, +Y <: Long] <: Long /** Binary right shift of `X` by `Y`. @@ -74,6 +80,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type >>[+X <: Long, +Y <: Long] <: Long /** Binary right shift of `X` by `Y`, filling the left with zeros. @@ -82,6 +89,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type >>>[+X <: Long, +Y <: Long] <: Long /** Bitwise xor of `X` and `Y`. @@ -90,6 +98,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type ^[+X <: Long, +Y <: Long] <: Long /** Less-than comparison of two `Long` singleton types. @@ -99,6 +108,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type <[+X <: Long, +Y <: Long] <: Boolean /** Greater-than comparison of two `Long` singleton types. @@ -108,6 +118,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type >[+X <: Long, +Y <: Long] <: Boolean /** Greater-or-equal comparison of two `Long` singleton types. @@ -117,6 +128,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type >=[+X <: Long, +Y <: Long] <: Boolean /** Less-or-equal comparison of two `Long` singleton types. @@ -126,6 +138,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type <=[+X <: Long, +Y <: Long] <: Boolean /** Bitwise and of `X` and `Y`. @@ -135,6 +148,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type BitwiseAnd[+X <: Long, +Y <: Long] <: Long /** Bitwise or of `X` and `Y`. @@ -143,6 +157,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type BitwiseOr[+X <: Long, +Y <: Long] <: Long /** Absolute value of an `Long` singleton type. @@ -151,6 +166,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type Abs[+X <: Long] <: Long /** Negation of an `Long` singleton type. @@ -160,6 +176,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type Negate[+X <: Long] <: Long /** Minimum of two `Long` singleton types. @@ -168,6 +185,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type Min[+X <: Long, +Y <: Long] <: Long /** Maximum of two `Long` singleton types. @@ -176,6 +194,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type Max[+X <: Long, +Y <: Long] <: Long /** Number of zero bits preceding the highest-order ("leftmost") @@ -190,6 +209,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type NumberOfLeadingZeros[+X <: Long] <: Int /** Int conversion of a `Long` singleton type. @@ -198,6 +218,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type ToInt[+X <: Long] <: Int /** Float conversion of a `Long` singleton type. @@ -206,6 +227,7 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type ToFloat[+X <: Long] <: Float /** Double conversion of a `Long` singleton type. @@ -214,4 +236,5 @@ object long: * ``` * @syntax markdown */ + @since("3.2") type ToDouble[+X <: Long] <: Double diff --git a/library/src/scala/compiletime/ops/string.scala b/library/src/scala/compiletime/ops/string.scala index 3c7d2aefb4e1..c9d9359334ca 100644 --- a/library/src/scala/compiletime/ops/string.scala +++ b/library/src/scala/compiletime/ops/string.scala @@ -1,7 +1,7 @@ package scala.compiletime package ops -import scala.annotation.experimental +import annotation.since object string: /** Concatenation of two `String` singleton types. @@ -18,7 +18,7 @@ object string: * ``` * @syntax markdown */ - @experimental + @since("3.2") type Length[+X <: String] <: Int /** Substring of a `String` singleton type, with a singleton type @@ -31,7 +31,7 @@ object string: * ``` * @syntax markdown */ - @experimental + @since("3.2") type Substring[+S <: String, +IBeg <: Int, +IEnd <: Int] <: String /** Tests if this `String` singleton type matches the given @@ -41,7 +41,7 @@ object string: * ``` * @syntax markdown */ - @experimental + @since("3.2") type Matches[+S <: String, +Regex <: String] <: Boolean /** Returns the Char type at the specified index. @@ -52,5 +52,5 @@ object string: * ``` * @syntax markdown */ - @experimental + @since("3.2") type CharAt[+S <: String, +Idx <: Int] <: Char