New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Macro users are effectively required to have scala-reflect.jar on library classpath #5940
Comments
Imported From: https://issues.scala-lang.org/browse/SI-5940?orig=1 |
@xeno-by said: Here comes the problem. In the current design, a signature of a macro implementation must declare a parameter of type scala.reflect.makro.Context, which belongs to scala-reflect.jar. This means that if scala-reflect.jar isn't present on the library classpath, unpickling will fail producing the aforementioned crash. |
@xeno-by said (edited on Aug 1, 2012 9:20:21 PM UTC): An attempt to factor out lite context and put it into scala-library.jar has officially failed: https://github.com/scalamacros/kepler/tree/zzz/basecontext. It not only requires one to cast a lite context to a full-fledged one, but also necessitates casts for arguments and return value of the macro implementation. We could live with a little tiny cast in the beginning of a macro, but even more boilerplate can't be tolerated. Therefore I'm demoting this issue from critical to major, effectively deferring the fix till 2.10.1 or later, when macros upgrade from their experimental status and join the family of stable Scala features. By no means I consider this bug not important. Imposing the scala-reflect.jar requirement on macro users (not macro authors, but macro users!!) is horrific, but to quote a really nice observation "this is a marathon, not a sprint". |
@dcsobral said: |
@xeno-by said: |
@xeno-by said: |
@xeno-by said: |
@xeno-by said: |
The text was updated successfully, but these errors were encountered: