f8a88bdffb
For special calls (when-expressions, if-expressions, etc.), do not attempt to get type of the argument expression, which is the block with the callable reference, instead get type of the callable reference itself. The difference matters because for block expressions, a new lexical scope is created for each getTypeInfo (see ExpressionTypingServices.getBlockReturnedType), and we do not support rewrites of this value in the binding trace #KT-12044 Fixed
10 lines
215 B
Kotlin
Vendored
10 lines
215 B
Kotlin
Vendored
// KT-12338 Compiler error ERROR: Rewrite at slice LEXICAL_SCOPE key: REFERENCE_EXPRESSION with when and function references
|
|
|
|
fun a() { }
|
|
|
|
fun test() {
|
|
when {
|
|
true -> <!UNUSED_EXPRESSION!>::a<!>
|
|
}
|
|
}
|