aef9b129d2
List of issues: KT-4113, KT-6822, KT-7389, KT-17817, KT-20223 KT-21463, KT-24503, KT-24737, KT-24779, KT-24901 KT-27261, KT-28668, KT-30497, KT-30756, KT-36958 KT-37365, KT-37490, KT-38288, KT-41038, KT-41721 KT-42136, KT-42169, KT-42449, KT-42715, KT-43553 KT-43603, KT-43846, KT-43936, KT-46288, KT-46301 KT-47373, KT-47484, KT-47490, KT-47495, KT-47750 KT-47815, KT-47870, KT-48975, KT-49024, KT-49045 KT-50134, KT-50160, KT-50550, KT-51045, KT-51143 KT-51796, KT-52262, KT-52424, KT-52860, KT-52934 KT-53086, KT-53494, KT-53671, KT-53752, KT-53819 KT-54478, KT-54518, KT-54931, KT-54990, KT-55138 KT-55379, KT-55555, KT-56243
24 lines
622 B
Kotlin
Vendored
24 lines
622 B
Kotlin
Vendored
// ISSUE: KT-49045
|
|
|
|
data class Foo(val foo: String)
|
|
class Bar(val bar: String)
|
|
|
|
fun Bar.toFoo() = Foo(bar)
|
|
|
|
class Wrapper<T>(val wrapped: T) {
|
|
fun <A> map(f: (T) -> A): Wrapper<A> = Wrapper(f(wrapped))
|
|
fun swapWrappedValue(f: (T) -> Wrapper<T>): Wrapper<T> = f(wrapped)
|
|
}
|
|
|
|
fun test_1(): Wrapper<Foo?> {
|
|
return Wrapper(Bar("bar"))
|
|
.map { it.toFoo() as Foo? }
|
|
.swapWrappedValue { Wrapper(null) }
|
|
}
|
|
|
|
fun test_2(): Wrapper<Foo?> {
|
|
return <!RETURN_TYPE_MISMATCH!>Wrapper(Bar("bar"))
|
|
.map { it.toFoo() }
|
|
.swapWrappedValue { <!TYPE_MISMATCH, TYPE_MISMATCH!>Wrapper(null)<!> }<!>
|
|
}
|