[FIR2IR] Properly approximate intersection types during fir2ir conversion
^KT-62544 Fixed
This commit is contained in:
committed by
Space Team
parent
8c6da9fddb
commit
9366847e96
+40
@@ -0,0 +1,40 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// ISSUE: KT-62544
|
||||
|
||||
// FILE: Base.java
|
||||
public interface Base {
|
||||
String get();
|
||||
}
|
||||
|
||||
// FILE: Impl.java
|
||||
class Impl {}
|
||||
|
||||
// FILE: O.java
|
||||
public class O extends Impl implements Base {
|
||||
@Override
|
||||
public String get() { return "O"; }
|
||||
}
|
||||
|
||||
// FILE: K.java
|
||||
public class K extends Impl implements Base {
|
||||
@Override
|
||||
public String get() { return "K"; }
|
||||
}
|
||||
|
||||
// FILE: box.kt
|
||||
package test
|
||||
|
||||
import O
|
||||
import K
|
||||
|
||||
fun <A, B : A, C : A> foo(
|
||||
b: B,
|
||||
c: C,
|
||||
f: (A) -> String
|
||||
): String {
|
||||
return f(b) + f(c)
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return foo(O(), K()) { it.get() }
|
||||
}
|
||||
Reference in New Issue
Block a user