fbf68a5bcc
This uses the same approach as INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION where we use a visitor to find a call to a symbol that contains the type variable in question. #KT-56140 Fixed
65 lines
2.2 KiB
Kotlin
Vendored
65 lines
2.2 KiB
Kotlin
Vendored
// !LANGUAGE: +UnrestrictedBuilderInference -ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound
|
|
// ISSUE: KT-48445
|
|
|
|
internal class TowerDataElementsForName() {
|
|
val reversedFilteredLocalScopes by lazy(LazyThreadSafetyMode.NONE) {
|
|
@OptIn(ExperimentalStdlibApi::class)
|
|
buildList {
|
|
for (i in lastIndex downTo 0) {
|
|
add("")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
internal class TowerDataElementsForName2() {
|
|
@OptIn(ExperimentalStdlibApi::class)
|
|
val reversedFilteredLocalScopes = buildList {
|
|
val reversedFilteredLocalScopes by lazy(LazyThreadSafetyMode.NONE) {
|
|
@OptIn(ExperimentalStdlibApi::class)
|
|
buildList {
|
|
for (i in lastIndex downTo 0) {
|
|
add("")
|
|
}
|
|
}
|
|
}
|
|
add(reversedFilteredLocalScopes)
|
|
}
|
|
}
|
|
|
|
internal class TowerDataElementsForName3() {
|
|
val reversedFilteredLocalScopes by <!DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE!><!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>lazy<!>(LazyThreadSafetyMode.NONE) {
|
|
@OptIn(ExperimentalStdlibApi::class)
|
|
<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>buildList<!> l1@ {
|
|
for (i in lastIndex downTo 0) {
|
|
val reversedFilteredLocalScopes by <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>lazy(LazyThreadSafetyMode.NONE) {
|
|
@OptIn(ExperimentalStdlibApi::class)
|
|
buildList {
|
|
for (i in lastIndex downTo 0) {
|
|
add("")
|
|
this@l1.add("")
|
|
}
|
|
}
|
|
}<!>
|
|
}
|
|
}
|
|
}<!>
|
|
}
|
|
|
|
internal class TowerDataElementsForName4() {
|
|
@OptIn(ExperimentalStdlibApi::class)
|
|
val reversedFilteredLocalScopes = <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>buildList<!> l1@ {
|
|
class Foo {
|
|
val reversedFilteredLocalScopes by lazy(LazyThreadSafetyMode.NONE) {
|
|
@OptIn(ExperimentalStdlibApi::class)
|
|
buildList {
|
|
for (i in lastIndex downTo 0) {
|
|
add("")
|
|
this@l1.add("")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|