Skip to content

ClassCastException for generic array construction #4037

Closed
@allanrenucci

Description

@allanrenucci
import scala.reflect.ClassTag

object Main {
  def foo[T <: AnyRef : ClassTag] = new Array[T](42)
  def main(args: Array[String]): Unit = {
    val x: Array[String] = foo[String]
  }
}
> dotc Main.scala
> dotr Main
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
	at Main$.main(Main.scala:6)
	at Main.main(Main.scala)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions