Skip to content
Merged
Show file tree
Hide file tree
Changes from 86 commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
ac2ffaa
Extend TODO with Scala 2
natsukagami Aug 7, 2025
40f875f
Add capture checking to scala.Array
natsukagami Aug 7, 2025
0e37625
Copy generator implementations from scala 2.13.17
natsukagami Aug 11, 2025
00dc9d3
Add Scala 2.13 import to generated files to match current source
natsukagami Aug 11, 2025
6372132
Rename cardinal to integer
natsukagami Aug 11, 2025
88ee08c
Make opType documentation and code clearer
natsukagami Aug 11, 2025
9070166
Typo and style changes
natsukagami Aug 11, 2025
0c31c4a
Add documentation and simplify some implicit classes
natsukagami Aug 11, 2025
fe0c8ca
Simplify some generation logic of GenerateFunctionConverters
natsukagami Aug 11, 2025
f00abf8
Style changes in GenerateLibraryNTemplates
natsukagami Aug 11, 2025
2152a4d
Drop self type for FunctionN
natsukagami Aug 11, 2025
7aca413
Add capture checking to PartialFunction
natsukagami Aug 11, 2025
ce268f3
Add captures to ArrayOps
natsukagami Aug 11, 2025
300ee39
Add captures to BitSet
natsukagami Aug 12, 2025
426b0c7
Add capture checking to BufferedIterator
natsukagami Aug 12, 2025
498f156
Add capture checking to BuildFrom
natsukagami Aug 12, 2025
c235ee2
First pass thru IterableOnce
natsukagami Aug 12, 2025
2e2393a
First pass to Iterable
natsukagami Aug 12, 2025
20a38bb
Iterators are compiling
natsukagami Aug 12, 2025
83c3d01
Add this capture to Iterator methods
natsukagami Aug 12, 2025
117b9ab
Add capture checking to View
natsukagami Aug 12, 2025
3ac001a
DO NOT MERGE remove warnings when building stdlib
natsukagami Aug 12, 2025
ba6167f
Split IterableFactory to a strict version, with a pure collection con…
natsukagami Aug 13, 2025
db84885
Capture-check Seq and IndexedSeq
natsukagami Aug 13, 2025
b3f868a
Capture check LazyZipOps, LinearSeq, Searching
natsukagami Aug 13, 2025
9993dd6
Capture-check stepper
natsukagami Aug 13, 2025
71a45e3
Capture-check StrictOptimizedOps for Seq and Iterable
natsukagami Aug 13, 2025
919a59d
Capture check StringOps and StringParsers
natsukagami Aug 13, 2025
48044bc
Capture-check WithFilter
natsukagami Aug 13, 2025
a864d71
Capture-check Set and SortedSet
natsukagami Aug 13, 2025
f161436
Add captures to Map, SeqMap, MapView
natsukagami Aug 13, 2025
ba2c1b0
Capture-check sorted maps
natsukagami Aug 13, 2025
c4e076e
Capture check SeqView
natsukagami Aug 13, 2025
1165f3e
Capture-check JavaConverters
natsukagami Aug 13, 2025
a01682f
Add strict operations to StrictIndexedSeqOps
natsukagami Aug 14, 2025
778f86d
Capture check immutable.Seq, ArraySeq
natsukagami Aug 14, 2025
4f56818
Capture-check immutable.Iterable and ChampCommon
natsukagami Aug 14, 2025
ef53024
Capture-checking immutable.StrictOptimizedSeqOps
natsukagami Aug 14, 2025
3a01da5
Capture check immutable.Map and HashMap
natsukagami Aug 14, 2025
9d850c0
Capture check immutable.Set and HashSet
natsukagami Aug 14, 2025
3a0999e
Capture-check IntMap and LongMap
natsukagami Aug 14, 2025
e31c1a2
Capture-check mutable maps
Linyxus Aug 14, 2025
0df11f9
Capture check mutable buffers
Linyxus Aug 14, 2025
5f26a75
Capture-check various collections
Linyxus Aug 14, 2025
c49e17b
Capture check Builder
Linyxus Aug 14, 2025
25ce3ec
Capture check mutable collections done
Linyxus Aug 14, 2025
849254c
Capture check ImmutableBuilder
Linyxus Aug 14, 2025
5dd6c81
One missing carrot
Linyxus Aug 14, 2025
4222eba
Capture check LazyList as LazyListIterable
natsukagami Aug 14, 2025
4b70944
Add back LazyList with a note
natsukagami Aug 14, 2025
1d6da4c
Make Set/HashSet compile again
natsukagami Aug 14, 2025
92b84db
Capture check immutable.List{,Map,Set}
natsukagami Aug 14, 2025
b4db5d9
Capture check Range and NumericRange
natsukagami Aug 14, 2025
fbf47c4
Use ListBuffer.mapResult instead of declaring our own builder class
natsukagami Aug 14, 2025
618fa31
Capture-check immutable.Queue and WrappedString
natsukagami Aug 14, 2025
fc0b733
Capture-check immutable.Tree and Sorted
natsukagami Aug 14, 2025
dbac08e
Capture-check immutable.Vector and VectorMap
natsukagami Aug 14, 2025
7d83add
Capture-check concurrent files
natsukagami Aug 14, 2025
6121ae2
Capture-check converters
natsukagami Aug 14, 2025
6214347
Capture-check collection/generic
natsukagami Aug 14, 2025
468e05c
Capture-check AsJavaConverters
natsukagami Aug 14, 2025
ebd6887
Capture-check collection package
natsukagami Aug 14, 2025
8f2fd14
Fix partial function test
natsukagami Aug 14, 2025
c8dd681
Fix wrong casting to Nothing
natsukagami Aug 15, 2025
9fd6bb1
Map's KeySet has to be pure, so we make it strict
natsukagami Aug 15, 2025
f5f5b94
Removal of extra captures
natsukagami Aug 15, 2025
07547f4
For some reason Pure has to extend Any
natsukagami Aug 15, 2025
cb2fd3b
Add a couple missing hats
natsukagami Aug 16, 2025
ab8cde1
Remove generators
natsukagami Aug 16, 2025
64c3cd0
Undo build changes
natsukagami Aug 16, 2025
7d99e9f
Remove TODO
natsukagami Aug 16, 2025
b94bf42
Emit StrictFactory for arrays and strings
natsukagami Aug 16, 2025
6540914
Fix new errors stemming from pattern matching working ;)
natsukagami Aug 16, 2025
703cceb
Remove the TODO on WrappedString
natsukagami Aug 16, 2025
783ea88
Properly _not_ capture *this* inside the KeySet implementation
natsukagami Aug 16, 2025
98e7b80
Drop strict overrides from StrictMapOps and StrictSeqOps
natsukagami Aug 18, 2025
839c37e
Drop StrictFactory and capture check library-js version of Array instead
natsukagami Aug 19, 2025
ae7f589
Drop StrictIterableFactory in favor of caps.Pure constraints
natsukagami Aug 19, 2025
5ef1606
Drop StrictSeqOps and StrictIndexedSeqOps
natsukagami Aug 19, 2025
4e8df36
Drop StrictMapFactory in favor of caps.Pure constraints
natsukagami Aug 19, 2025
0cf4715
Remove KeySet overload, we can remove StrictMapOps now
natsukagami Aug 19, 2025
8eb1a8e
Drop StrictMapOps and replace them with caps.Pure bounds
natsukagami Aug 19, 2025
6650110
Temporarily disable the partial function tests
natsukagami Aug 19, 2025
7b18bce
Address smaller changes
natsukagami Aug 19, 2025
fd0281e
Fix build failure
natsukagami Aug 19, 2025
c343eff
Some fixes from review
natsukagami Aug 19, 2025
c6a8ba5
Pls compile
natsukagami Aug 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions library-js/src/scala/Array.scala
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@

