-
Notifications
You must be signed in to change notification settings - Fork 21
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
False positive "cannot override a concrete member without a third member..." with incremental compilation #12476
Comments
Small correction: only |
Is the problem reproducible on Scala 2.13.6? And I don't know Bloop version numbers; what version of Zinc is Bloop 1.4.9 using? Ultimately this is likeliest to be a Zinc bug. |
Unknown. I've run into some trouble updating the project to the newer Scala, so I haven't been able to confirm this.
From what I can tell, 1.3.0-M4+46-edbe573e.
It might be, for all I know. Although when I originally encountered this issue, I did try a Maven build with incremental compilation (w/ scala-maven-plugin 4.2.4, meaning Zinc 1.3.1 and no Bloop), and got the same error. Are there any ideas (however general) as to what might be the issue here? To my untrained eye, it's weird that there are two I'll try taking another stab at building a repro I can share - I've gotten more familiar with the tooling and the compiler's source code, so I might be able to whip up something. Although I can't tell when I will be able to find time/energy for this. |
Zinc is at 1.5.7 these days, so I think you may need to report this to the Bloop folks, as you aren't using current versions of either Scala or Zinc. We don't keep tickets open here in scala/bug unless or until they're shown to be reproducible in the latest Scala 2 version. We can reopen if you're able to reproduce it with the combination of Scala 2.13.6 and Zinc 1.5.7. I don't have a good understanding of how Bloop does incremental compilation, but judging from scalacenter/bloop#1383 , they plan to move to latest Zinc but haven't done so yet. cc @tgodzik |
If there's an under compilation happening (fewer source code is compiled during incremental), then likely it's a Zinc issue, so I'd be happy to keep adopt it under sbt/zinc until we can find the root cause if @nigredo-tori would like to re-report there. |
I've got a weird issue with incrementally compiling a project with Bloop. I have a cake setup like this:
trait Foo.Service
with methodcreate
class FooImpl extends Foo.Service
withoverride create
trait LoggedFoo extends Foo.Service with Bar with Baz
withabstract override create
trait EventFoo extends Foo.Service with Bar
withabstract override create
new FooImpl with LoggedFoo with EventFoo {...}
in the same source file asFoo.Service
As a whole, this is compiled OK. However, changing
EventFoo
after compilation leads to incremental compilation of just these sources, which results in an error like this one:This error seems to be a false positive, since the mentioned third member is
Foo.Service#create
.(Bloop 1.4.9, Scala 2.13.3)
I've failed to build a repro for this, and the repository is private. However, I can reliably reproduce this issue, and I've managed to cobble together a setup that allows me to debug this. The error message led me to this line of code in the compiler: https://github.com/scala/scala/blob/d23424cd3aa17f7ad95b81018c70ceed2566962b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala#L415.
extendedOverriddenSymbols
calls return collections with one element each, with values as specified below.member.extendedOverriddenSymbols
:other.extendedOverriddenSymbols
:The text was updated successfully, but these errors were encountered: