Uh... destructors?

%u wfunction at hotmail.com
Tue Feb 22 17:22:27 PST 2011


>> - private makes no sense since (unless we're trying to imitate C++ here) destructors are only called from
the runtime, and nowhere else.
>> - The only meaningful attribute there is extern(C).

> In what way is extern(C) meaningful for a destructor?

I guess it would be logical to specify that, if someone is desperately trying to get C code to interop with
D. But I don't think it's too useful... it's just not meaningless.


>> I would agree that DMD should ignore the attributes that are redundant or optional (e.g. it should be
okay for "static" to be written and/or omitted at the module-level, and DMD should ignore it) but I don't
see why _wrong_ attributes should be ignored... it confuses the programmer, opens the potential for error,
and doesn't have any benefits.

> I entirely agree.  It's been discussed quite a bit:
> http://d.puremagic.com/issues/show_bug.cgi?id=3118

Interesting... thanks for the link!


More information about the Digitalmars-d mailing list