aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorJon Pretty <jon.pretty@propensive.com>2017-06-12 13:11:57 +0200
committerJon Pretty <jon.pretty@propensive.com>2017-06-12 13:11:57 +0200
commit4d1e10dff683150b687c413b80e38ae0aba632c5 (patch)
tree3c64ce718c4e86c9119cc8d2bc61d1a11727935c /examples
parentec3f9d345e8a30e4e8c0b5885c718deb6cacb88c (diff)
downloadmagnolia-4d1e10dff683150b687c413b80e38ae0aba632c5.tar.gz
magnolia-4d1e10dff683150b687c413b80e38ae0aba632c5.tar.bz2
magnolia-4d1e10dff683150b687c413b80e38ae0aba632c5.zip
Improvements to error reportingv0.1.0
Diffstat (limited to 'examples')
-rw-r--r--examples/src/main/scala/example.scala10
1 files changed, 10 insertions, 0 deletions
diff --git a/examples/src/main/scala/example.scala b/examples/src/main/scala/example.scala
index 5dd1f47..afd202e 100644
--- a/examples/src/main/scala/example.scala
+++ b/examples/src/main/scala/example.scala
@@ -89,12 +89,22 @@ object `package` {
implicit class Showable[T: Show](t: T) {
def show: String = implicitly[Show[T]].show(t)
}
+ implicit val showString: Show[String] = identity
+ implicit val showBool: Show[Boolean] = _.toString
+ implicit def showList[T: Show]: Show[List[T]] = xs => xs.map { x => s"list:${implicitly[Show[T]].show(x)}" }.mkString(";")
+ implicit def showSet[T: Show]: Show[Set[T]] = s => "set"
}
sealed trait Tree
case class Branch(left: Tree, right: Tree) extends Tree
case class Leaf(value: Int) extends Tree
+sealed trait Entity
+case class Person(name: String, address: Address) extends Entity
+case class Organization(name: String, contacts: Set[Person]) extends Entity
+case class Address(lines: List[String], country: Country)
+case class Country(name: String, code: String, salesTax: Boolean)
+
trait Show[T] { def show(t: T): String }
object Show extends Show_1 {
implicit val showInt: Show[Int] = _.toString