From 69b59b43f4aa3d3635f26c70241d9563cc119b08 Mon Sep 17 00:00:00 2001 From: Alexander Nozik Date: Wed, 27 Mar 2024 07:43:54 +0300 Subject: [PATCH] Mark polymorphic attribute getters and setters as unstable --- .../kotlin/space/kscience/attributes/PolymorphicAttribute.kt | 2 ++ .../space/kscience/kmath/optimization/OptimizationProblem.kt | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/attributes-kt/src/commonMain/kotlin/space/kscience/attributes/PolymorphicAttribute.kt b/attributes-kt/src/commonMain/kotlin/space/kscience/attributes/PolymorphicAttribute.kt index b61d4c477..80767421a 100644 --- a/attributes-kt/src/commonMain/kotlin/space/kscience/attributes/PolymorphicAttribute.kt +++ b/attributes-kt/src/commonMain/kotlin/space/kscience/attributes/PolymorphicAttribute.kt @@ -21,11 +21,13 @@ public abstract class PolymorphicAttribute(public val type: SafeType) : At /** * Get a polymorphic attribute using attribute factory */ +@UnstableAttributesAPI public operator fun Attributes.get(attributeKeyBuilder: () -> PolymorphicAttribute): T? = get(attributeKeyBuilder()) /** * Set a polymorphic attribute using its factory */ +@UnstableAttributesAPI public operator fun AttributesBuilder.set(attributeKeyBuilder: () -> PolymorphicAttribute, value: T) { set(attributeKeyBuilder(), value) } diff --git a/kmath-optimization/src/commonMain/kotlin/space/kscience/kmath/optimization/OptimizationProblem.kt b/kmath-optimization/src/commonMain/kotlin/space/kscience/kmath/optimization/OptimizationProblem.kt index 18f552bda..b9530f83c 100644 --- a/kmath-optimization/src/commonMain/kotlin/space/kscience/kmath/optimization/OptimizationProblem.kt +++ b/kmath-optimization/src/commonMain/kotlin/space/kscience/kmath/optimization/OptimizationProblem.kt @@ -24,7 +24,7 @@ public val OptimizationProblem.startPoint: Map get() = attributes[OptimizationStartPoint()] ?: error("Starting point not defined in $this") public fun AttributesBuilder>.startAt(startingPoint: Map) { - set(::OptimizationStartPoint, startingPoint) + set(OptimizationStartPoint(), startingPoint) }