diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/Cleaner.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/Cleaner.kt index 2a199b15fc1..df13c04098d 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/Cleaner.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/Cleaner.kt @@ -5,6 +5,7 @@ package kotlin.native.internal +import kotlin.experimental.ExperimentalNativeApi import kotlin.native.concurrent.* import kotlinx.cinterop.NativePtr @@ -74,7 +75,7 @@ public interface Cleaner @Suppress("DEPRECATION") @ExperimentalStdlibApi @ExportForCompiler -@OptIn(FreezingIsDeprecated::class) +@OptIn(ExperimentalNativeApi::class) fun createCleaner(argument: T, block: (T) -> Unit): Cleaner = kotlin.native.ref.createCleanerImpl(argument, block) as Cleaner diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/native/ref/Cleaner.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/native/ref/Cleaner.kt index bd29b32d29f..825fe7bc155 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/native/ref/Cleaner.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/native/ref/Cleaner.kt @@ -5,6 +5,7 @@ package kotlin.native.ref +import kotlin.experimental.ExperimentalNativeApi import kotlin.native.concurrent.isShareable import kotlin.native.concurrent.freeze import kotlin.native.internal.* @@ -15,7 +16,7 @@ import kotlinx.cinterop.NativePtr * * Use [createCleaner] to create an instance of this type. */ -@ExperimentalStdlibApi +@ExperimentalNativeApi @SinceKotlin("1.9") public sealed interface Cleaner @@ -83,13 +84,13 @@ public sealed interface Cleaner */ // TODO: Consider just annotating the lambda argument rather than hardcoding checking // by function name in the compiler. -@ExperimentalStdlibApi +@ExperimentalNativeApi @SinceKotlin("1.9") @ExportForCompiler public fun createCleaner(resource: T, cleanupAction: (resource: T) -> Unit): Cleaner = createCleanerImpl(resource, cleanupAction) -@ExperimentalStdlibApi +@ExperimentalNativeApi @OptIn(FreezingIsDeprecated::class) internal fun createCleanerImpl(resource: T, cleanupAction: (T) -> Unit): Cleaner { if (!resource.isShareable()) @@ -110,7 +111,7 @@ internal fun createCleanerImpl(resource: T, cleanupAction: (T) -> Unit): Cle } @Suppress("DEPRECATION") -@ExperimentalStdlibApi +@ExperimentalNativeApi @NoReorderFields @ExportTypeInfo("theCleanerImplTypeInfo") @HasFinalizer