Should pure nothrow ---> @pure @nothrow ?
Denis Koroskin
2korden at gmail.com
Fri Nov 27 01:17:39 PST 2009
On Fri, 27 Nov 2009 12:09:05 +0300, Don <nospam at nospam.com> wrote:
> #ponce wrote:
>>> Definitely. And what about @deprecated and @override?
>> As override is now required, i don't think it should be an attribute.
>
> As I understand it, one of the characteristics of attributes is that you
> should be able to remove them from the entire program, without affecting
> the behaviour. All they are doing is adding additional compile-time
> constraints. (const and immutable aren't attributes, because you're
> allowed to overload functions based on them).
>
> So @deprecated is definitely an attribute.
>
> Is override really required? I've just tested on DMD2.037, and it still
> accepts functions without it. So at present it is behaving like an
> attribute. But if it became mandatory, I'm not so sure.
override is required when compiling with -w.
By Walter's definition, @property is not a valid attribute, because by
removing it the program will fail to compile (due to missing parens in
accessors). Either that or omissible empty parens will still be present,
but I see no usefulness of @property in that case.
More information about the Digitalmars-d
mailing list