<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>Le 25 août 2014 à 22:58, jahanian <<a href="mailto:fjahanian@apple.com">fjahanian@apple.com</a>> a écrit :</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br><br>On Aug 25, 2014, at 11:12 AM, jahanian <<a href="mailto:fjahanian@apple.com">fjahanian@apple.com</a>> wrote:<br><br><blockquote type="cite"><br>On Aug 25, 2014, at 10:57 AM, Jean-Daniel Dupas <<a href="mailto:devlists@shadowlab.org">devlists@shadowlab.org</a>> wrote:<br><br><blockquote type="cite"><br>Le 25 août 2014 à 18:47, jahanian <<a href="mailto:fjahanian@apple.com">fjahanian@apple.com</a>> a écrit :<br><br><blockquote type="cite"><br><br>On Aug 25, 2014, at 9:35 AM, jahanian <<a href="mailto:fjahanian@apple.com">fjahanian@apple.com</a>> wrote:<br><br><blockquote type="cite"><br>On Aug 24, 2014, at 12:36 AM, Jean-Daniel Dupas <<a href="mailto:devlists@shadowlab.org">devlists@shadowlab.org</a>> wrote:<br><br><blockquote type="cite">Are you sure excluding that case is right ?<br><br>AFAIK, call [super initialize] is suspicious, as the runtime already call it for each class in the hierarchy.<br></blockquote>[super initialize] is called from inside +initialize implementations.<br>So, we don’t want to warn.<br></blockquote><br>I guess, I can restrict this to not warn if it is inside +initialize implementation and warn in other situations.<br><br></blockquote><br></blockquote><br>Makes sense to me. Thanks for clarification. I cc our runtime folk who suggested the ‘super’ thing.<br>I am wondering if there are other scenarios of initialization that Greg has in mind.<br></blockquote><br>And here is Greg’s scenario:<br>"Sometimes a superclass expects to see the +initialize call on behalf of each of its subclasses. (For example, the superclass wants to maintain a registry of subclasses in use, without requiring each subclass to manually call some registration method.) If a subclass of such a class wants to implement +initialize itself, it must call [super initialize].”<br><br></div></blockquote><br><div>Thanks for the clarification. I still think this is a fragile scenario as any class that implements +initialize will have to call super implementation which is not the usual pattern.</div><div><br></div><div>As calling [super initialize] is guarantee to be harmless (all classes must be prepared to receive multiple initialize call), silencing that warning should not cause any issue, so if it is helpful for some cases, then it is OK to do it.</div><div><br></div><div><br></div></div></body></html>