[Issue 10628] New: [REG2.063] spurious deprecation warning

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Jul 13 05:32:06 PDT 2013


http://d.puremagic.com/issues/show_bug.cgi?id=10628

           Summary: [REG2.063] spurious deprecation warning
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: diagnostic, wrong-code
          Severity: regression
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: k.hara.pg at gmail.com


--- Comment #0 from Kenji Hara <k.hara.pg at gmail.com> 2013-07-13 05:32:04 PDT ---
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.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list