tests for obsolete tasks
#KT-3007 obsolete #KT-3038 obsolete
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
//KT-3007 Kotlin plugin 0.4.126 does not compile KAnnotator revision ba0a93eb
|
||||
package a
|
||||
|
||||
enum class SomeEnum {
|
||||
FIRST
|
||||
SECOND
|
||||
}
|
||||
|
||||
// Doesn't work
|
||||
fun Iterable<Int>.some() {
|
||||
this.fold(SomeEnum.FIRST, {(res : SomeEnum, value) ->
|
||||
if (res == SomeEnum.FIRST) SomeEnum.FIRST else SomeEnum.SECOND
|
||||
})
|
||||
}
|
||||
|
||||
fun tempFun() : SomeEnum {
|
||||
return SomeEnum.FIRST
|
||||
}
|
||||
|
||||
// Doesn't work
|
||||
fun Iterable<Int>.someSimpleWithFun() {
|
||||
this.fold(SomeEnum.FIRST, {(res : SomeEnum, value) ->
|
||||
tempFun()
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// Works
|
||||
fun Iterable<Int>.someSimple() {
|
||||
this.fold(SomeEnum.FIRST, {(res : SomeEnum, value) ->
|
||||
SomeEnum.FIRST
|
||||
})
|
||||
}
|
||||
|
||||
// Works
|
||||
fun Iterable<Int>.someInt() {
|
||||
this.fold(0, {(res : Int, value) ->
|
||||
if (res == 0) 1 else 0
|
||||
})
|
||||
}
|
||||
|
||||
//from standard library
|
||||
fun <T,R> Iterable<T>.fold(<!UNUSED_PARAMETER!>initial<!>: R, <!UNUSED_PARAMETER!>operation<!>: (R, T) -> R): R {<!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>}<!>
|
||||
@@ -0,0 +1,22 @@
|
||||
//KT-3038 Wrong type inference for enum entry
|
||||
package a
|
||||
|
||||
enum class TestEnum {
|
||||
FIRST
|
||||
SECOND
|
||||
}
|
||||
|
||||
fun inferenceTest<T>(a: T) : T = a
|
||||
|
||||
fun hello() {
|
||||
var enumElemFirst = <!VARIABLE_WITH_REDUNDANT_INITIALIZER!>inferenceTest(TestEnum.FIRST)<!>
|
||||
enumElemFirst = TestEnum.SECOND // Type mismatch: inferred type is testDebug.TestEnum.<class-object-for-TestEnum>.SECOND but testDebug.TestEnum.<class-object-for-TestEnum>.FIRST was expected
|
||||
|
||||
var enumElemSecond : TestEnum = <!VARIABLE_WITH_REDUNDANT_INITIALIZER!>inferenceTest(TestEnum.FIRST)<!>
|
||||
enumElemSecond = TestEnum.SECOND // Ok
|
||||
|
||||
use(enumElemFirst, enumElemSecond)
|
||||
}
|
||||
|
||||
|
||||
fun use(vararg a: Any?) = a
|
||||
@@ -2222,6 +2222,16 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage
|
||||
doTest("compiler/testData/diagnostics/tests/inference/regressions/kt2842.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt3007.kt")
|
||||
public void testKt3007() throws Exception {
|
||||
doTest("compiler/testData/diagnostics/tests/inference/regressions/kt3007.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt3038.kt")
|
||||
public void testKt3038() throws Exception {
|
||||
doTest("compiler/testData/diagnostics/tests/inference/regressions/kt3038.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt3150.kt")
|
||||
public void testKt3150() throws Exception {
|
||||
doTest("compiler/testData/diagnostics/tests/inference/regressions/kt3150.kt");
|
||||
|
||||
Reference in New Issue
Block a user