@@ -146,11 +146,12 @@ @implementation OFMutableArray + (void)initialize { if (self == [OFMutableArray class]) - placeholder.isa = [OFMutableArrayPlaceholder class]; + object_setClass((id)&placeholder, + [OFMutableArrayPlaceholder class]); } + (instancetype)alloc { if (self == [OFMutableArray class]) @@ -162,25 +163,10 @@ + (instancetype)arrayWithCapacity: (size_t)capacity { return [[[self alloc] initWithCapacity: capacity] autorelease]; } -- (instancetype)init -{ - if ([self isMemberOfClass: [OFMutableArray class]]) { - @try { - [self doesNotRecognizeSelector: _cmd]; - abort(); - } @catch (id e) { - [self release]; - @throw e; - } - } - - return [super init]; -} - - (instancetype)initWithCapacity: (size_t)capacity { OF_INVALID_INIT_METHOD }