-
Notifications
You must be signed in to change notification settings - Fork 21
EXISTENTIAL flag is not pickled causing spurious declarations being created during unpickling #6692
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
Comments
Imported From: https://issues.scala-lang.org/browse/SI-6692?orig=1 |
@paulp said:
and it came back out a year later (presumably after the set of pickled flags was expanded)
|
@paulp said: |
@gkossakowski said: |
@adriaanm said: |
@adriaanm said: |
EXISTENTIAL
flag is declared as following constant (in 2.9.x branch):The
PickledFlags
defined in the same file determines which flags get pickled:Simple REPL experiment (instead of counting number of zeros...) shows that
EXISTENTIAL
flag does not get pickled:This results in symbols for existential types being entered as decls when unpickling:
due to
!sym.isExistentiallyBound
returning wrong result (true). This has severe consequences for sbt's incremental compilation because sbt thinks that API has changed. See https://groups.google.com/d/topic/simple-build-tool/Anumu_erCVY/discussion for example.The text was updated successfully, but these errors were encountered: