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) }