From d20a3824ce7719deb328ffed002288bedc398f77 Mon Sep 17 00:00:00 2001 From: Jon Pretty Date: Fri, 24 Nov 2017 14:26:17 +0000 Subject: Use virtualized `param` if it is available --- examples/shared/src/main/scala/decode.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'examples/shared/src/main/scala/decode.scala') 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 => -- cgit v1.2.3