blob: f6509f21893ae8f4ac18e86d870c15634eba6cfb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
|
final class Phantom[A](val s: String) extends AnyVal {
def compose(p: Phantom[A]): Phantom[A] = new Phantom[A](s+p.s)
}
object Test extends App {
val x = new Phantom[Int]("foo")
val y = new Phantom[Int]("bar")
val z = x compose y
println(z.s)
}
|