Files
kotlin-fork/kotlin-native/backend.native/tests/codegen/initializers/workers1.kt
T
Vsevolod Tolstopyatov af9252aa96 Mark all Worker-related API as obsolete.
* Explain what obsolete means and why workers are obsolete
* Add some documentation to workers to explain its common pitfalls

^KT-54702


Merge-request: KT-MR-9563
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
2023-04-19 09:28:23 +00:00

37 lines
715 B
Kotlin

/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
// FILE: lib.kt
class X(val s: String)
val x = X("zzz")
// FILE: lib2.kt
@file:OptIn(FreezingIsDeprecated::class)
import kotlin.native.concurrent.*
class Z(val x: Int)
@SharedImmutable
val z1 = Z(42)
val z2 = Z(x.s.length)
// FILE: main.kt
@file:OptIn(ObsoleteWorkersApi::class)
import kotlin.native.concurrent.*
fun foo() {
val worker = Worker.start()
worker.execute(TransferMode.SAFE, { -> }, {
it -> println(z1.x)
}).consume { }
}
fun main() {
foo()
println(z2.x)
}