Question about -Wreadonly-setter-attrs


I have a question about Wreadonly-setter-attrs ( property attributes 'readonly' and 'retain' are mutually exclusive ). I don't think it should be enabled by standard warning flags (Wmost, Wall).

It does not really make sense as declaring a readonly property as retain or copy is a common and legal practice. It's even required if you want to be able to use property re-declaration as defined here:

And so, when this flag is on, it produce a lots of spurious warning IMHO.

There may be situation where you want to use it (even if I don't see one yet), but I think it should only be part of an "extra-extra" warning group and should not be part of common warnings (-Wmost ? )

Agreed. There are two of them that I would like to remove them from -Wmost. The other being -Wundeclared-selector.

- Thanks, Fariborz

Please remove them

I disagree on this one. -Wreadonly-setter-attrs warns that you have written something that may be redundant. This is pedantic. In contrast, -Wundeclared-selector warns that you have written something that may be generating code that will corrupt your stack. This is important. Pedantic warnings should not be in the default set, important ones should.


I think we don't talk about the same warning:

IIRC -Wundeclared-selector check if selectors used in @selector() directives exists, not the warning that clang emits when you call a method that it could not resolved.
This warning is important too, but ignoring it would not result in invalid code generation.