-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Assertion error with curiously-indirect F-bound using match types #5735
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
Or /cc @OlivierBlanvillain? (match types) |
Marked as blocker (tentatively) because the error is so scary. |
I think blockers should be assigned to a specific milestone, otherwise it's not clear what they're blocking exactly. Also for a crash to be a blocker it should be something that is likely to impact a lot of people, so I don't think this qualifies. |
Ok! My reasoning was, this should block 1.0 until we figure the bug is not in fundamental code. But we don’t have that milestone, so unlabeled! |
The error is that somebody is looking at the package in run 2, when the current run is 3. Backwards timetravel is not allowed, hence the error. How to fix this: Two possibilities: (1) Find out what causes the jump to run 2, and eliminate it. Most likely it's some cached context. Or, (2), allow backwards timetravel for package denotations. I am less sure about this one, since it might hide real errors so I'd prefer (1) if that works out. |
Who wants to give this a try? |
I'd like to when I have a moment ... |
This appears to be fixed. Needs test case to close. |
@smarter Do you happen to know what resolved this? I'm seeing similar errors on 0.22.0-RC1 and recent nightlies when calling inline methods in a trait with an F-bound. My quick attempt to minimize didn't work (the piece of code that's failing in my sbt project seems fine when pulled out and compiled with dotc). |
I don't, it might be that the root cause is the same and the test case now works by accident if it's related to caching as mentioned above. |
Below code triggers:
denotation module class <empty> invalid in run 2. ValidFor: Period(1..66, run = 3)
Note that
Test.foo.apply(())
works./cc @smarter
The text was updated successfully, but these errors were encountered: