Affects Version/s: None
Fix Version/s: Scala 2.10.0-M6
As an example, take java.lang.Throwable as our superclass.
2.10.0-M4 does generate a forwarder, but woe to she who attempts to actually use it:
A quick look with javap shows that the body of the forwarder is confused about the static-ness of the method it's trying to forward to:
My examples don't have package declarations, but I don't think that matters because I hit this in real code and in the real code everything was in packages.
It's true you can avoid the runtime error by simply not attempting to use the broken static forwarder, but I'm afraid that doesn't really solve it because the invalid forwarders may confuse tools. For example, they cause ProGuard to abort and exit when processing my real code.
This appears related to
SI-3452 (which itself has many related tickets).