Kotlin 2.0.0-Beta1

This commit is contained in:
Alexander Nozik 2023-11-22 09:22:28 +03:00
parent a84f1e1500
commit 9e88bff668
12 changed files with 15 additions and 79 deletions

View File

@ -81,7 +81,7 @@ benchmark {
// Setup configurations // Setup configurations
targets { targets {
register("jvm") register("jvm")
register("js") // register("js")
} }
fun kotlinx.benchmark.gradle.BenchmarkConfiguration.commonConfiguration() { fun kotlinx.benchmark.gradle.BenchmarkConfiguration.commonConfiguration() {

View File

@ -12,6 +12,6 @@ org.gradle.jvmargs=-Xmx4096m
org.gradle.parallel=true org.gradle.parallel=true
org.gradle.workers.max=4 org.gradle.workers.max=4
toolsVersion=0.15.0-kotlin-1.9.20 toolsVersion=0.15.0-kotlin-2.0.0-Beta1
#kotlin.experimental.tryK2=true #kotlin.experimental.tryK2=true
#kscience.wasm.disabled=true #kscience.wasm.disabled=true

View File

@ -4,11 +4,6 @@
*/ */
@file:Suppress( @file:Suppress(
"INTERFACE_WITH_SUPERCLASS",
"OVERRIDING_FINAL_MEMBER",
"RETURN_TYPE_MISMATCH_ON_OVERRIDE",
"CONFLICTING_OVERLOADS",
"NO_EXPLICIT_VISIBILITY_IN_API_MODE_WARNING",
"ObjectPropertyName", "ObjectPropertyName",
"ClassName", "ClassName",
) )

View File

@ -4,10 +4,6 @@
*/ */
@file:Suppress( @file:Suppress(
"INTERFACE_WITH_SUPERCLASS",
"OVERRIDING_FINAL_MEMBER",
"RETURN_TYPE_MISMATCH_ON_OVERRIDE",
"CONFLICTING_OVERLOADS",
"PropertyName", "PropertyName",
"ClassName", "ENUM_CLASS_IN_EXTERNAL_DECLARATION_WARNING", "ClassName", "ENUM_CLASS_IN_EXTERNAL_DECLARATION_WARNING",
) )

View File

@ -6,94 +6,46 @@
@file:JsQualifier("WebAssembly") @file:JsQualifier("WebAssembly")
@file:Suppress( @file:Suppress(
"INTERFACE_WITH_SUPERCLASS",
"OVERRIDING_FINAL_MEMBER",
"RETURN_TYPE_MISMATCH_ON_OVERRIDE",
"NO_EXPLICIT_VISIBILITY_IN_API_MODE_WARNING",
"ClassName", "ClassName",
) )
package space.kscience.kmath.internal.webassembly package space.kscience.kmath.internal.webassembly
import space.kscience.kmath.internal.tsstdlib.PromiseLike
import org.khronos.webgl.ArrayBuffer import org.khronos.webgl.ArrayBuffer
import org.khronos.webgl.ArrayBufferView import org.khronos.webgl.ArrayBufferView
import org.khronos.webgl.Uint8Array import org.khronos.webgl.Uint8Array
import org.w3c.fetch.Response import org.w3c.fetch.Response
import space.kscience.kmath.internal.tsstdlib.PromiseLike
import kotlin.js.Promise import kotlin.js.Promise
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") internal external interface CompileError
internal external interface CompileError {
companion object {
var prototype: CompileError
}
}
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
internal external interface Global { internal external interface Global {
var value: Any var value: Any
fun valueOf(): Any fun valueOf(): Any
companion object {
var prototype: Global
}
} }
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
@JsName("Instance") @JsName("Instance")
internal external interface Instance1 { internal external interface Instance1 {
var exports: Exports var exports: Exports
companion object {
var prototype: Instance
}
} }
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") internal external interface LinkError
internal external interface LinkError {
companion object {
var prototype: LinkError
}
}
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
internal external interface Memory { internal external interface Memory {
var buffer: ArrayBuffer var buffer: ArrayBuffer
fun grow(delta: Number): Number fun grow(delta: Number): Number
companion object {
var prototype: Memory
}
} }
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
@JsName("Module")
internal external interface Module1 {
companion object {
var prototype: Module
fun customSections(moduleObject: Module, sectionName: String): Array<ArrayBuffer>
fun exports(moduleObject: Module): Array<ModuleExportDescriptor>
fun imports(moduleObject: Module): Array<ModuleImportDescriptor>
}
}
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE") internal external interface RuntimeError
internal external interface RuntimeError {
companion object {
var prototype: RuntimeError
}
}
@Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
internal external interface Table { internal external interface Table {
var length: Number var length: Number
fun get(index: Number): Function<*>? fun get(index: Number): Function<*>?
fun grow(delta: Number): Number fun grow(delta: Number): Number
fun set(index: Number, value: Function<*>?) fun set(index: Number, value: Function<*>?)
companion object {
var prototype: Table
}
} }
internal external interface GlobalDescriptor { internal external interface GlobalDescriptor {

View File

@ -3,13 +3,6 @@
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/ */
@file:Suppress(
"INTERFACE_WITH_SUPERCLASS",
"OVERRIDING_FINAL_MEMBER",
"RETURN_TYPE_MISMATCH_ON_OVERRIDE",
"CONFLICTING_OVERLOADS",
"NO_EXPLICIT_VISIBILITY_IN_API_MODE_WARNING",
)
package space.kscience.kmath.internal.webassembly package space.kscience.kmath.internal.webassembly

View File

@ -146,7 +146,7 @@ class Rational {
override fun equals(other: Any?): Boolean = override fun equals(other: Any?): Boolean =
when (other) { when (other) {
is Rational -> numerator == other.numerator && denominator == other.denominator is Rational -> numerator == other.numerator && denominator == other.denominator
is Int -> numerator == other && denominator == 1L is Int -> numerator == other.toLong() && denominator == 1L
is Long -> numerator == other && denominator == 1L is Long -> numerator == other && denominator == 1L
else -> false else -> false
} }

View File

@ -37,7 +37,7 @@ public object Float64Space2D : GeometrySpace<DoubleVector2D>, ScaleOperations<Do
override val y: Double, override val y: Double,
) : DoubleVector2D ) : DoubleVector2D
public object VectorSerializer : KSerializer<DoubleVector2D> { public object VectorSerializer : KSerializer<Float64Vector2D> {
private val proxySerializer = Vector2DImpl.serializer() private val proxySerializer = Vector2DImpl.serializer()
override val descriptor: SerialDescriptor get() = proxySerializer.descriptor override val descriptor: SerialDescriptor get() = proxySerializer.descriptor

View File

@ -33,7 +33,7 @@ public interface Histogram<in T : Any, out V, out B : Bin<T, V>> {
/** /**
* Find existing bin, corresponding to given coordinates * Find existing bin, corresponding to given coordinates
*/ */
public operator fun get(point: Point<out T>): B? public operator fun get(point: Point<T>): B?
/** /**
* Dimension of the histogram * Dimension of the histogram
@ -57,11 +57,11 @@ public interface HistogramBuilder<in T : Any, V : Any> {
/** /**
* Increment appropriate bin with given value * Increment appropriate bin with given value
*/ */
public fun putValue(point: Point<out T>, value: V = defaultValue) public fun putValue(point: Point<T>, value: V = defaultValue)
} }
public fun <T : Any> HistogramBuilder<T, *>.put(point: Point<out T>): Unit = putValue(point) public fun <T : Any> HistogramBuilder<T, *>.put(point: Point<T>): Unit = putValue(point)
public fun <T : Any> HistogramBuilder<T, *>.put(vararg point: T): Unit = put(point.asBuffer()) public fun <T : Any> HistogramBuilder<T, *>.put(vararg point: T): Unit = put(point.asBuffer())

View File

@ -42,7 +42,7 @@ public interface Histogram1DBuilder<in T : Any, V : Any> : HistogramBuilder<T, V
*/ */
public fun putValue(at: T, value: V = defaultValue) public fun putValue(at: T, value: V = defaultValue)
override fun putValue(point: Point<out T>, value: V) { override fun putValue(point: Point<T>, value: V) {
require(point.size == 1) { "Only points with single value could be used in Histogram1D" } require(point.size == 1) { "Only points with single value could be used in Histogram1D" }
putValue(point[0], value) putValue(point[0], value)
} }

View File

@ -91,7 +91,7 @@ public class UniformHistogramGroupND<V : Any, A : Field<V>>(
val hBuilder = object : HistogramBuilder<Double, V> { val hBuilder = object : HistogramBuilder<Double, V> {
override val defaultValue: V get() = valueAlgebraND.elementAlgebra.one override val defaultValue: V get() = valueAlgebraND.elementAlgebra.one
override fun putValue(point: Point<out Double>, value: V) = with(valueAlgebraND.elementAlgebra) { override fun putValue(point: Point<Double>, value: V) = with(valueAlgebraND.elementAlgebra) {
val index = getIndexOrNull(point) val index = getIndexOrNull(point)
ndCounter[index].add(value) ndCounter[index].add(value)
} }

View File

@ -68,7 +68,7 @@ internal class MCScopeTest {
} }
@OptIn(DelicateCoroutinesApi::class) @OptIn(DelicateCoroutinesApi::class, ExperimentalCoroutinesApi::class)
fun compareResult(test: ATest) { fun compareResult(test: ATest) {
val res1 = runBlocking(Dispatchers.Default) { test() } val res1 = runBlocking(Dispatchers.Default) { test() }
val res2 = runBlocking(newSingleThreadContext("test")) { test() } val res2 = runBlocking(newSingleThreadContext("test")) { test() }