e6b5cb5216
Update includes:
- Changing syntax of `OI/`NI` tags from `<!NI;TAG!>` to `<!TAG{NI}!>`
- Fix some incorrect directives
- Change order of diagnostics in some places
- Remove ignored diagnostics from FIR test data (previously `DIAGNOSTICS` didn't work)
- Update FIR dumps in some places and add `FIR_IDENTICAL` if needed
- Replace all JAVAC_SKIP with SKIP_JAVAC directive
23 lines
853 B
Kotlin
Vendored
23 lines
853 B
Kotlin
Vendored
// !WITH_NEW_INFERENCE
|
|
class Data<T>(val x: T, val y: T)
|
|
|
|
operator fun <T> Data<T>.component1() = x
|
|
|
|
operator fun <T> Data<T>.component2() = y
|
|
|
|
fun foo(): Int {
|
|
val d: Data<Int>? = null
|
|
// An error must be here
|
|
val (x, y) = <!COMPONENT_FUNCTION_ON_NULLABLE, COMPONENT_FUNCTION_ON_NULLABLE!>d<!>
|
|
return <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE{NI}!>x<!> <!DEBUG_INFO_MISSING_UNRESOLVED{NI}!>+<!> <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE{NI}!>y<!>
|
|
}
|
|
|
|
data class NormalData<T>(val x: T, val y: T)
|
|
|
|
fun bar(): Int {
|
|
val d: NormalData<Int>? = null
|
|
// An error must be here
|
|
val (x, y) = <!COMPONENT_FUNCTION_ON_NULLABLE, COMPONENT_FUNCTION_ON_NULLABLE!>d<!>
|
|
return <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>x<!> <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE{OI}, DEBUG_INFO_MISSING_UNRESOLVED{NI}!>+<!> <!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>y<!>
|
|
}
|