Skip to content

Java generic signature is missing in forwarders containing value classes #24270

@hamzaremmal

Description

@hamzaremmal

Compiler version

ce57b71

Minimized code

final class Box[A](value: A) extends AnyVal

trait Foo:
  def foo[A](a: A): Box[A] = Box(a)

object bar extends Foo

Output

//> javap bar\$
Compiled from "test.scala"
public final class bar$ implements Foo,java.io.Serializable {
  public static final bar$ MODULE$;
  public static {};
  public java.lang.Object foo(java.lang.Object);
}

Expectation

//> javap bar\$
Compiled from "test.scala"
public final class bar$ implements Foo,java.io.Serializable {
  public static final bar$ MODULE$;
  public static {};
  public <A> A foo(A);
}

Notes

  • The static forwarder has a (correct?) generic signature:
//> javap bar  
Compiled from "test.scala"
public final class bar {
  public static <A> java.lang.Object foo(A);
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions