blob: 714a4a0e3928a6b7b19195d2d774eaa24a5e8397 (
plain) (
tree)
|
|
trait Module {
sealed trait Tree
case class LetL() extends Tree
case class LetR() extends Tree
}
class Patmat[T <: Module](val module: T) {
def patmat(tree: module.Tree) = tree match {
case module.LetL() => ???
}
def exhaust(tree: module.Tree) = tree match {
case module.LetL() => ???
case module.LetR() => ???
}
}
class Patmat2(val module: Module) {
def patmat(tree: module.Tree) = tree match {
case module.LetL() => ???
}
def exhaust(tree: module.Tree) = tree match {
case module.LetL() => ???
case module.LetR() => ???
}
}
|