diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/inline/InlineAnalyzerExtension.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/inline/InlineAnalyzerExtension.kt index 2165b3db7d2..f6f522735e5 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/inline/InlineAnalyzerExtension.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/inline/InlineAnalyzerExtension.kt @@ -169,7 +169,7 @@ class InlineAnalyzerExtension( } if (hasInlineArgs) return - if (functionDescriptor.isInlineOnlyOrReifiable() || functionDescriptor.isExpect) return + if (functionDescriptor.isInlineOnlyOrReifiable() || functionDescriptor.isExpect || functionDescriptor.isSuspend) return if (reasonableInlineRules.any { it.isInlineReasonable(functionDescriptor, function, trace.bindingContext) }) return diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/suspendFunctionType/inline.kt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/suspendFunctionType/inline.kt index 4962f727b97..69d93b21c24 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/coroutines/suspendFunctionType/inline.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/suspendFunctionType/inline.kt @@ -5,10 +5,10 @@ inline fun foo3(noinline x: suspend () -> Unit) {} inline fun foo4(noinline crossinline x: suspend () -> Unit) {} -suspend inline fun bar1(x: suspend () -> Unit) {} -suspend inline fun bar2(crossinline x: suspend () -> Unit) {} -suspend inline fun bar3(noinline x: suspend () -> Unit) {} -suspend inline fun bar4(noinline crossinline x: suspend () -> Unit) {} +suspend inline fun bar1(x: suspend () -> Unit) {} +suspend inline fun bar2(crossinline x: suspend () -> Unit) {} +suspend inline fun bar3(noinline x: suspend () -> Unit) {} +suspend inline fun bar4(noinline crossinline x: suspend () -> Unit) {} suspend fun baz() { foo1 {