Add UnsafeResultValueAccess annotation to Result class for safer value access #123
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue #104
This pull request introduces a new
@UnsafeResultValueAccess
annotation to enforce safer access patterns forResult.value
andResult.error
in thekotlin-result
library. Additionally, it updates the Kotlin conventions to opt into this annotation. Below are the key changes:Enhancements to
Result
class safety:@UnsafeResultValueAccess
annotation to mark access toResult.value
andResult.error
as potentially unsafe unless theResult
state is explicitly checked usingResult.isOk
orResult.isErr
. This encourages safer usage patterns. (kotlin-result/src/commonMain/kotlin/com/github/michaelbull/result/Result.kt
, [1] [2]Kotlin conventions update:
kotlin-conventions.gradle.kts
to opt into the@UnsafeResultValueAccess
annotation, ensuring that projects using this configuration can leverage the new safety mechanism. (buildSrc/src/main/kotlin/kotlin-conventions.gradle.kts
, buildSrc/src/main/kotlin/kotlin-conventions.gradle.ktsR62)