Why doesn't overloading of const member functions work? struct S { int a, b; int A() const { return a; } ref int A() { return a; } int min() const { return A() < b ? A() : b; } } DMD2 compiler error: S.A () is not callable using argument types () const Is it a bug or by design?