aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-12-04 17:50:08 +0100
committerLinnea Gräf <nea@nea.moe>2024-12-04 17:50:08 +0100
commit04fc8589d308a6dc254d13b20079a69e1aafcb93 (patch)
tree0efc659af101703df7e54577c14e6ea527c4a1f4
parenteb3224754130d0e1a674533bea7ff94a2e751baa (diff)
downloadreproduction-infinite-compile-master.tar.gz
reproduction-infinite-compile-master.tar.bz2
reproduction-infinite-compile-master.zip
Add kotlin alternative (which works / at least does not infinite compile)HEADmaster
-rw-r--r--src/main/java/ext/JavaHelper.java3
-rw-r--r--src/main/kotlin/moe/nea/firm/ManagedConfig.kt5
2 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/ext/JavaHelper.java b/src/main/java/ext/JavaHelper.java
index 98f281b..637aabb 100644
--- a/src/main/java/ext/JavaHelper.java
+++ b/src/main/java/ext/JavaHelper.java
@@ -1,9 +1,10 @@
package ext;
import moe.nea.firm.InterfaceA;
+import moe.nea.firm.InterfaceC;
public interface JavaHelper {
- static <E extends JavaHelper> InterfaceA<E> createInterfaceA() {
+ static <E extends InterfaceC> InterfaceA<E> createInterfaceA() {
return null;
}
}
diff --git a/src/main/kotlin/moe/nea/firm/ManagedConfig.kt b/src/main/kotlin/moe/nea/firm/ManagedConfig.kt
index 35f6a9d..64b04d3 100644
--- a/src/main/kotlin/moe/nea/firm/ManagedConfig.kt
+++ b/src/main/kotlin/moe/nea/firm/ManagedConfig.kt
@@ -9,13 +9,16 @@ interface InterfaceB<E> {
}
interface InterfaceA<T>
+interface InterfaceC
+
+fun <E : InterfaceC> createInterfaceAKotlin():InterfaceA<E> = TODO()
fun <E : Any> funA(
intA: InterfaceA<E>,
intB: InterfaceB<E>,
) {}
-fun <E> funB() where E : Enum<E>, E : JavaHelper {
+fun <E> funB() where E : Enum<E>, E : InterfaceC {
funA(
JavaHelper.createInterfaceA(),
InterfaceB.default(),