the way how one has to invoke protected base class methods in D seems to be inconsistent. why do i have to use the super keyword ? using the base class name works in case of being public, why is protected any different ? module Foo; class Base { protected void foo() {} } module main; import Foo; class Super : Base { override protected void foo() {super.foo();} // works //override void foo() {Base.foo();} // does not work: //Error: class Foo.Base member foo is not accessible }
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/18296 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB