aboutsummaryrefslogtreecommitdiff
path: root/examples/shared/src/main/scala/decode.scala
diff options
context:
space:
mode:
authorJon Pretty <jon.pretty@propensive.com>2017-11-24 14:26:17 +0000
committerJon Pretty <jon.pretty@propensive.com>2017-11-24 14:26:17 +0000
commitd20a3824ce7719deb328ffed002288bedc398f77 (patch)
tree3c5cb04da66710498759439f8e8c068a0e9502ac /examples/shared/src/main/scala/decode.scala
parent192173d811f870e6e9c705c80118e27dc63a898b (diff)
downloadmagnolia-d20a3824ce7719deb328ffed002288bedc398f77.tar.gz
magnolia-d20a3824ce7719deb328ffed002288bedc398f77.tar.bz2
magnolia-d20a3824ce7719deb328ffed002288bedc398f77.zip
Use virtualized `param` if it is available
Diffstat (limited to 'examples/shared/src/main/scala/decode.scala')
-rw-r--r--examples/shared/src/main/scala/decode.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/examples/shared/src/main/scala/decode.scala b/examples/shared/src/main/scala/decode.scala
index 5b083bd..14ab671 100644
--- a/examples/shared/src/main/scala/decode.scala
+++ b/examples/shared/src/main/scala/decode.scala
@@ -22,9 +22,10 @@ object Decoder {
/** type constructor for new instances of the typeclass */
type Typeclass[T] = Decoder[T]
+ type ParamType[T, P] = Param[Decoder, T] { type PType = P }
/** defines how new [[Decoder]]s for case classes should be constructed */
- def combine[T](ctx: CaseClass[Decoder, T]): Decoder[T] = new Decoder[T] {
+ def combine[T](ctx: CaseClass[Decoder, T, Param[Decoder, T]]): Decoder[T] = new Decoder[T] {
def decode(value: String) = {
val (name, values) = parse(value)
ctx.construct { param =>