2014-10-07 6 views

Antwort

4

Oops, scheint, dass dies auch kompiliert:

abstract class A 
case object B extends A 

object something { 
    val b = B 
    b match { case B => println("success") } 
} 

Scala Fiddle: Can a Scala case object be used in a match case

+2

See der Unterschied hier https://issues.scala-lang.org/browse/SI-4 577 –

+0

Sie sollten diese Antwort als die richtige markieren! – pme

+0

@pme bist du sicher? habe Scala in einer Weile nicht berührt – matanster

8

Sie müssen B.type angeben:

object something { 
    val b = B 
    b match { case _:B.type => println("success") } 
} 
Verwandte Themen