중지 컨텍스트 내에서 잠재적으로 문제가 될 수 있는 묵시적 CoroutineScope 리시버의 액세스를 보고합니다.

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

검사는 중단 함수나 람다 내부에서 코드가 묵시적으로 CoroutineScope 리시버에 액세스하여 외부 스코프에 잠재적으로 위험한 종속성을 생성하는 상황을 탐지합니다.

예:


class MyClass {
    fun CoroutineScope.launchJobs() {
        launch { // 허용: 확장 함수 내 직접적 사용
            doSomething()
        }
        
        suspendingFunction { // 경고: 의심스러운 묵시적 'CoroutineScope' 리시버 액세스
            launch { // launch 호출이 외부 컨텍스트의 묵시적 CoroutineScope를 사용
                doSomethingElse()
            }
        }
    }
}

옵션:

이 문제를 해결하는 방법은 다음과 같습니다.