#import #import #import #import #import #import #import @class Foo; NS_ASSUME_NONNULL_BEGIN #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunknown-warning-option" #pragma clang diagnostic ignored "-Wincompatible-property-type" #pragma clang diagnostic ignored "-Wnullability" #pragma push_macro("_Nullable_result") #if !__has_feature(nullability_nullable_result) #undef _Nullable_result #define _Nullable_result _Nullable #endif __attribute__((objc_subclassing_restricted)) @interface Foo : Base - (instancetype)init __attribute__((swift_name("init()"))) __attribute__((objc_designated_initializer)); + (instancetype)new __attribute__((availability(swift, unavailable, message="use object initializers instead"))); - (void)doAlloc __attribute__((swift_name("doAlloc()"))); - (Foo *)doCopy __attribute__((swift_name("doCopy()"))); - (Foo *)doInit __attribute__((swift_name("doInit()"))); - (Foo *)doMutableCopy __attribute__((swift_name("doMutableCopy()"))); - (Foo *)doNew __attribute__((swift_name("doNew()"))); @end #pragma pop_macro("_Nullable_result") #pragma clang diagnostic pop NS_ASSUME_NONNULL_END