[NI] Use original implicit receiver for DSL violation check
There is an inconsistency between old and new inference for storing receivers of resolved calls. In new inference, for captured types, receiver will be changed and to preserve behavior of the old inference, we use original one during important checks. This is more a workaround than a solution and should be revisited. #KT-31356 Fixed #KT-29948 Fixed #KT-31360 Fixed
This commit is contained in:
@@ -17482,6 +17482,21 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
|
||||
runTest("compiler/testData/diagnostics/tests/resolve/dslMarker/insideTopLevelExtensionAnnotatedType.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt29948.kt")
|
||||
public void testKt29948() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/resolve/dslMarker/kt29948.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt31360.kt")
|
||||
public void testKt31360() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/resolve/dslMarker/kt31360.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("markedReceiverWithCapturedTypeArgument.kt")
|
||||
public void testMarkedReceiverWithCapturedTypeArgument() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/resolve/dslMarker/markedReceiverWithCapturedTypeArgument.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("markersIntersection.kt")
|
||||
public void testMarkersIntersection() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/resolve/dslMarker/markersIntersection.kt");
|
||||
|
||||
Reference in New Issue
Block a user