[NI] Report unsafe invoke properly for flexible types
`isNullable` check returns `true` for flexible types, which leads to false positive unsafe invoke error, when receiver for invoke's property is flexible. ^KT-30695 Fixed
This commit is contained in:
+1
-1
@@ -343,7 +343,7 @@ private fun KotlinResolutionCandidate.checkUnsafeImplicitInvokeAfterSafeCall(arg
|
||||
}
|
||||
} ?: error("Receiver kind does not match receiver argument")
|
||||
|
||||
if (receiverArgument.receiver.stableType.isNullable()) {
|
||||
if (receiverArgument.isSafeCall && receiverArgument.receiver.stableType.isNullable()) {
|
||||
addDiagnostic(UnsafeCallError(argument, isForImplicitInvoke = true))
|
||||
return ImplicitInvokeCheckStatus.UNSAFE_INVOKE_REPORTED
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user