Report diagnostic on inline parameter usage inside defaul value for another inline parameter
This commit is contained in:
+58
@@ -0,0 +1,58 @@
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE
|
||||
// !LANGUAGE: +InlineDefaultFunctionalParameters
|
||||
|
||||
inline fun inlineFun(lambda: () -> String) = lambda()
|
||||
|
||||
inline fun noInlineFun(lambda: () -> String) = lambda()
|
||||
|
||||
|
||||
inline fun default0_1(lambda: () -> String, dlambda: () -> String = { <!NOT_SUPPORTED_USAGE_OF_INLINE_PARAMETER_IN_DEFAULT_INLINE_ONE!>lambda<!>; "OK" }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default0_2(lambda: () -> String, dlambda: () -> String = { noInlineFun (<!NOT_SUPPORTED_USAGE_OF_INLINE_PARAMETER_IN_DEFAULT_INLINE_ONE, NOT_SUPPORTED_USAGE_OF_INLINE_PARAMETER_IN_DEFAULT_INLINE_ONE!>lambda<!>) }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
|
||||
|
||||
inline fun default0(lambda: () -> String, dlambda: () -> String = { noInlineFun (<!NOT_SUPPORTED_USAGE_OF_INLINE_PARAMETER_IN_DEFAULT_INLINE_ONE, NOT_SUPPORTED_USAGE_OF_INLINE_PARAMETER_IN_DEFAULT_INLINE_ONE!>lambda<!>) }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default1_0(lambda: () -> String, dlambda: () -> String = { <!NON_LOCAL_RETURN_NOT_ALLOWED, NOT_SUPPORTED_USAGE_OF_INLINE_PARAMETER_IN_DEFAULT_INLINE_ONE!>lambda<!>() }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default1_1(lambda: () -> String, noinline dlambda: () -> String = { <!NON_LOCAL_RETURN_NOT_ALLOWED!>lambda<!>() }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default1_1crossinline(crossinline lambda: () -> String, noinline dlambda: () -> String = { lambda() }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default1_2(noinline lambda: () -> String, dlambda: () -> String = { lambda() }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default1_3(noinline lambda: () -> String, noinline dlambda: () -> String = { lambda() }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
|
||||
inline fun default2_1(lambda: () -> String, noinline dlambda: () -> String = { inlineFun(<!NON_LOCAL_RETURN_NOT_ALLOWED!>lambda<!>) }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default2_1crossinline(crossinline lambda: () -> String, noinline dlambda: () -> String = { inlineFun(lambda) }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default2_2(noinline lambda: () -> String, dlambda: () -> String = { inlineFun(lambda) }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default2_3(noinline lambda: () -> String, noinline dlambda: () -> String = { inlineFun(lambda) }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package
|
||||
|
||||
public inline fun default0(/*0*/ lambda: () -> kotlin.String, /*1*/ dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default0_1(/*0*/ lambda: () -> kotlin.String, /*1*/ dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default0_2(/*0*/ lambda: () -> kotlin.String, /*1*/ dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default1_0(/*0*/ lambda: () -> kotlin.String, /*1*/ dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default1_1(/*0*/ lambda: () -> kotlin.String, /*1*/ noinline dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default1_1crossinline(/*0*/ crossinline lambda: () -> kotlin.String, /*1*/ noinline dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default1_2(/*0*/ noinline lambda: () -> kotlin.String, /*1*/ dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default1_3(/*0*/ noinline lambda: () -> kotlin.String, /*1*/ noinline dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default2_1(/*0*/ lambda: () -> kotlin.String, /*1*/ noinline dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default2_1crossinline(/*0*/ crossinline lambda: () -> kotlin.String, /*1*/ noinline dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default2_2(/*0*/ noinline lambda: () -> kotlin.String, /*1*/ dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default2_3(/*0*/ noinline lambda: () -> kotlin.String, /*1*/ noinline dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun inlineFun(/*0*/ lambda: () -> kotlin.String): kotlin.String
|
||||
public inline fun noInlineFun(/*0*/ lambda: () -> kotlin.String): kotlin.String
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -UNUSED_VARIABLE -NOTHING_TO_INLINE
|
||||
// !LANGUAGE: -InlineDefaultFunctionalParameters
|
||||
|
||||
inline fun inlineFun(lambda: () -> String) = lambda()
|
||||
|
||||
inline fun noInlineFun(lambda: () -> String) = lambda()
|
||||
|
||||
|
||||
inline fun default0_1(lambda: () -> String, <!NOT_YET_SUPPORTED_IN_INLINE!>dlambda: () -> String = { <!USAGE_IS_NOT_INLINABLE, TYPE_MISMATCH!>lambda<!> }<!>) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default0_2(lambda: () -> String, <!NOT_YET_SUPPORTED_IN_INLINE!>dlambda: () -> String = { noInlineFun (<!NON_LOCAL_RETURN_NOT_ALLOWED!>lambda<!>) }<!>) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
|
||||
|
||||
inline fun default1_0(lambda: () -> String, <!NOT_YET_SUPPORTED_IN_INLINE!>dlambda: () -> String = { <!NON_LOCAL_RETURN_NOT_ALLOWED!>lambda<!>() }<!>) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default1_1(lambda: () -> String, noinline dlambda: () -> String = { <!NON_LOCAL_RETURN_NOT_ALLOWED!>lambda<!>() }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default1_1crossinline(crossinline lambda: () -> String, noinline dlambda: () -> String = { lambda() }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default1_2(noinline lambda: () -> String, <!NOT_YET_SUPPORTED_IN_INLINE!>dlambda: () -> String = { lambda() }<!>) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default1_3(noinline lambda: () -> String, noinline dlambda: () -> String = { lambda() }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
inline fun default2_0(lambda: () -> String, <!NOT_YET_SUPPORTED_IN_INLINE!>dlambda: () -> String = { inlineFun(<!NON_LOCAL_RETURN_NOT_ALLOWED!>lambda<!>) }<!>) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default2_1(lambda: () -> String, noinline dlambda: () -> String = { inlineFun(<!NON_LOCAL_RETURN_NOT_ALLOWED!>lambda<!>) }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default2_1crossinline(crossinline lambda: () -> String, noinline dlambda: () -> String = { inlineFun(lambda) }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default2_2(noinline lambda: () -> String, <!NOT_YET_SUPPORTED_IN_INLINE!>dlambda: () -> String = { inlineFun(lambda) }<!>) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
|
||||
inline fun default2_3(noinline lambda: () -> String, noinline dlambda: () -> String = { inlineFun(lambda) }) {
|
||||
lambda() + dlambda()
|
||||
}
|
||||
Vendored
+16
@@ -0,0 +1,16 @@
|
||||
package
|
||||
|
||||
public inline fun default0_1(/*0*/ lambda: () -> kotlin.String, /*1*/ dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default0_2(/*0*/ lambda: () -> kotlin.String, /*1*/ dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default1_0(/*0*/ lambda: () -> kotlin.String, /*1*/ dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default1_1(/*0*/ lambda: () -> kotlin.String, /*1*/ noinline dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default1_1crossinline(/*0*/ crossinline lambda: () -> kotlin.String, /*1*/ noinline dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default1_2(/*0*/ noinline lambda: () -> kotlin.String, /*1*/ dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default1_3(/*0*/ noinline lambda: () -> kotlin.String, /*1*/ noinline dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default2_0(/*0*/ lambda: () -> kotlin.String, /*1*/ dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default2_1(/*0*/ lambda: () -> kotlin.String, /*1*/ noinline dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default2_1crossinline(/*0*/ crossinline lambda: () -> kotlin.String, /*1*/ noinline dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default2_2(/*0*/ noinline lambda: () -> kotlin.String, /*1*/ dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun default2_3(/*0*/ noinline lambda: () -> kotlin.String, /*1*/ noinline dlambda: () -> kotlin.String = ...): kotlin.Unit
|
||||
public inline fun inlineFun(/*0*/ lambda: () -> kotlin.String): kotlin.String
|
||||
public inline fun noInlineFun(/*0*/ lambda: () -> kotlin.String): kotlin.String
|
||||
Reference in New Issue
Block a user