blob: 48c5302f7fb3d7843084cee8b352e1b6475f2cfb (
plain) (
tree)
|
|
object Test {
trait Number
trait Zero extends Number
trait Succ[N <: Number](n: N) extends Number
implicit def succ[N <: Number](implicit n: N): Succ[N] = new Succ[N](n) {}
implicit def zero: Zero = new Zero{}
implicitly[Zero]
implicitly[Succ[Zero]]
implicitly[Succ[Succ[Zero]]]
implicitly[Succ[Succ[Succ[Zero]]]]
}
|