Disable New Inference in JS backend
See #KT-37163 for details
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
$TESTDATA_DIR$/reifiedIntersectionType.kt
|
||||
-output
|
||||
$TEMP_DIR$/out.js
|
||||
@@ -0,0 +1,16 @@
|
||||
fun test1() {
|
||||
val flow = combine(
|
||||
flowOf("1"),
|
||||
flowOf(2)
|
||||
) { arr -> arr.joinToString() }
|
||||
}
|
||||
|
||||
fun <T> Array<out T>.joinToString(): String = ""
|
||||
|
||||
public inline fun <reified T, R> combine(
|
||||
vararg flows: Flow<T>,
|
||||
crossinline transform: suspend (Array<T>) -> R
|
||||
): Flow<R> = TODO()
|
||||
|
||||
fun <T> flowOf(value: T): Flow<T> = TODO()
|
||||
interface Flow<out T>
|
||||
@@ -0,0 +1,13 @@
|
||||
compiler/testData/cli/js/reifiedIntersectionType.kt:2:9: warning: variable 'flow' is never used
|
||||
val flow = combine(
|
||||
^
|
||||
compiler/testData/cli/js/reifiedIntersectionType.kt:11:12: warning: parameter 'flows' is never used
|
||||
vararg flows: Flow<T>,
|
||||
^
|
||||
compiler/testData/cli/js/reifiedIntersectionType.kt:12:17: warning: parameter 'transform' is never used
|
||||
crossinline transform: suspend (Array<T>) -> R
|
||||
^
|
||||
compiler/testData/cli/js/reifiedIntersectionType.kt:15:16: warning: parameter 'value' is never used
|
||||
fun <T> flowOf(value: T): Flow<T> = TODO()
|
||||
^
|
||||
OK
|
||||
@@ -0,0 +1,37 @@
|
||||
// IGNORE_BACKEND: JS
|
||||
// KJS_WITH_FULL_RUNTIME
|
||||
|
||||
// Case that was found in kotlinx.coroutines
|
||||
|
||||
fun test1() {
|
||||
val flow = combine(
|
||||
flowOf("1"),
|
||||
flowOf(2)
|
||||
) { arr -> arr.joinToString() }
|
||||
}
|
||||
|
||||
fun <T> Array<out T>.joinToString(): String = ""
|
||||
|
||||
public inline fun <reified T, R> combine(
|
||||
vararg flows: Flow<T>,
|
||||
crossinline transform: suspend (Array<T>) -> R
|
||||
): Flow<R> = TODO()
|
||||
|
||||
fun <T> flowOf(value: T): Flow<T> = TODO()
|
||||
interface Flow<out T>
|
||||
|
||||
// Simplified case
|
||||
|
||||
class In<in T>
|
||||
|
||||
inline fun <reified K> select(x: K, y: K): K = x
|
||||
interface A
|
||||
interface B
|
||||
|
||||
fun test2(a: In<A>, b: In<B>) {
|
||||
select(a, b)
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return "OK"
|
||||
}
|
||||
+1
-3
@@ -1,6 +1,4 @@
|
||||
// ADDITIONAL_COMPILER_ARGUMENTS: -XXLanguage:+NewInference
|
||||
// ADDITIONAL_COMPILER_ARGUMENTS: -XXLanguage:+SamConversionForKotlinFunctions
|
||||
// ADDITIONAL_COMPILER_ARGUMENTS: -XXLanguage:+SamConversionPerArgument
|
||||
// ADDITIONAL_COMPILER_ARGUMENTS: -Xnew-inference
|
||||
|
||||
package common
|
||||
|
||||
|
||||
+1
-3
@@ -1,6 +1,4 @@
|
||||
// ADDITIONAL_COMPILER_ARGUMENTS: -XXLanguage:+NewInference
|
||||
// ADDITIONAL_COMPILER_ARGUMENTS: -XXLanguage:+SamConversionForKotlinFunctions
|
||||
// ADDITIONAL_COMPILER_ARGUMENTS: -XXLanguage:+SamConversionPerArgument
|
||||
// ADDITIONAL_COMPILER_ARGUMENTS: -Xnew-inference
|
||||
|
||||
package js
|
||||
|
||||
|
||||
+1
-3
@@ -1,6 +1,4 @@
|
||||
// ADDITIONAL_COMPILER_ARGUMENTS: -XXLanguage:+NewInference
|
||||
// ADDITIONAL_COMPILER_ARGUMENTS: -XXLanguage:+SamConversionForKotlinFunctions
|
||||
// ADDITIONAL_COMPILER_ARGUMENTS: -XXLanguage:+SamConversionPerArgument
|
||||
// ADDITIONAL_COMPILER_ARGUMENTS: -Xnew-inference
|
||||
|
||||
package jvm
|
||||
|
||||
|
||||
@@ -1,41 +1,11 @@
|
||||
-- Common --
|
||||
Exit code: OK
|
||||
Output:
|
||||
warning: ATTENTION!
|
||||
This build uses unsafe internal compiler arguments:
|
||||
|
||||
-XXLanguage:+NewInference
|
||||
-XXLanguage:+SamConversionForKotlinFunctions
|
||||
-XXLanguage:+SamConversionPerArgument
|
||||
|
||||
This mode is not recommended for production use,
|
||||
as no stability/compatibility guarantees are given on
|
||||
compiler or generated code. Use it at your own risk!
|
||||
|
||||
-- JVM --
|
||||
Exit code: OK
|
||||
Output:
|
||||
warning: ATTENTION!
|
||||
This build uses unsafe internal compiler arguments:
|
||||
|
||||
-XXLanguage:+NewInference
|
||||
-XXLanguage:+SamConversionForKotlinFunctions
|
||||
-XXLanguage:+SamConversionPerArgument
|
||||
|
||||
This mode is not recommended for production use,
|
||||
as no stability/compatibility guarantees are given on
|
||||
compiler or generated code. Use it at your own risk!
|
||||
|
||||
-- JS --
|
||||
Exit code: OK
|
||||
Output:
|
||||
warning: ATTENTION!
|
||||
This build uses unsafe internal compiler arguments:
|
||||
|
||||
-XXLanguage:+NewInference
|
||||
-XXLanguage:+SamConversionForKotlinFunctions
|
||||
-XXLanguage:+SamConversionPerArgument
|
||||
|
||||
This mode is not recommended for production use,
|
||||
as no stability/compatibility guarantees are given on
|
||||
compiler or generated code. Use it at your own risk!
|
||||
|
||||
Reference in New Issue
Block a user