I think this is yet another macro bitten by the infamous [SI-8776](https://issues.scala-lang.org/browse/SI-8776 - discussion [here]%28https://groups.google.com/forum/#!topic/scala-user/oJP9aqs88rM%29). A potential pragmatic workaround is to shuffle classes around until it forces the compilation order to be correct, i.e. to have potential subclasses been typed before the macro is invoked.
I suppose that until the issue is closed it would perhaps be a good idea to include this in the docs, under pitfalls or so.
I think this is yet another macro bitten by the infamous [SI-8776](https://issues.scala-lang.org/browse/SI-8776 - discussion [here]%28https://groups.google.com/forum/#!topic/scala-user/oJP9aqs88rM%29). A potential pragmatic workaround is to shuffle classes around until it forces the compilation order to be correct, i.e. to have potential subclasses been typed before the macro is invoked.
I suppose that until the issue is closed it would perhaps be a good idea to include this in the docs, under pitfalls or so.