FIR: perform type approximation when completion isn't required
This commit is contained in:
@@ -74,12 +74,12 @@ typealias Invariant1<X> = Invariant<X>
|
||||
fun test_5(a: A, in1: In1<A>, in2: In1<in A>, in3: In1<out A>) {
|
||||
in1.take(a)
|
||||
in2.take(a)
|
||||
in3.<!INAPPLICABLE_CANDIDATE!>take<!>(a)
|
||||
in3.<!UNRESOLVED_REFERENCE!>take<!>(a)
|
||||
}
|
||||
|
||||
fun test_6(a: A, out1: Out1<A>, out2: Out1<in A>, out3: Out1<out A>) {
|
||||
out1.value().foo()
|
||||
out2.value().<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
out2.<!UNRESOLVED_REFERENCE!>value<!>().<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
out3.value().foo()
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -68,11 +68,11 @@ FILE: typeAliasWithTypeArguments.kt
|
||||
public final fun test_5(a: R|A|, in1: R|In1<A>|, in2: R|In1<in A>|, in3: R|In1<out A>|): R|kotlin/Unit| {
|
||||
R|<local>/in1|.R|FakeOverride</In.take: R|kotlin/Unit|>|(R|<local>/a|)
|
||||
R|<local>/in2|.R|FakeOverride</In.take: R|kotlin/Unit|>|(R|<local>/a|)
|
||||
R|<local>/in3|.<Inapplicable(INAPPLICABLE): /In.take>#(R|<local>/a|)
|
||||
R|<local>/in3|.<Unresolved name: take>#(R|<local>/a|)
|
||||
}
|
||||
public final fun test_6(a: R|A|, out1: R|Out1<A>|, out2: R|Out1<in A>|, out3: R|Out1<out A>|): R|kotlin/Unit| {
|
||||
R|<local>/out1|.R|FakeOverride</Out.value: R|A|>|().R|/A.foo|()
|
||||
R|<local>/out2|.R|FakeOverride</Out.value: R|kotlin/Any?|>|().<Unresolved name: foo>#()
|
||||
R|<local>/out2|.<Unresolved name: value>#().<Unresolved name: foo>#()
|
||||
R|<local>/out3|.R|FakeOverride</Out.value: R|A|>|().R|/A.foo|()
|
||||
}
|
||||
public final fun test_7(a: R|A|, inv1: R|Invariant1<A>|, inv2: R|Invariant1<in A>|, inv3: R|Invariant1<out A>|): R|kotlin/Unit| {
|
||||
|
||||
Reference in New Issue
Block a user