https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63651
Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2014-11-01 CC| |fxcoudert at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> --- Some NSObject methods that used to return (id) now return (instancetype). Only NSObject has this, and the list includes: self, retain, autorelease, init, new, alloc* The "What's new in OS X Yosemite" document at https://developer.apple.com/Library/mac/releasenotes/MacOSX/WhatsNewInOSX/WhatsNewInOSX.pdf says: "Many frameworks on OS X have adopted small interface changes that take advantage of modern Objective-C syntax: […] Initialization methods are updated to have a return value of instancetype instead of id." It is documented further in Apple docs, or in clang here: http://clang.llvm.org/docs/LanguageExtensions.html I suppose as a first approach, we could make it equivalent to id.