Despite being binary compatible with macro-compat 1.1.0, this release
represents a major overhaul of the underlying implementation and a
significant extension to the breadth of the support for 2.11.x style
macros on 2.10.x. This has made it possible to fully support shapeless
(as of version 2.3.0) with a single branch and no Scala version
variant source. Given that shapeless contains some fairly large and
sophisticated macros which exploit private internals of the macro API
this is a significant milestone and suggests that macro-compat is
ready for wider use.
I would especially like to thank Dale Wijnand for his relentless
efforts adding support for features required by shapeless, and Chris
Hodapp for his work on and inspiration in supporting access to macro
These release notes provide a summary of changes since macro-compat 1.1.0,
Macro bundle rewrite now more closely matches 2.11.x structure,
supporting bundle inheritance and companions.
Added to c.internal: newTermSymbol, polyType, setInfo, singleType,
substituteSymbols, thisType, typeRef
Added c.internal.decorators (thanks to @dwijnand).
Added to Symbol: isAbstract, overrides (thanks to @dwijnand).
Added to Tree: nonEmpty (thanks to @dwijnand).
Added to Type: finalResultType, paramLists, typeArgs (thanks to @dwijnand).
dealias implementation match 2.11.x semantics.
Added support for use of internal ContextReporter (thanks to @clhodapp
Added support for 2.11 style ImplicitCandidate (thanks to @dwijnand).
Now uses macro-paradise 2.1.0.
Added 2.12.0-M3 to the cross build version list (thanks to @dwijnand)
Many thanks to everyone who has contributed ideas, enthusiasm and encouragement.
macro-compat is a small library which allows you to compile macros with
Scala 2.10.x which are written to the Scala 2.11/2 macro API.
You received this message because you are subscribed to the Google Groups "scala-announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.