[NI] Fix loosing type annotations on extension functions
#KT-32138 fixed
This commit is contained in:
+22
@@ -0,0 +1,22 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
|
||||
|
||||
class B {
|
||||
class Builder
|
||||
}
|
||||
|
||||
typealias ApplyRestrictions = B.Builder.() -> B.Builder
|
||||
|
||||
fun applyRestrictions1(): ApplyRestrictions = TODO()
|
||||
fun applyRestrictions2() = applyRestrictions1()
|
||||
fun <K> applyRestrictions3(e: K) = applyRestrictions1()
|
||||
|
||||
fun buildB() {
|
||||
val a1 = applyRestrictions1()
|
||||
val a2 = applyRestrictions2()
|
||||
val a3 = applyRestrictions3("foo")
|
||||
|
||||
B.Builder().a1()
|
||||
B.Builder().a2()
|
||||
B.Builder().a3()
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package
|
||||
|
||||
public fun applyRestrictions1(): ApplyRestrictions /* = B.Builder.() -> B.Builder */
|
||||
public fun applyRestrictions2(): ApplyRestrictions /* = B.Builder.() -> B.Builder */
|
||||
public fun </*0*/ K> applyRestrictions3(/*0*/ e: K): ApplyRestrictions /* = B.Builder.() -> B.Builder */
|
||||
public fun buildB(): kotlin.Unit
|
||||
|
||||
public final class B {
|
||||
public constructor B()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
public final class Builder {
|
||||
public constructor Builder()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
public typealias ApplyRestrictions = B.Builder.() -> B.Builder
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
// !LANGUAGE: -NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER
|
||||
|
||||
class B {
|
||||
class Builder
|
||||
}
|
||||
|
||||
typealias ApplyRestrictions = B.Builder.() -> B.Builder
|
||||
|
||||
fun applyRestrictions1(): ApplyRestrictions = TODO()
|
||||
fun applyRestrictions2() = applyRestrictions1()
|
||||
fun <K> applyRestrictions3(e: K) = applyRestrictions1()
|
||||
|
||||
fun buildB() {
|
||||
val a1 = applyRestrictions1()
|
||||
val a2 = applyRestrictions2()
|
||||
val a3 = applyRestrictions3("foo")
|
||||
|
||||
B.Builder().a1()
|
||||
B.Builder().a2()
|
||||
B.Builder().<!UNRESOLVED_REFERENCE!>a3<!>()
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package
|
||||
|
||||
public fun applyRestrictions1(): ApplyRestrictions /* = B.Builder.() -> B.Builder */
|
||||
public fun applyRestrictions2(): ApplyRestrictions /* = B.Builder.() -> B.Builder */
|
||||
public fun </*0*/ K> applyRestrictions3(/*0*/ e: K): ApplyRestrictions /* = B.Builder.() -> B.Builder */
|
||||
public fun buildB(): kotlin.Unit
|
||||
|
||||
public final class B {
|
||||
public constructor B()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
public final class Builder {
|
||||
public constructor Builder()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
}
|
||||
public typealias ApplyRestrictions = B.Builder.() -> B.Builder
|
||||
Reference in New Issue
Block a user