diff options
author | Jon Pretty <jon.pretty@propensive.com> | 2017-11-24 14:26:17 +0000 |
---|---|---|
committer | Jon Pretty <jon.pretty@propensive.com> | 2017-11-24 14:26:17 +0000 |
commit | d20a3824ce7719deb328ffed002288bedc398f77 (patch) | |
tree | 3c5cb04da66710498759439f8e8c068a0e9502ac /examples/shared/src/main/scala/decode.scala | |
parent | 192173d811f870e6e9c705c80118e27dc63a898b (diff) | |
download | magnolia-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.scala | 3 |
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 => |