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/default.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/default.scala')
-rw-r--r-- | examples/shared/src/main/scala/default.scala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/examples/shared/src/main/scala/default.scala b/examples/shared/src/main/scala/default.scala index 4c1b634..aa9dedc 100644 --- a/examples/shared/src/main/scala/default.scala +++ b/examples/shared/src/main/scala/default.scala @@ -10,10 +10,11 @@ trait Default[T] { def default: T } object Default { type Typeclass[T] = Default[T] + type ParamType[T, P] = Param[Default, T] { type PType = P } /** constructs a default for each parameter, using the constructor default (if provided), * otherwise using a typeclass-provided default */ - def combine[T](ctx: CaseClass[Default, T]): Default[T] = new Default[T] { + def combine[T](ctx: CaseClass[Default, T, Param[Default, T]]): Default[T] = new Default[T] { def default = ctx.construct { param => param.default.getOrElse(param.typeclass.default) } |