>> - 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!