Skip to content
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

To prepare for Java 9+ modularization, the standard library should not contain classes in scala.reflect #586

Closed
smarter opened this issue Nov 22, 2018 · 1 comment

Comments

@smarter
Copy link
Member

smarter commented Nov 22, 2018

Java modules do not allow split packages, that is having two modules on your modulepath containing packages with the same name (note that packages are not hierarchical in Java, so scala and scala.reflect are unrelated packages).
Unfortunately, the standard library contains a few classes in scala.reflect: https://github.com/scala/scala/tree/2.13.x/src/library/scala/reflect So we need to find a new home for them. Everything but ClassTag is basically obsolete (although my attempt at getting rid of them wasn't successful). So the main question is: where do we put ClassTag ? I think it's harmless enough that we could just put it in scala directly. WDYT ?

@dwijnand
Copy link
Member

I had the same concern, but there's nothing in the scala.reflect package in scala-reflect so there's no split package: https://github.com/scala/scala/tree/2.13.x/src/reflect/scala/reflect

I'm not sure if it was intentional or not, and also it's a little confusing, but it looks like we dodged this particular bullet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants