aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/scala/generic.scala2
-rw-r--r--tests/shared/src/main/scala/magnolia/main.scala6
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")))
+
+
+
+
}
}