From 1efbd3452906e9bfa5947a70a635fcb16433a31f Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Fri, 10 Jun 2016 12:17:53 +0300 Subject: [PATCH] Test: arguments of type aliases should be substituted literally, without type approximation. TYPE_MISMATCH is an expected error. --- .../noApproximationInTypeAliasArgumentSubstitution.kt | 7 +++++++ .../noApproximationInTypeAliasArgumentSubstitution.txt | 5 +++++ .../kotlin/checkers/DiagnosticsTestGenerated.java | 6 ++++++ 3 files changed, 18 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/typealias/noApproximationInTypeAliasArgumentSubstitution.kt create mode 100644 compiler/testData/diagnostics/tests/typealias/noApproximationInTypeAliasArgumentSubstitution.txt diff --git a/compiler/testData/diagnostics/tests/typealias/noApproximationInTypeAliasArgumentSubstitution.kt b/compiler/testData/diagnostics/tests/typealias/noApproximationInTypeAliasArgumentSubstitution.kt new file mode 100644 index 00000000000..d312988285f --- /dev/null +++ b/compiler/testData/diagnostics/tests/typealias/noApproximationInTypeAliasArgumentSubstitution.kt @@ -0,0 +1,7 @@ +typealias Array2D = Array> + +fun foo(a: Array2D) = a + +fun bar(a: Array2D) { + foo(a) +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/typealias/noApproximationInTypeAliasArgumentSubstitution.txt b/compiler/testData/diagnostics/tests/typealias/noApproximationInTypeAliasArgumentSubstitution.txt new file mode 100644 index 00000000000..cce939e20cc --- /dev/null +++ b/compiler/testData/diagnostics/tests/typealias/noApproximationInTypeAliasArgumentSubstitution.txt @@ -0,0 +1,5 @@ +package + +public typealias Array2D = kotlin.Array> +public fun bar(/*0*/ a: Array2D [= kotlin.Array>]): kotlin.Unit +public fun foo(/*0*/ a: Array2D [= kotlin.Array>]): Array2D [= kotlin.Array>] diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java index 7bdaee9fa81..9158f70b57b 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java @@ -19563,6 +19563,12 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest { doTest(fileName); } + @TestMetadata("noApproximationInTypeAliasArgumentSubstitution.kt") + public void testNoApproximationInTypeAliasArgumentSubstitution() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/typealias/noApproximationInTypeAliasArgumentSubstitution.kt"); + doTest(fileName); + } + @TestMetadata("noRHS.kt") public void testNoRHS() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/typealias/noRHS.kt");