[minor] [NI] Additional test for loosing type annotations on extension functions
taken from KT-34820
This commit is contained in:
+15
@@ -20,3 +20,18 @@ fun buildB() {
|
|||||||
B.Builder().a2()
|
B.Builder().a2()
|
||||||
B.Builder().a3()
|
B.Builder().a3()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// additional example from #KT-34820
|
||||||
|
|
||||||
|
class R
|
||||||
|
class P
|
||||||
|
|
||||||
|
typealias F = R.(P) -> Unit
|
||||||
|
|
||||||
|
fun guess(): F? = TODO()
|
||||||
|
fun consume(f: F) {}
|
||||||
|
|
||||||
|
fun problem() {
|
||||||
|
val p = guess()
|
||||||
|
consume(p ?: {})
|
||||||
|
}
|
||||||
|
|||||||
+18
@@ -4,6 +4,9 @@ public fun applyRestrictions1(): ApplyRestrictions /* = B.Builder.() -> B.Builde
|
|||||||
public fun applyRestrictions2(): 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 </*0*/ K> applyRestrictions3(/*0*/ e: K): ApplyRestrictions /* = B.Builder.() -> B.Builder */
|
||||||
public fun buildB(): kotlin.Unit
|
public fun buildB(): kotlin.Unit
|
||||||
|
public fun consume(/*0*/ f: F /* = R.(P) -> kotlin.Unit */): kotlin.Unit
|
||||||
|
public fun guess(): F? /* = (R.(P) -> kotlin.Unit)? */
|
||||||
|
public fun problem(): kotlin.Unit
|
||||||
|
|
||||||
public final class B {
|
public final class B {
|
||||||
public constructor B()
|
public constructor B()
|
||||||
@@ -18,4 +21,19 @@ public final class B {
|
|||||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class P {
|
||||||
|
public constructor P()
|
||||||
|
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 R {
|
||||||
|
public constructor R()
|
||||||
|
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
|
public typealias ApplyRestrictions = B.Builder.() -> B.Builder
|
||||||
|
public typealias F = R.(P) -> kotlin.Unit
|
||||||
|
|||||||
Reference in New Issue
Block a user