From: http://d.puremagic.com/issues/show_bug.cgi?id=10577#c5
Reduced test case:
abstract class base
{
static if (! __traits(isVirtualMethod, foo))
{
}
private bool _bar;
public void foo();
}
class derived: base // line 44
{
public override void foo() {}
}
void main()
{
printf("vtbl = %d\n", typeid(derived).vtbl.length -
typeid(Object).vtbl.length);
// With 2.062, prints "1"
// With 2.063, prints "2"
}
Problematic deprecation message:
test.d(44): Deprecation: class test.derived use of test.base.foo() hidden by derived is deprecated. Use 'alias base.foo foo;' to introduce base class overload set.