package scala

import language.experimental.captureChecking

//import scala.collection.generic._
import scala.collection.{Factory, immutable, mutable}
import mutable.ArrayBuilder
Expand Down Expand Up @@ -61,7 +63,7 @@ object Array {
implicit def toFactory[A : ClassTag](dummy: Array.type): Factory[A, Array[A]] = new ArrayFactory(dummy)
@SerialVersionUID(3L)
private class ArrayFactory[A : ClassTag](dummy: Array.type) extends Factory[A, Array[A]] with Serializable {
def fromSpecific(it: IterableOnce[A]): Array[A] = Array.from[A](it)
def fromSpecific(it: IterableOnce[A]^): Array[A] = Array.from[A](it)
def newBuilder: mutable.Builder[A, Array[A]] = Array.newBuilder[A]
}

Expand All @@ -70,7 +72,7 @@ object Array {
*/
def newBuilder[T](implicit t: ClassTag[T]): ArrayBuilder[T] = ArrayBuilder.make[T](using t)

def from[A : ClassTag](it: IterableOnce[A]): Array[A] = {
def from[A: ClassTag](it: IterableOnce[A]^): Array[A] = {
val n = it.knownSize
if (n > -1) {
val elements = new Array[A](n)
Expand Down Expand Up @@ -656,7 +658,7 @@ object Array {
* @define collectExample
* @define undefinedorder
*/
final class Array[T](_length: Int) extends java.io.Serializable with java.lang.Cloneable {
final class Array[T](_length: Int) extends java.io.Serializable with java.lang.Cloneable { self =>

/** The length of the array */
def length: Int = throw new Error()
Expand Down
7 changes: 4 additions & 3 deletions library/src/scala/Array.scala
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
package scala

import scala.language.`2.13`
import language.experimental.captureChecking

//import scala.collection.generic._
import scala.collection.{Factory, immutable, mutable}
Expand Down Expand Up @@ -49,7 +50,7 @@ object Array {
implicit def toFactory[A : ClassTag](dummy: Array.type): Factory[A, Array[A]] = new ArrayFactory(dummy)
@SerialVersionUID(3L)
private class ArrayFactory[A : ClassTag](dummy: Array.type) extends Factory[A, Array[A]] with Serializable {
def fromSpecific(it: IterableOnce[A]): Array[A] = Array.from[A](it)
def fromSpecific(it: IterableOnce[A]^): Array[A] = Array.from[A](it)
def newBuilder: mutable.Builder[A, Array[A]] = Array.newBuilder[A]
}

Expand All @@ -71,7 +72,7 @@ object Array {
* @param it the iterable collection
* @return an array consisting of elements of the iterable collection
*/
def from[A : ClassTag](it: IterableOnce[A]): Array[A] = it match {
def from[A : ClassTag](it: IterableOnce[A]^): Array[A] = it match {
case it: Iterable[A] => it.toArray[A]
case _ => it.iterator.toArray[A]
}
Expand Down Expand Up @@ -659,7 +660,7 @@ object Array {
* @define collectExample
* @define undefinedorder
*/
final class Array[T](_length: Int) extends java.io.Serializable with java.lang.Cloneable {
final class Array[T](_length: Int) extends java.io.Serializable with java.lang.Cloneable { self: Array[T] =>

/** The length of the array */
def length: Int = throw new Error()
Expand Down
4 changes: 2 additions & 2 deletions library/src/scala/Boolean.scala
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ final abstract class Boolean private extends AnyVal {

object Boolean extends AnyValCompanion {

/** Transform a value type into a boxed reference type.
/** Transforms a value type into a boxed reference type.
*
* Runtime implementation determined by `scala.runtime.BoxesRunTime.boxToBoolean`. See [[https://github.com/scala/scala src/library/scala/runtime/BoxesRunTime.java]].
*
Expand All @@ -123,7 +123,7 @@ object Boolean extends AnyValCompanion {
*/
def box(x: Boolean): java.lang.Boolean = ???

/** Transform a boxed type into a value type. Note that this
/** Transforms a boxed type into a value type. Note that this
* method is not typesafe: it accepts any Object, but will throw
* an exception if the argument is not a java.lang.Boolean.
*
Expand Down
4 changes: 2 additions & 2 deletions library/src/scala/Byte.scala
Original file line number Diff line number Diff line change
Expand Up @@ -455,7 +455,7 @@ object Byte extends AnyValCompanion {
/** The largest value representable as a Byte. */
final val MaxValue = java.lang.Byte.MAX_VALUE

/** Transform a value type into a boxed reference type.
/** Transforms a value type into a boxed reference type.
*
* Runtime implementation determined by `scala.runtime.BoxesRunTime.boxToByte`. See [[https://github.com/scala/scala src/library/scala/runtime/BoxesRunTime.java]].
*
Expand All @@ -464,7 +464,7 @@ object Byte extends AnyValCompanion {
*/
def box(x: Byte): java.lang.Byte = ???

/** Transform a boxed type into a value type. Note that this
/** Transforms a boxed type into a value type. Note that this
* method is not typesafe: it accepts any Object, but will throw
* an exception if the argument is not a java.lang.Byte.
*
Expand Down
4 changes: 2 additions & 2 deletions library/src/scala/Char.scala
Original file line number Diff line number Diff line change
Expand Up @@ -455,7 +455,7 @@ object Char extends AnyValCompanion {
/** The largest value representable as a Char. */
final val MaxValue = java.lang.Character.MAX_VALUE

/** Transform a value type into a boxed reference type.
/** Transforms a value type into a boxed reference type.
*
* Runtime implementation determined by `scala.runtime.BoxesRunTime.boxToCharacter`. See [[https://github.com/scala/scala src/library/scala/runtime/BoxesRunTime.java]].
*
Expand All @@ -464,7 +464,7 @@ object Char extends AnyValCompanion {
*/
def box(x: Char): java.lang.Character = ???

/** Transform a boxed type into a value type. Note that this
/** Transforms a boxed type into a value type. Note that this
* method is not typesafe: it accepts any Object, but will throw
* an exception if the argument is not a java.lang.Character.
*
Expand Down
4 changes: 2 additions & 2 deletions library/src/scala/Double.scala
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ object Double extends AnyValCompanion {
/** The largest finite positive number representable as a Double. */
final val MaxValue = java.lang.Double.MAX_VALUE

/** Transform a value type into a boxed reference type.
/** Transforms a value type into a boxed reference type.
*
* Runtime implementation determined by `scala.runtime.BoxesRunTime.boxToDouble`. See [[https://github.com/scala/scala src/library/scala/runtime/BoxesRunTime.java]].
*
Expand All @@ -239,7 +239,7 @@ object Double extends AnyValCompanion {
*/
def box(x: Double): java.lang.Double = ???

/** Transform a boxed type into a value type. Note that this
/** Transforms a boxed type into a value type. Note that this
* method is not typesafe: it accepts any Object, but will throw
* an exception if the argument is not a java.lang.Double.
*
Expand Down
4 changes: 2 additions & 2 deletions library/src/scala/Float.scala
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ object Float extends AnyValCompanion {
/** The largest finite positive number representable as a Float. */
final val MaxValue = java.lang.Float.MAX_VALUE

/** Transform a value type into a boxed reference type.
/** Transforms a value type into a boxed reference type.
*
* Runtime implementation determined by `scala.runtime.BoxesRunTime.boxToFloat`. See [[https://github.com/scala/scala src/library/scala/runtime/BoxesRunTime.java]].
*
Expand All @@ -239,7 +239,7 @@ object Float extends AnyValCompanion {
*/
def box(x: Float): java.lang.Float = ???

/** Transform a boxed type into a value type. Note that this
/** Transforms a boxed type into a value type. Note that this
* method is not typesafe: it accepts any Object, but will throw
* an exception if the argument is not a java.lang.Float.
*
Expand Down
4 changes: 2 additions & 2 deletions library/src/scala/Function0.scala
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
*/

// GENERATED CODE: DO NOT EDIT.
// genprod generated these sources at: 2022-01-17T20:47:12.170348200Z
// genprod generated these sources at: 2025-08-11T16:44:44.712777821Z

package scala

Expand All @@ -36,7 +36,7 @@ import scala.language.`2.13`
* }
* }}}
*/
trait Function0[@specialized(Specializable.Primitives) +R] extends AnyRef { self =>
trait Function0[@specialized(Specializable.Primitives) +R] extends AnyRef {
/** Apply the body of this function to the arguments.
* @return the result of function application.
*/
Expand Down
2 changes: 1 addition & 1 deletion library/src/scala/Function1.scala
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ object Function1 {
* is that the latter can specify inputs which it will not handle.
*/
@annotation.implicitNotFound(msg = "No implicit view available from ${T1} => ${R}.")
trait Function1[@specialized(Specializable.Arg) -T1, @specialized(Specializable.Return) +R] extends AnyRef { self =>
trait Function1[@specialized(Specializable.Arg) -T1, @specialized(Specializable.Return) +R] extends AnyRef {
/** Apply the body of this function to the argument.
* @return the result of function application.
*/
Expand Down
4 changes: 2 additions & 2 deletions library/src/scala/Function10.scala
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import scala.language.`2.13`
/** A function of 10 parameters.
*
*/
trait Function10[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, +R] extends AnyRef { self =>
trait Function10[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, +R] extends AnyRef {
/** Apply the body of this function to the arguments.
* @return the result of function application.
*/
Expand All @@ -29,7 +29,7 @@ trait Function10[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, +R] extends
* @return a function `f` such that `f(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x8)(x9)(x10) == apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)`
*/
@annotation.unspecialized def curried: T1 => T2 => T3 => T4 => T5 => T6 => T7 => T8 => T9 => T10 => R = {
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10) => self.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)).curried
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10) => this.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)).curried
}
/** Creates a tupled version of this function: instead of 10 arguments,
* it accepts a single [[scala.Tuple10]] argument.
Expand Down
4 changes: 2 additions & 2 deletions library/src/scala/Function11.scala
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import scala.language.`2.13`
/** A function of 11 parameters.
*
*/
trait Function11[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, +R] extends AnyRef { self =>
trait Function11[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, +R] extends AnyRef {
/** Apply the body of this function to the arguments.
* @return the result of function application.
*/
Expand All @@ -29,7 +29,7 @@ trait Function11[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, +R] ex
* @return a function `f` such that `f(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x8)(x9)(x10)(x11) == apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)`
*/
@annotation.unspecialized def curried: T1 => T2 => T3 => T4 => T5 => T6 => T7 => T8 => T9 => T10 => T11 => R = {
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11) => self.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)).curried
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11) => this.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)).curried
}
/** Creates a tupled version of this function: instead of 11 arguments,
* it accepts a single [[scala.Tuple11]] argument.
Expand Down
4 changes: 2 additions & 2 deletions library/src/scala/Function12.scala
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import scala.language.`2.13`
/** A function of 12 parameters.
*
*/
trait Function12[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, +R] extends AnyRef { self =>
trait Function12[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, +R] extends AnyRef {
/** Apply the body of this function to the arguments.
* @return the result of function application.
*/
Expand All @@ -29,7 +29,7 @@ trait Function12[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12,
* @return a function `f` such that `f(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x8)(x9)(x10)(x11)(x12) == apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)`
*/
@annotation.unspecialized def curried: T1 => T2 => T3 => T4 => T5 => T6 => T7 => T8 => T9 => T10 => T11 => T12 => R = {
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11, x12: T12) => self.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)).curried
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11, x12: T12) => this.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)).curried
}
/** Creates a tupled version of this function: instead of 12 arguments,
* it accepts a single [[scala.Tuple12]] argument.
Expand Down
4 changes: 2 additions & 2 deletions library/src/scala/Function13.scala
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import scala.language.`2.13`
/** A function of 13 parameters.
*
*/
trait Function13[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, +R] extends AnyRef { self =>
trait Function13[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, +R] extends AnyRef {
/** Apply the body of this function to the arguments.
* @return the result of function application.
*/
Expand All @@ -29,7 +29,7 @@ trait Function13[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12,
* @return a function `f` such that `f(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x8)(x9)(x10)(x11)(x12)(x13) == apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13)`
*/
@annotation.unspecialized def curried: T1 => T2 => T3 => T4 => T5 => T6 => T7 => T8 => T9 => T10 => T11 => T12 => T13 => R = {
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11, x12: T12, x13: T13) => self.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13)).curried
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11, x12: T12, x13: T13) => this.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13)).curried
}
/** Creates a tupled version of this function: instead of 13 arguments,
* it accepts a single [[scala.Tuple13]] argument.
Expand Down
4 changes: 2 additions & 2 deletions library/src/scala/Function14.scala
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import scala.language.`2.13`
/** A function of 14 parameters.
*
*/
trait Function14[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, +R] extends AnyRef { self =>
trait Function14[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, +R] extends AnyRef {
/** Apply the body of this function to the arguments.
* @return the result of function application.
*/
Expand All @@ -29,7 +29,7 @@ trait Function14[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12,
* @return a function `f` such that `f(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x8)(x9)(x10)(x11)(x12)(x13)(x14) == apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14)`
*/
@annotation.unspecialized def curried: T1 => T2 => T3 => T4 => T5 => T6 => T7 => T8 => T9 => T10 => T11 => T12 => T13 => T14 => R = {
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11, x12: T12, x13: T13, x14: T14) => self.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14)).curried
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11, x12: T12, x13: T13, x14: T14) => this.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14)).curried
}
/** Creates a tupled version of this function: instead of 14 arguments,
* it accepts a single [[scala.Tuple14]] argument.
Expand Down
4 changes: 2 additions & 2 deletions library/src/scala/Function15.scala
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import scala.language.`2.13`
/** A function of 15 parameters.
*
*/
trait Function15[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, +R] extends AnyRef { self =>
trait Function15[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, +R] extends AnyRef {
/** Apply the body of this function to the arguments.
* @return the result of function application.
*/
Expand All @@ -29,7 +29,7 @@ trait Function15[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12,
* @return a function `f` such that `f(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x8)(x9)(x10)(x11)(x12)(x13)(x14)(x15) == apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15)`
*/
@annotation.unspecialized def curried: T1 => T2 => T3 => T4 => T5 => T6 => T7 => T8 => T9 => T10 => T11 => T12 => T13 => T14 => T15 => R = {
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11, x12: T12, x13: T13, x14: T14, x15: T15) => self.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15)).curried
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11, x12: T12, x13: T13, x14: T14, x15: T15) => this.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15)).curried
}
/** Creates a tupled version of this function: instead of 15 arguments,
* it accepts a single [[scala.Tuple15]] argument.
Expand Down
4 changes: 2 additions & 2 deletions library/src/scala/Function16.scala
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import scala.language.`2.13`
/** A function of 16 parameters.
*
*/
trait Function16[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, +R] extends AnyRef { self =>
trait Function16[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, +R] extends AnyRef {
/** Apply the body of this function to the arguments.
* @return the result of function application.
*/
Expand All @@ -29,7 +29,7 @@ trait Function16[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12,
* @return a function `f` such that `f(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x8)(x9)(x10)(x11)(x12)(x13)(x14)(x15)(x16) == apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16)`
*/
@annotation.unspecialized def curried: T1 => T2 => T3 => T4 => T5 => T6 => T7 => T8 => T9 => T10 => T11 => T12 => T13 => T14 => T15 => T16 => R = {
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11, x12: T12, x13: T13, x14: T14, x15: T15, x16: T16) => self.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16)).curried
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11, x12: T12, x13: T13, x14: T14, x15: T15, x16: T16) => this.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16)).curried
}
/** Creates a tupled version of this function: instead of 16 arguments,
* it accepts a single [[scala.Tuple16]] argument.
Expand Down
4 changes: 2 additions & 2 deletions library/src/scala/Function17.scala
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import scala.language.`2.13`
/** A function of 17 parameters.
*
*/
trait Function17[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, +R] extends AnyRef { self =>
trait Function17[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12, -T13, -T14, -T15, -T16, -T17, +R] extends AnyRef {
/** Apply the body of this function to the arguments.
* @return the result of function application.
*/
Expand All @@ -29,7 +29,7 @@ trait Function17[-T1, -T2, -T3, -T4, -T5, -T6, -T7, -T8, -T9, -T10, -T11, -T12,
* @return a function `f` such that `f(x1)(x2)(x3)(x4)(x5)(x6)(x7)(x8)(x9)(x10)(x11)(x12)(x13)(x14)(x15)(x16)(x17) == apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17)`
*/
@annotation.unspecialized def curried: T1 => T2 => T3 => T4 => T5 => T6 => T7 => T8 => T9 => T10 => T11 => T12 => T13 => T14 => T15 => T16 => T17 => R = {
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11, x12: T12, x13: T13, x14: T14, x15: T15, x16: T16, x17: T17) => self.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17)).curried
(x1: T1) => ((x2: T2, x3: T3, x4: T4, x5: T5, x6: T6, x7: T7, x8: T8, x9: T9, x10: T10, x11: T11, x12: T12, x13: T13, x14: T14, x15: T15, x16: T16, x17: T17) => this.apply(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17)).curried
}
/** Creates a tupled version of this function: instead of 17 arguments,
* it accepts a single [[scala.Tuple17]] argument.
Expand Down
Loading
Loading