555d8eeb25
For explanation, see nestedPartiallyResolvedCallsSimple.k
The problem was caused by "select" variable is being leaked to the
inference session of delegate while it should not happen because
it doesn't belong to the common system of `KotlinVal { ..` call,
as we complete it with fixing `E` variable during completion
for `A(select(null, fun(): Int { return 1 }))`.
The root of the problem is that we were adding all the partial
nested calls to the session, while in fact we only need there
the top-level one.
^KT-57543 Fixed
65 lines
2.1 KiB
Kotlin
Vendored
65 lines
2.1 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 <!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER, NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>lazy<!>(LazyThreadSafetyMode.NONE) {
|
|
@OptIn(ExperimentalStdlibApi::class)
|
|
buildList l1@ {
|
|
for (i in lastIndex downTo 0) {
|
|
val reversedFilteredLocalScopes by 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("")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|