Skip to content

Commit a9e2f0b

Browse files
authored
Make releaseInterceptedContinuation final (#2785)
* Make releaseInterceptedContinuation final * CoroutineDispatcher is internal for implementation and always has been * Overriding this method may lead to memory leaks in parent coroutines and is considered dangerous
1 parent f727657 commit a9e2f0b

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

kotlinx-coroutines-core/api/kotlinx-coroutines-core.api

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ public abstract class kotlinx/coroutines/CoroutineDispatcher : kotlin/coroutines
158158
public fun isDispatchNeeded (Lkotlin/coroutines/CoroutineContext;)Z
159159
public fun minusKey (Lkotlin/coroutines/CoroutineContext$Key;)Lkotlin/coroutines/CoroutineContext;
160160
public final fun plus (Lkotlinx/coroutines/CoroutineDispatcher;)Lkotlinx/coroutines/CoroutineDispatcher;
161-
public fun releaseInterceptedContinuation (Lkotlin/coroutines/Continuation;)V
161+
public final fun releaseInterceptedContinuation (Lkotlin/coroutines/Continuation;)V
162162
public fun toString ()Ljava/lang/String;
163163
}
164164

kotlinx-coroutines-core/common/src/CoroutineDispatcher.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public abstract class CoroutineDispatcher :
9999
public final override fun <T> interceptContinuation(continuation: Continuation<T>): Continuation<T> =
100100
DispatchedContinuation(this, continuation)
101101

102-
public override fun releaseInterceptedContinuation(continuation: Continuation<*>) {
102+
public final override fun releaseInterceptedContinuation(continuation: Continuation<*>) {
103103
/*
104104
* Unconditional cast is safe here: we only return DispatchedContinuation from `interceptContinuation`,
105105
* any ClassCastException can only indicate compiler bug

0 commit comments

Comments
 (0)