지연된 컨텍스트 내에서 잠재적으로 문제가 될 수 있는 암시적 CoroutineScope 수신자 접근을 보고합니다.

중단 함수나 람다가 외부 컨텍스트에서 암시적인 CoroutineScope 수신자를 캡처할 경우, 예상치 못한 동작이 발생할 수 있습니다. 이는 중단 함수가 아직 실행 중일 때 캡처된 스코프가 취소되거나 완료될 수 있기 때문입니다.

검사는 중단 함수나 람다 내부에서 암시적으로 CoroutineScope 수신자를 사용하는 상황을 감지하여 외부 스코프에 잠재적으로 위험한 의존성을 생성할 수 있습니다.

예:


class MyClass {
    fun CoroutineScope.launchJobs() {
        launch { // OK: direct usage in the extension function
            doSomething()
        }
        
        suspendingFunction { // Warning: Suspicious implicit 'CoroutineScope' receiver access
            launch { // The launch call uses implicit CoroutineScope from the outer context
                doSomethingElse()
            }
        }
    }
}

옵션:

이 문제를 해결하려면 다음을 수행할 수 있습니다: