K2: don't make T = Type! substitutions for constructors, including SAM

Without this commit we get some ABI changes and it looks bad.

Related to KT-65596
This commit is contained in:
Mikhail Glukhikh
2024-02-21 13:58:26 +01:00
committed by Space Team
parent 81414d758d
commit 78b6432ced
27 changed files with 159 additions and 76 deletions
@@ -1,9 +0,0 @@
MODULE lib
CLASS A.class
CLASS METADATA
FUNCTION foo()Ljava/lang/Comparable;
Property: class.metadata.function.typeParameters
K1
<T#0 /* K */ : kotlin/Comparable<T#0!>!>
K2
<T#0 /* K */ : kotlin/Comparable<T#0 & Any..T#0?>!>
@@ -2,8 +2,6 @@
// WITH_STDLIB
// MODULE: lib
// JVM_ABI_K1_K2_DIFF: KT-63870
// FILE: JavaInterface.java
public interface JavaInterface {
<K extends Comparable<K>> K foo();
@@ -1,6 +1,4 @@
MODULE main
Missing in K2
TestKt$example$2.class
CLASS TestKt$example$1.class
Property: class.signature
K1