aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Pretty <jon.pretty@propensive.com>2017-05-29 19:13:25 -0600
committerJon Pretty <jon.pretty@propensive.com>2017-05-29 19:13:25 -0600
commit582844689f50ab13060c27ad24be081eba779fca (patch)
treeeaa79dd46ca385418bf236953922d59add18fbcd
parenta5e3bd7b949ba9b2997b1cbcca5365c1f97e2487 (diff)
downloadmagnolia-582844689f50ab13060c27ad24be081eba779fca.tar.gz
magnolia-582844689f50ab13060c27ad24be081eba779fca.tar.bz2
magnolia-582844689f50ab13060c27ad24be081eba779fca.zip
Looks like it's finally working!
-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")))
+
+
+
+
}
}