aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorJon Pretty <jon.pretty@propensive.com>2018-06-06 21:27:28 +0100
committerJon Pretty <jon.pretty@propensive.com>2018-06-06 21:27:28 +0100
commit091788d0ad6f94c91cc20d6074c3403934702325 (patch)
tree11416ba645230b6a7a5ef50a982dd3d07e97cc40 /core
parenta59b1e72c9ad076034bde13be1e0f90452b45f20 (diff)
downloadmagnolia-091788d0ad6f94c91cc20d6074c3403934702325.tar.gz
magnolia-091788d0ad6f94c91cc20d6074c3403934702325.tar.bz2
magnolia-091788d0ad6f94c91cc20d6074c3403934702325.zip
Permit derivations of products when `dispatch` not defined
Diffstat (limited to 'core')
-rw-r--r--core/shared/src/main/scala/magnolia.scala3
1 files changed, 1 insertions, 2 deletions
diff --git a/core/shared/src/main/scala/magnolia.scala b/core/shared/src/main/scala/magnolia.scala
index 6001977..dd1e0e8 100644
--- a/core/shared/src/main/scala/magnolia.scala
+++ b/core/shared/src/main/scala/magnolia.scala
@@ -127,9 +127,7 @@ object Magnolia {
error(s"magnolia: the method `combine` should take a single parameter of type $expected")
}
- // FIXME: Only run these methods if they're used, particularly `dispatch`
checkMethod("combine", "case classes", "CaseClass[Typeclass, _]")
- checkMethod("dispatch", "sealed traits", "SealedTrait[Typeclass, _]")
val expandDeferred = new Transformer {
override def transform(tree: Tree) = tree match {
@@ -333,6 +331,7 @@ object Magnolia {
}})}))
}""")
} else if (isSealedTrait) {
+ checkMethod("dispatch", "sealed traits", "SealedTrait[Typeclass, _]")
val genericSubtypes = knownSubclasses(classType.get)
val subtypes = genericSubtypes.map { sub =>
val subType = sub.asType.toType // FIXME: Broken for path dependent types