diff --git a/core/src/darwinMain/kotlin/io/islandtime/format/DateTimeTextProvider.kt b/core/src/darwinMain/kotlin/io/islandtime/format/DateTimeTextProvider.kt index 044d4c787..60c896f5f 100644 --- a/core/src/darwinMain/kotlin/io/islandtime/format/DateTimeTextProvider.kt +++ b/core/src/darwinMain/kotlin/io/islandtime/format/DateTimeTextProvider.kt @@ -8,7 +8,6 @@ import platform.Foundation.NSCalendar import platform.Foundation.NSCalendarIdentifierISO8601 import kotlin.native.concurrent.Worker -@SharedImmutable private val worker = Worker.start(errorReporting = false) actual object PlatformDateTimeTextProvider : DateTimeTextProvider { diff --git a/core/src/darwinMain/kotlin/io/islandtime/internal/Concurrency.kt b/core/src/darwinMain/kotlin/io/islandtime/internal/Concurrency.kt index b8011cc1f..bcb707372 100644 --- a/core/src/darwinMain/kotlin/io/islandtime/internal/Concurrency.kt +++ b/core/src/darwinMain/kotlin/io/islandtime/internal/Concurrency.kt @@ -3,8 +3,6 @@ package io.islandtime.internal import kotlinx.cinterop.StableRef import kotlin.native.concurrent.TransferMode import kotlin.native.concurrent.Worker -import kotlin.native.concurrent.ensureNeverFrozen -import kotlin.native.concurrent.freeze internal class WorkerConfined( private val worker: Worker, @@ -20,7 +18,7 @@ internal value class ConfinedValueRef(private val value: StableRef) companion object { fun create(value: T): ConfinedValueRef { - return ConfinedValueRef(StableRef.create(value.apply { ensureNeverFrozen() })) + return ConfinedValueRef(StableRef.create(value)) } } } @@ -43,13 +41,12 @@ private inline fun runOn(worker: Worker, crossinline block: () -> T): T { private fun Worker.executeImmediately(block: () -> T): T { return execute( TransferMode.SAFE, - { block.freeze() }, - { - try { - Result.success(it()) - } catch (e: Throwable) { - Result.failure(e) - }.freeze() + { block } + ) { + try { + Result.success(it()) + } catch (e: Throwable) { + Result.failure(e) } - ).result.getOrThrow() + }.result.getOrThrow() } diff --git a/core/src/darwinMain/kotlin/io/islandtime/zone/TimeZoneRules.kt b/core/src/darwinMain/kotlin/io/islandtime/zone/TimeZoneRules.kt index b6d0dde7a..4c24efb43 100644 --- a/core/src/darwinMain/kotlin/io/islandtime/zone/TimeZoneRules.kt +++ b/core/src/darwinMain/kotlin/io/islandtime/zone/TimeZoneRules.kt @@ -18,7 +18,6 @@ import kotlinx.cinterop.convert import platform.Foundation.* import kotlin.native.concurrent.Worker -@SharedImmutable private val worker = Worker.start(errorReporting = false) /** diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index fe83b3b23..30a64e000 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -kotlin = "1.7.10" +kotlin = "1.7.20" dokka = "1.7.10" serialization = "1.4.0" atomicfu = "0.18.3"