summaryrefslogtreecommitdiff
path: root/src/main/boilerplate/spray/json/ProductFormatsInstances.scala.template
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/boilerplate/spray/json/ProductFormatsInstances.scala.template')
-rw-r--r--src/main/boilerplate/spray/json/ProductFormatsInstances.scala.template7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/main/boilerplate/spray/json/ProductFormatsInstances.scala.template b/src/main/boilerplate/spray/json/ProductFormatsInstances.scala.template
index 3d29b58..03d9492 100644
--- a/src/main/boilerplate/spray/json/ProductFormatsInstances.scala.template
+++ b/src/main/boilerplate/spray/json/ProductFormatsInstances.scala.template
@@ -16,11 +16,14 @@
package spray.json
+import scala.reflect.ClassTag
+
trait ProductFormatsInstances { self: ProductFormats with StandardFormats =>
[# // Case classes with 1 parameters
- def jsonFormat1[[#P1 :JF#], T <: Product :ClassManifest](construct: ([#P1#]) => T): RootJsonFormat[T] = {
- val Array([#p1#]) = extractFieldNames(classManifest[T])
+ def jsonFormat1[[#P1 :JF#], T <: Product :ClassTag](construct: ([#P1#]) => T): RootJsonFormat[T] = {
+ val c = implicitly[ClassTag[T]]
+ val Array([#p1#]) = extractFieldNames(c)
jsonFormat(construct, [#p1#])
}
def jsonFormat[[#P1 :JF#], T <: Product](construct: ([#P1#]) => T, [#fieldName1: String#]): RootJsonFormat[T] = new RootJsonFormat[T]{