-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Ensure that partest runs bootstrapped Dotty. #1115
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
Ensure that partest runs bootstrapped Dotty. #1115
Conversation
The other issue is #1116 |
@DarkDimius: No, unfortunately the problem is different and harder. dropEmptyCompanions does not look in other compilation units when it decides to drop a companion object. Concretely: We drop an innner companion object in Phases, but the surviving reference is in Contexts. I have to idea how to do this in the face of separate compilation. It seems it is time to go back to the idea of not generating synthetic companion objects eagerly in the first place. We can do one of the following things:
|
why would Contexts need a reference to Phases$PhasesBase$TerminalPhase$, if Phases$PhasesBase didn't need it so that it was able to eliminate it? I'd like to have a look in more detail to understand what's happening here. I do agree that making all synthetic lazy-vals and value-class needed methods\fields is a better way to go, while generating companions on-demand is easier. |
It's the initialization of the lazy val in the implementing class, I think. On Sat, Feb 20, 2016 at 2:44 PM, Dmitry Petrashko [email protected]
Martin Odersky |
@DarkDimius can you revert the workaround commit and rebase? |
0701e5d
to
00638e9
Compare
Looks like the partest project needs to be recompiled. It still defines default methods with the long names. |
It is a different error, also having to do with default getters. It seems we really did not have very good test coverage for this, otherwise we should have found the errors before. |
edd6cf8
to
6982c67
Compare
Previous commit setting type explicitly was a red herring. Without it, the test |
/rebuild |
1 similar comment
/rebuild |
Repeated GC overhead limit exceeded failures. |
There's also some kind of pattern-matching bug: https://gist.github.com/smarter/1d04f869870df03d0976 |
dotty-staging@00638e9 should be removed or reverted from this PR now that we know we're using the correct classes. |
I'm not sure if this is a bug in patmat. The exception correctly indicates a missing match for NoType$ |
Indeed, the corresponding line is https://github.com/dotty-staging/dotty/blob/7bf01004020106ec1639df61268afdf841694e1e/src/dotty/tools/dotc/core/SymDenotations.scala#L782 so it seems like the bootstrapped compiler is able to produce a ClassInfo for a module without a self-type, even though we should always have one. |
/rebuild |
7bf0100
to
f204baf
Compare
Once #1289 is merged, this should be rebased and tried again. My attempts at manual bootstrap work fine. |
Partest used to run tests with Dotty, but stopped at some moment. I guess this line may have been deleted at some merge conflict.
Copy type from default parameter to default getter method.
If the parameter is of type `=> T`, its default getter is a def with result type `T`.
f204baf
to
76b60c4
Compare
@odersky. I've rebased it as you've asked. It fails on 3 tests, including the |
I am seeing an OOM in validate-partest. |
/rebuild |
Tracking the infrastructure problem (I also saw it on my Scala PR an hour ago) as scala/scala-jenkins-infra#181 |
This pr is going to fail. Putting it here so that we can collaboratively fix regressions that stop us from running partest bootstrapped again.