Bug 10628 – [REG2.063] spurious "hidden by" deprecation warning

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-07-13T05:32:00Z
Last change time
2013-07-21T04:59:47Z
Keywords
diagnostic, wrong-code
Assigned to
nobody
Creator
k.hara.pg

Comments

Comment #0 by k.hara.pg — 2013-07-13T05:32:04Z
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.
Comment #1 by k.hara.pg — 2013-07-13T05:49:02Z
Comment #2 by k.hara.pg — 2013-07-19T04:52:28Z
Comment #3 by github-bugzilla — 2013-07-20T17:24:03Z