Files
kotlin-fork/compiler/testData/diagnostics/tests/regressions/kt411.jet
T

69 lines
1.2 KiB
Plaintext

//kt-411 Wrong type expected when returning from a function literal
namespace kt411
fun f() {
invoker(
@{
return@ 11 // expects Function, but should expect Int
}
)
}
fun invoker(<!UNUSED_PARAMETER!>gen<!> : fun() : Int) : Int = 0
//more tests
fun t1() {
val <!UNUSED_VARIABLE!>v<!> = @{ () : Int =>
return@ 111
}
}
fun t2() : String {
val <!UNUSED_VARIABLE!>g<!> : fun(): Int = @{
if (true) {
return@ 1
}
<!RETURN_NOT_ALLOWED!>return "s"<!>
}
return "s"
}
fun t3() : String {
invoker(
@{
if (true) {
<!RETURN_NOT_ALLOWED!>return@t3 "1"<!>
}
else {
<!RETURN_NOT_ALLOWED!>return <!ERROR_COMPILE_TIME_VALUE!>2<!><!>
}
return@ 0
}
)
invoker(
@{ (): Int =>
return@ 1
}
)
invoker(
{
<!RETURN_NOT_ALLOWED!>return "0"<!>
}
)
return "2"
}
fun t4() : Int {
val <!UNUSED_VARIABLE!>h<!> : fun (): String = @l{
return@l "a"
}
val <!UNUSED_VARIABLE!>g<!> : fun (): String = @{ () : String =>
return@ "a"
}
fun inner(): String {
return "2"
}
return 12
}