Skip to content

ClassCastException during pattern match on inner classes defined in base traits #3548

Closed
@grindvoll

Description

@grindvoll

The following code crashes with a ClassCastException:

    trait Common {
      case class Data(a: String)
    }
    object O1 extends Common
    object O2 extends Common

    val data = O2.Data("test")

    // Runtime error: java.lang.ClassCastException: O2$ cannot be cast to O1$
    data match {
        case O1.Data(s) => println("O1 data")
        case O2.Data(s) => println("O2 data")
        case _ => println("Unknown")
    }

(Observed on 0.4.0-RC1)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions