In [[getFooClass() alloc] init*], the type of the result of +alloc is id, so the compiler picks an arbitrary declaration of init*, not necessarily the Foo one. This can then lead to warnings or errors if the types or attributes don’t match, or to runtime errors if Foo doesn’t even have the expected initializer.
Created attachment 242727 [details] Add and deploy alloc##className##Instance
Attachment 242727 [details] did not pass style-queue: ERROR: Source/WebCore/platform/mac/SoftLinking.h:168: Extra space before [ [whitespace/braces] [5] ERROR: Source/WebCore/platform/mac/SoftLinking.h:194: Extra space before [ [whitespace/braces] [5] Total errors found: 2 in 33 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 242746 [details] Add and deploy alloc##className##Instance
Attachment 242746 [details] did not pass style-queue: ERROR: Source/WebCore/platform/mac/SoftLinking.h:168: Extra space before [ [whitespace/braces] [5] ERROR: Source/WebCore/platform/mac/SoftLinking.h:194: Extra space before [ [whitespace/braces] [5] Total errors found: 2 in 34 files If any of these errors are false positives, please file a bug against check-webkit-style.
Committed <http://trac.webkit.org/r176924>.