FirCallResolve: disable property resolve optimization in builder inference
#KT-57889 Fixed
This commit is contained in:
committed by
Space Team
parent
f9a7a7fda2
commit
9374202ebc
Vendored
+36
@@ -0,0 +1,36 @@
|
||||
FILE: unsafeAssignment_noReport.fir.kt
|
||||
public final class Foo<T : R|kotlin/Any|> : R|kotlin/Any| {
|
||||
public constructor<T : R|kotlin/Any|>(): R|Foo<T>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final fun doSmthng(arg: R|T|): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
public final var a: R|T?| = Null(null)
|
||||
public get(): R|T?|
|
||||
public set(value: R|T?|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public final fun <T : R|kotlin/Any|> myBuilder(block: R|Foo<T>.() -> kotlin/Unit|): R|Foo<T>| {
|
||||
^myBuilder R|/Foo.Foo|<R|T|>().R|kotlin/apply|<R|Foo<T>|>(R|<local>/block|)
|
||||
}
|
||||
public final fun main(arg: R|kotlin/Any|): R|kotlin/Unit| {
|
||||
lval x: R|kotlin/Int| = Int(57)
|
||||
lval value: R|Foo<kotlin/Any>| = R|/myBuilder|<R|kotlin/Any|>(<L> = myBuilder@fun R|Foo<kotlin/Any>|.<anonymous>(): R|kotlin/Unit| <inline=NoInline> {
|
||||
this@R|special/anonymous|.R|SubstitutionOverride</Foo.doSmthng: R|kotlin/Unit|>|(String(one ))
|
||||
this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)?|>| = Int(57)
|
||||
this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)?|>| = R|<local>/x|
|
||||
when () {
|
||||
(R|<local>/arg| is R|kotlin/String|) -> {
|
||||
this@R|special/anonymous|.R|SubstitutionOverride</Foo.a: R|Stub (chain inference): TypeVariable(T)?|>| = R|<local>/arg|
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
)
|
||||
<Ambiguity: println, [kotlin/io/println, kotlin/io/println, kotlin/io/println, kotlin/io/println, kotlin/io/println, kotlin/io/println, kotlin/io/println, kotlin/io/println, kotlin/io/println, kotlin/io/println]>#(R|<local>/value|.R|SubstitutionOverride</Foo.a: R|kotlin/Any?|>|?.{ $subj$.<Unresolved name: count>#(<L> = count@fun <anonymous>(): R|kotlin/Boolean| <inline=Unknown> {
|
||||
^ Char(l).R|kotlin/Char.rangeTo|(Char(q)).R|kotlin/ranges/CharRange.contains|(<Unresolved name: it>#)
|
||||
}
|
||||
) })
|
||||
}
|
||||
Reference in New Issue
Block a user