blob: 714a4a0e3928a6b7b19195d2d774eaa24a5e8397 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
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() => ???
}
}
|