Relax rules related to noinline/crossinline/reified in header/impl functions
See the comments in KT-18752 for the current resolution #KT-15377 Fixed #KT-18752 Fixed
This commit is contained in:
+27
@@ -0,0 +1,27 @@
|
||||
// !LANGUAGE: +MultiPlatformProjects
|
||||
// !DIAGNOSTICS: -NOTHING_TO_INLINE
|
||||
// MODULE: m1-common
|
||||
// FILE: common.kt
|
||||
|
||||
header fun f1(s: () -> String)
|
||||
header inline fun f2(s: () -> String)
|
||||
header inline fun f3(noinline s: () -> String)
|
||||
|
||||
header fun f4(s: () -> String)
|
||||
header inline fun f5(s: () -> String)
|
||||
header inline fun f6(crossinline s: () -> String)
|
||||
|
||||
header fun f7(x: Any)
|
||||
header fun f8(vararg x: Any)
|
||||
|
||||
// MODULE: m2-jvm(m1-common)
|
||||
// FILE: jvm.kt
|
||||
|
||||
impl inline fun f1(noinline s: () -> String) {}
|
||||
<!IMPLEMENTATION_WITHOUT_HEADER!>impl inline fun f2(noinline s: () -> String)<!> {}
|
||||
impl inline fun f3(s: () -> String) {}
|
||||
impl inline fun f4(crossinline s: () -> String) {}
|
||||
<!IMPLEMENTATION_WITHOUT_HEADER!>impl inline fun f5(crossinline s: () -> String)<!> {}
|
||||
impl inline fun f6(s: () -> String) {}
|
||||
<!IMPLEMENTATION_WITHOUT_HEADER!>impl fun f7(vararg x: Any)<!> {}
|
||||
<!IMPLEMENTATION_WITHOUT_HEADER!>impl fun f8(x: Any)<!> {}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
// -- Module: <m1-common> --
|
||||
package
|
||||
|
||||
public header fun f1(/*0*/ s: () -> kotlin.String): kotlin.Unit
|
||||
public header inline fun f2(/*0*/ s: () -> kotlin.String): kotlin.Unit
|
||||
public header inline fun f3(/*0*/ noinline s: () -> kotlin.String): kotlin.Unit
|
||||
public header fun f4(/*0*/ s: () -> kotlin.String): kotlin.Unit
|
||||
public header inline fun f5(/*0*/ s: () -> kotlin.String): kotlin.Unit
|
||||
public header inline fun f6(/*0*/ crossinline s: () -> kotlin.String): kotlin.Unit
|
||||
public header fun f7(/*0*/ x: kotlin.Any): kotlin.Unit
|
||||
public header fun f8(/*0*/ vararg x: kotlin.Any /*kotlin.Array<out kotlin.Any>*/): kotlin.Unit
|
||||
|
||||
|
||||
// -- Module: <m2-jvm> --
|
||||
package
|
||||
|
||||
public impl inline fun f1(/*0*/ noinline s: () -> kotlin.String): kotlin.Unit
|
||||
public impl inline fun f2(/*0*/ noinline s: () -> kotlin.String): kotlin.Unit
|
||||
public impl inline fun f3(/*0*/ s: () -> kotlin.String): kotlin.Unit
|
||||
public impl inline fun f4(/*0*/ crossinline s: () -> kotlin.String): kotlin.Unit
|
||||
public impl inline fun f5(/*0*/ crossinline s: () -> kotlin.String): kotlin.Unit
|
||||
public impl inline fun f6(/*0*/ s: () -> kotlin.String): kotlin.Unit
|
||||
public impl fun f7(/*0*/ vararg x: kotlin.Any /*kotlin.Array<out kotlin.Any>*/): kotlin.Unit
|
||||
public impl fun f8(/*0*/ x: kotlin.Any): kotlin.Unit
|
||||
Reference in New Issue
Block a user