
e: org.jetbrains.kotlin.backend.common.BackendException: Backend Internal error: Exception during IR lowering
File being compiled: /Users/kwakjoohyeong/git/with-peace-android/core/data/src/main/kotlin/com/withpeace/withpeace/core/data/repository/DefaultPostRepository.kt
The root cause java.lang.RuntimeException was thrown at: org.jetbrains.kotlin.backend.jvm.codegen.FunctionCodegen.generate(FunctionCodegen.kt:51)
codegen 중에 에러가 발생한 것이라 원인 분석이 어려웠는데 단순히 확장함수를 잘못 써서 에러가 발생했다. 잘못 작성한 crossline 람다 메소드가 complie 단계에서 에러 발생 했던 것
crossline -> noinline으로 변경하여서 해결했다.
하지만 이렇게 변경을 하면, inline을 쓴 메리트가 없어지기에, inline 메소드가 아닌, 기본 함수로 돌려야겠다.
crossInline을 잘 몰랐기에 개념을 짚고 가자
non-local 흐름 제어를 위한 기능이다.

Can't inline 'block' here: it may contain non-local returns. Add 'crossinline' modifier to parameter declaration 'block'
위 경우 제어권이 setOnClickListener로 넘어가기 때문에, crossline을 선언하여, non-local 흐름을 제어할 수 있다
또한 아래처림 함수 return을 제한하여, non-local흐름을 안전하게 처리해주는 역할 또한 수행할 수 있다!
