Open
Description
trait T[+X] { def x: X }
class C {
type TT[+X] = T[X]
def it(): TT[_] = new TT[String] { def x = "" }
}
diff --git a/C.class.asm b/C.class.asm
index c25e4e0..eeced80 100644
--- a/C.class.asm
+++ b/C.class.asm
@@ -14,8 +14,8 @@
MAXLOCALS = 1
// access flags 0x1
- // signature ()LT<*>;
- // declaration: T<?> it()
+ // signature ()LT<Ljava/lang/Object;>;
+ // declaration: T<java.lang.Object> it()
public it()LT;
NEW C$$anon$1
DUP
The regression shows only when using the type alias. Discovered by @octonato and MiMa on Akka.
Not sure if that has any impact on Java clients. The following Java code works, no matter if the Scala code was compiled with 2.12.6 or 2.12.7:
public class A {
public static void main(String[] args) {
C c = new C();
T<?> t = c.it();
System.out.println(t.x());
}
}