[NI] Align builder inference with the old inference
#KT-29184 Fixed
This commit is contained in:
+1
-1
@@ -53,7 +53,7 @@ val test6 = <!OI;TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>generate<!> {
|
||||
}
|
||||
|
||||
val test7 = <!OI;TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>generate<!> {
|
||||
yield("baz")
|
||||
yield(<!NI;TYPE_MISMATCH!>"baz"<!>)
|
||||
genericExtension<Int>()
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -5,9 +5,9 @@ public val test2: kotlin.Any?
|
||||
public val test3: kotlin.Int
|
||||
public val test4: kotlin.Any?
|
||||
public val test5: kotlin.Int
|
||||
public val test6: kotlin.String
|
||||
public val test7: kotlin.String
|
||||
public val test8: kotlin.Any?
|
||||
public val test6: kotlin.Any?
|
||||
public val test7: kotlin.Int
|
||||
public val test8: kotlin.String
|
||||
public fun </*0*/ S> generate(/*0*/ @kotlin.BuilderInference g: suspend Controller<S>.() -> kotlin.Unit): S
|
||||
public fun Base.baseExtension(): kotlin.Unit
|
||||
public fun </*0*/ S> Controller<S>.genericExtension(): kotlin.Unit
|
||||
|
||||
compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/inferCoroutineTypeInOldVersion.kt
Vendored
+1
-1
@@ -23,7 +23,7 @@ val memberWithoutAnn = <!NI;IMPLICIT_NOTHING_AS_TYPE_PARAMETER, OI;TYPE_INFERENC
|
||||
}
|
||||
|
||||
val extension = <!OI;TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>build<!> {
|
||||
extensionAdd("foo")
|
||||
<!NI;NON_APPLICABLE_CALL_FOR_BUILDER_INFERENCE!>extensionAdd("foo")<!>
|
||||
}
|
||||
|
||||
val safeExtension = build {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package
|
||||
|
||||
public val extension: kotlin.collections.List<kotlin.Any?>
|
||||
public val extension: kotlin.collections.List<kotlin.String>
|
||||
public val member: kotlin.collections.List<kotlin.Int>
|
||||
public val memberWithoutAnn: kotlin.collections.List<kotlin.Nothing>
|
||||
public val safeExtension: kotlin.collections.List<kotlin.String>
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ val memberWithoutAnn = <!NI;IMPLICIT_NOTHING_AS_TYPE_PARAMETER, OI;TYPE_INFERENC
|
||||
}
|
||||
|
||||
val extension = <!OI;TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>build<!> {
|
||||
extensionAdd("foo")
|
||||
<!NI;NON_APPLICABLE_CALL_FOR_BUILDER_INFERENCE!>extensionAdd("foo")<!>
|
||||
}
|
||||
|
||||
val safeExtension = build {
|
||||
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
package
|
||||
|
||||
public val extension: kotlin.collections.List<kotlin.Any?>
|
||||
public val member: kotlin.collections.List<kotlin.Any?>
|
||||
public val extension: kotlin.collections.List<kotlin.String>
|
||||
public val member: kotlin.collections.List<kotlin.Int>
|
||||
public val memberWithoutAnn: kotlin.collections.List<kotlin.Nothing>
|
||||
public val safeExtension: kotlin.collections.List<kotlin.Any?>
|
||||
public val safeExtension: kotlin.collections.List<kotlin.String>
|
||||
public fun </*0*/ S> build(/*0*/ @kotlin.BuilderInference g: Builder<S>.() -> kotlin.Unit): kotlin.collections.List<S>
|
||||
public fun </*0*/ S> wrongBuild(/*0*/ g: Builder<S>.() -> kotlin.Unit): kotlin.collections.List<S>
|
||||
public fun </*0*/ S> Builder<S>.extensionAdd(/*0*/ s: S): kotlin.Unit
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ val normal = generate {
|
||||
}
|
||||
|
||||
val extension = <!OI;TYPE_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>generate<!> {
|
||||
extensionYield("foo")
|
||||
<!NI;NON_APPLICABLE_CALL_FOR_BUILDER_INFERENCE!>extensionYield("foo")<!>
|
||||
}
|
||||
|
||||
val safeExtension = generate {
|
||||
|
||||
Vendored
+4
-2
@@ -1,6 +1,8 @@
|
||||
// !LANGUAGE: -ReleaseCoroutines -ExperimentalBuilderInference
|
||||
// !DIAGNOSTICS: -EXPERIMENTAL_FEATURE_WARNING
|
||||
// !WITH_NEW_INFERENCE
|
||||
// SKIP_TXT
|
||||
|
||||
@kotlin.coroutines.experimental.RestrictsSuspension
|
||||
class RestrictedController<T> {
|
||||
suspend fun yield(<!UNUSED_PARAMETER!>x<!>: T) {}
|
||||
@@ -75,13 +77,13 @@ fun test() {
|
||||
this@a.<!ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL!>yield<!>(1)
|
||||
this@a.<!ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL!>yield2<!>(1)
|
||||
|
||||
with(this) {
|
||||
<!NI;NON_APPLICABLE_CALL_FOR_BUILDER_INFERENCE!>with(this) {
|
||||
<!ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL!>yield<!>("")
|
||||
this@with.<!ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL!>yield<!>("")
|
||||
|
||||
<!ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL!>yield2<!>("")
|
||||
this@with.<!ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL!>yield2<!>("")
|
||||
}
|
||||
}<!>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user