diff options
-rw-r--r-- | core/src/main/scala/generic.scala | 2 | ||||
-rw-r--r-- | tests/shared/src/main/scala/magnolia/main.scala | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/core/src/main/scala/generic.scala b/core/src/main/scala/generic.scala index 4519290..86b4d24 100644 --- a/core/src/main/scala/generic.scala +++ b/core/src/main/scala/generic.scala @@ -97,7 +97,9 @@ abstract class GenericMacro(whiteboxContext: whitebox.Context) { } inferredImplicit.map { imp => + c.resetLocalAttrs(imp) transformer.transform(imp) + c.typecheck(imp) }.orElse { directInferImplicit(genericType, typeConstructor, count + 1) } diff --git a/tests/shared/src/main/scala/magnolia/main.scala b/tests/shared/src/main/scala/magnolia/main.scala index 2111565..c2a7d70 100644 --- a/tests/shared/src/main/scala/magnolia/main.scala +++ b/tests/shared/src/main/scala/magnolia/main.scala @@ -3,7 +3,7 @@ package magnolia sealed trait Bar case class Foo(one: String) extends Bar -case class Quux(two: Double, three: Bar) extends Bar +case class Quux(two: Double, three: List[Bar]) extends Bar case class Bippy(four: String) class Baz(val x: Bar) extends AnyVal @@ -16,6 +16,10 @@ object Main { def main(args: Array[String]): Unit = { println(implicitly[Extractor[Bar]].extract(Thing("42"))) + + + + } } |