f7d87f6d70
To be more consistent with K1, certain diagnostics should be reported not on the whole properties' types, but on type arguments inside them. Note that there is still a difference with K2 because K2 reports on a type argument including its annotations, while K1 used KtTypeReference.typeElement. IMO, K2 conveys the same or better meaning here, so I am willing to leave this difference instead of providing PositioningStrategy. #KT-53861 Fixed
22 lines
576 B
Kotlin
Vendored
22 lines
576 B
Kotlin
Vendored
// FIR_DISABLE_LAZY_RESOLVE_CHECKS
|
|
// WITH_STDLIB
|
|
// FIR_IDENTICAL
|
|
// FILE: test.kt
|
|
import kotlinx.serialization.*
|
|
|
|
class NonSerializable
|
|
|
|
@Serializable
|
|
class Basic(val foo: <!SERIALIZER_NOT_FOUND("NonSerializable")!>NonSerializable<!>)
|
|
|
|
@Serializable
|
|
class Inside(val foo: List<<!SERIALIZER_NOT_FOUND("NonSerializable")!>NonSerializable<!>>)
|
|
|
|
@Serializable
|
|
class Inside2(val foo: List<List<<!SERIALIZER_NOT_FOUND("NonSerializable")!>NonSerializable<!>>>)
|
|
|
|
@Serializable
|
|
class WithImplicitType {
|
|
<!SERIALIZER_NOT_FOUND("NonSerializable")!>val foo = NonSerializable()<!>
|
|
}
|