aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorJon Pretty <jon.pretty@propensive.com>2017-10-30 19:25:07 +0100
committerJon Pretty <jon.pretty@propensive.com>2017-10-30 19:25:07 +0100
commit7b776425828d27b3112ad5bddafaa7564c326536 (patch)
treebe041b460d9fced354fa6a7dabd03d7ced185d5a /examples
parent86c66ba93b5dc15301ac305fa28e24952e232613 (diff)
downloadmagnolia-7b776425828d27b3112ad5bddafaa7564c326536.tar.gz
magnolia-7b776425828d27b3112ad5bddafaa7564c326536.tar.bz2
magnolia-7b776425828d27b3112ad5bddafaa7564c326536.zip
Support for case objects
Diffstat (limited to 'examples')
-rw-r--r--examples/src/main/scala/typeclasses.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/examples/src/main/scala/typeclasses.scala b/examples/src/main/scala/typeclasses.scala
index d3017e5..ed59eda 100644
--- a/examples/src/main/scala/typeclasses.scala
+++ b/examples/src/main/scala/typeclasses.scala
@@ -14,7 +14,7 @@ import scala.annotation.unchecked.uncheckedVariance
object Show {
def join[T](context: JoinContext[Show, T])(value: T): String = context.parameters.map { param =>
s"${param.label}=${param.typeclass.show(param.dereference(value))}"
- }.mkString(s"{", ",", "}")
+ }.mkString(s"${context.typeName.split("\\.").last}(", ",", ")")
def split[T](subclasses: List[Subclass[Show, T]])(value: T): String =
subclasses.map { sub => sub.cast.andThen { value =>
@@ -81,6 +81,7 @@ trait Decoder[T] { def decode(str: String): T }
sealed trait Tree
case class Leaf(value: String) extends Tree
case class Branch(left: Tree, right: Tree) extends Tree
+case object Bud extends Tree
sealed trait Entity