(sorry for not finding a better summary)
//-------------------
class A
{
void foo () {}
private
static void foo (int i) {}
}
class B
{
void foo (int x)
{
A.foo (x);
}
}
//-------------------
$ gdmd -c test1.d
test1.d:12: class test1.B member foo is not accessible
//-------------------
This is actually a bit worse. If you swap the order of the private static
and public virtual foo, it compiles!
class A
{
private static void foo(int i) {}
public void foo() {}
}
class B
{
void bar(int x)
{
A.foo (x);
}
}