From 4b63563cbd3e1412487ac9448da86c33c4c7997e Mon Sep 17 00:00:00 2001 From: Andrew Golovashevich Date: Sat, 16 Aug 2025 19:33:56 +0300 Subject: [PATCH] Contract in CloseableReferenceCounter_Debug.withRef --- .../reference_counter/CloseableReferenceCounter_Debug.kt | 3 +++ .../reference_counter/CloseableReferenceCounter_Debug.kt | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/utility/reference_counter/CloseableReferenceCounter_Debug.kt b/src/commonMain/kotlin/ru/landgrafhomyak/utility/reference_counter/CloseableReferenceCounter_Debug.kt index 1577725..6753728 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/utility/reference_counter/CloseableReferenceCounter_Debug.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/utility/reference_counter/CloseableReferenceCounter_Debug.kt @@ -129,6 +129,9 @@ public class CloseableReferenceCounter_Debug { @JvmName("withRef\$kt") public inline fun withRef(protected: () -> R): R { + contract { + callsInPlace(protected, InvocationKind.EXACTLY_ONCE) + } this.incref() return safeAutoClose1(finally = this::decref, action = protected) } diff --git a/src/commonMain/kotlin/ru/landrafhomyak/utility/reference_counter/CloseableReferenceCounter_Debug.kt b/src/commonMain/kotlin/ru/landrafhomyak/utility/reference_counter/CloseableReferenceCounter_Debug.kt index 9168cfc..551b45e 100644 --- a/src/commonMain/kotlin/ru/landrafhomyak/utility/reference_counter/CloseableReferenceCounter_Debug.kt +++ b/src/commonMain/kotlin/ru/landrafhomyak/utility/reference_counter/CloseableReferenceCounter_Debug.kt @@ -95,9 +95,9 @@ public class CloseableReferenceCounter_Debug { @JvmName("withRef\$kt") public inline fun withRef(protected: () -> R): R { - /*contract { + contract { callsInPlace(protected, InvocationKind.EXACTLY_ONCE) - }*/ + } return this._moved.withRef(protected) }