Don't report TYPE_INFERENCE_POSTPONED_VARIABLE_IN_RECEIVER_TYPE if unrestricted build inference was enabled
This commit is contained in:
+4
-1
@@ -415,7 +415,10 @@ class ResolvedAtomCompleter(
|
||||
|
||||
val rawExtensionReceiver = callableCandidate.extensionReceiver
|
||||
|
||||
if (rawExtensionReceiver != null && rawExtensionReceiver.receiver.receiverValue.type.contains { it is StubTypeForBuilderInference }) {
|
||||
val unrestrictedBuilderInferenceSupported =
|
||||
topLevelCallContext.languageVersionSettings.supportsFeature(LanguageFeature.UnrestrictedBuilderInference)
|
||||
|
||||
if (rawExtensionReceiver != null && !unrestrictedBuilderInferenceSupported && rawExtensionReceiver.receiver.receiverValue.type.contains { it is StubTypeForBuilderInference }) {
|
||||
topLevelTrace.reportDiagnosticOnce(Errors.TYPE_INFERENCE_POSTPONED_VARIABLE_IN_RECEIVER_TYPE.on(callableReferenceExpression))
|
||||
return
|
||||
}
|
||||
|
||||
+3
-1
@@ -551,7 +551,9 @@ class DoubleColonExpressionResolver(
|
||||
resolvedCall.extensionReceiver?.type?.contains { it is StubTypeForBuilderInference } == true
|
||||
}
|
||||
|
||||
if (doesSomeExtensionReceiverContainsStubType) {
|
||||
val unrestrictedBuilderInferenceSupported = languageVersionSettings.supportsFeature(LanguageFeature.UnrestrictedBuilderInference)
|
||||
|
||||
if (doesSomeExtensionReceiverContainsStubType && !unrestrictedBuilderInferenceSupported) {
|
||||
c.trace.reportDiagnosticOnce(TYPE_INFERENCE_POSTPONED_VARIABLE_IN_RECEIVER_TYPE.on(expression))
|
||||
return noTypeInfo(c)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user