Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/smartcasts/smartcastedField.fir.txt
T
Denis.Zharkov 81414d758d K2: repeat K1 representation for flexible type parameters
This commit changes the behavior of KT-59138 effectively declining it in 2.0.
However, we plan to implement KT-59138 behavior under a feature
flag in 2.0 (see KT-66447), and switch this feature on version 2.x.

Also, this commit implements the LC resolution about postponing
KT-57014 change. We don't have KT-57014 described behavior in 2.0 anymore.
However, we plan to implement a deprecation warning here, see KT-65578.

After this commit, 6 diagnostic tests become incorrectly broken:
- 5 tests from PurelyImplementedCollection group
- a test platformTypes/nullableTypeArgument.kt

This commit also breaks currently fixed-in-k2 KT-50134
(it is fixed again in the following commits),
as well as KT-58933 (it will remain not fixed till we enable KT-59138
behavior again).

#KT-65596 In Progress
#KT-57014 In Progress
#KT-58933 Submitted
2024-03-11 13:38:05 +00:00

22 lines
788 B
Plaintext
Vendored

FILE: main.kt
private final val anyProperty: R|Property<kotlin/Any!>| = R|/Property.Property|<R|kotlin/Any!|>()
private get(): R|Property<kotlin/Any!>|
private final val boundedProperty: R|Property<kotlin/String!>| = R|/Property.Property|<R|kotlin/String!|>()
private get(): R|Property<kotlin/String!>|
public final fun test_1(x: R|Property<kotlin/Any>|): R|kotlin/Unit| {
when () {
(R|<local>/x| is R|Reference|) -> {
R|<local>/x|.R|SubstitutionOverride</Reference.id>|
}
}
}
public final fun test_2(x: R|Property<kotlin/String>|): R|kotlin/Unit| {
when () {
(R|<local>/x| is R|Reference|) -> {
R|<local>/x|.R|/Reference.id|
}
}
}