dup field in sub-class should be reported by the compiler
Extrawurst
spam at extrawurst.org
Mon Aug 13 12:48:51 PDT 2007
i agree, it should be at least a warning for shadowing non-private
fields of the super class.
sa schrieb:
> == Quote from name (someanon at yahoo.com)'s article
>
>> http://d.puremagic.com/issues/show_bug.cgi?id=1419
>> Description: [reply] Opened: 2007-08-13 13:24
>> dupdefbug.d:
>> ================================
>> class A {
>> int attr;
>> }
>> class B : A {
>> int attr;
>> }
>> ================================
>> $ dmd.exe -c dupdefbug.d
>> no error reported.
>> It should report B.attr is dup of A.attr.
>> ------- Comment #1 From Walter Bright 2007-08-13 13:34 [reply] -------
>> Why should it be an error? Fields are not accessed virtually, so there is no
>> hijacking problem. The current behavior is as designed.
>> If you feel it should be changed, please start a thread in digitalmars.D and
>> present the case.
>> ==================================================================
>> I think 90% of the time this happens it is a bug, not by the programmer's
>> intention.
>> If it's designed to be so in D, I propose to change it; or at least reported
>> by the compiler.
>>
>
> This is particularly true in a large system where multiple people working on it,
> the programmer may simply forget what's defined in the super class; and when this
> cause a program error (most of the time to the programmer's surpise), it may took
> several hours to find.
>
> Since Walter want to discuss this issue on this NG, audience pleaes air your voice.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20070813/8f850dee/attachment.html>
More information about the Digitalmars-d
mailing list