When you are compiling macro def you still need macro impl on compilation classpath so you can type check your macro definition, right? Now, if you are using a build tool you'll declare a dependency on scala-reflect so you can compile your macro def and that will be persisted in your pom.xml or equivalent file. Therefore, effectively you'll still have macro impl as dependency even if unpickling doesn't require it.

Am I wrong?