Freeze objects by default, stdlib improvements. (#1743)
This commit is contained in:
@@ -671,6 +671,12 @@ task freeze2(type: RunKonanTest) {
|
||||
source = "runtime/workers/freeze2.kt"
|
||||
}
|
||||
|
||||
task freeze3(type: RunKonanTest) {
|
||||
disabled = (project.testTarget == 'wasm32') // No exceptions on WASM.
|
||||
goldValue = "OK\n"
|
||||
source = "runtime/workers/freeze3.kt"
|
||||
}
|
||||
|
||||
task atomic0(type: RunKonanTest) {
|
||||
disabled = (project.testTarget == 'wasm32') // Workers need pthreads.
|
||||
goldValue = "35\n" + "20\n" + "OK\n"
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package runtime.workers.freeze3
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
import konan.worker.*
|
||||
|
||||
object Immutable {
|
||||
var x = 1
|
||||
}
|
||||
|
||||
@konan.ThreadLocal
|
||||
object Mutable {
|
||||
var x = 2
|
||||
}
|
||||
|
||||
@Test fun runTest() {
|
||||
assertEquals(1, Immutable.x)
|
||||
assertFailsWith<InvalidMutabilityException> {
|
||||
Immutable.x++
|
||||
}
|
||||
assertEquals(1, Immutable.x)
|
||||
Mutable.x++
|
||||
assertEquals(3, Mutable.x)
|
||||
println("OK")
|
||||
}
|
||||
Reference in New Issue
Block a user