Created attachment 655 [details] allow inlining of super.id(arg) calls Bug 3500 reported bugginess with the inlining of super.id(args). The fix there was to not inline that style call. The patch attached to this report removes that block and fixes the underlying problem. Now, the semantic pass rewrites super.id(args) to a direct call to the baseclass.id(args).
http://www.dsource.org/projects/dmd/changeset/640
This patch produced a regression (from DFL): --------- // main.d import other; class Foo : OtherModuleClass { override void foo() { super.foo(); } } void main() { new Foo(); } ----------- // other.d class OtherModuleClass { protected void foo() { } } ----------- > >dmd main other main.d(8): Error: class other.OtherModuleClass member foo is not accessible Reported by SHOO.
Probably depends on 4728
ping Does this bug still apply to D2?
No, the patch has been implemented [1]. Closing as fixed. [1] https://github.com/dlang/dmd/blob/master/src/dmd/expressionsem.d#L11831