-
Notifications
You must be signed in to change notification settings - Fork 1.1k
No mixin forwarder when ancestor is sealed #23482
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
Conversation
a85d7c5
to
726e081
Compare
Not settled on the solution, but added // scalajs: --skip
.
Looking into a Scala 2 issue, JVM spec says
• Each invokespecial instruction must name one of the following:
– an instance initialization method (§2.9.1)
– a method in the current class or interface
– a method in a superclass of the current class
– a method in a direct superinterface of the current class or interface
– a method in Object
by which I understand direct superinterface to mean the forwarder won't work if not implementing the superinterface.
Flaky:
[error] Could not create file /__w/scala3/scala3/community-build/community-projects/Equal/jvm/target/streams/_global/ivySbt/_global/streams/outjava.io.IOException: No such file or directory
726e081
to
282435d
Compare
282435d
to
249f8d9
Compare
PhoenixmitX
commented
Aug 10, 2025
@hamzaremmal Do you have an ETA for when you will have time to review this?
@hamzaremmal Do you have an ETA for when you will have time to review this?
I'm quite busy with some urgent work. I'll probably review it after Scala Days 2025. Regardless, it will be included in 3.8.0.
@som-snytt can you please rebase on top of the latest commit in main.
249f8d9
to
545fdd9
Compare
Uh oh!
There was an error while loading. Please reload this page.
Fixes #23479
Adds check for Java sealed ancestor to
needsMixinForwarder
.If it's ok to invokespecial an indirect superinterface, then the fix should be in the backend, to not add the interface parent.