@@ -108,11 +108,12 @@ @implementation OFMutableDictionary + (void)initialize { if (self == [OFMutableDictionary class]) - placeholder.isa = [OFMutableDictionaryPlaceholder class]; + object_setClass((id)&placeholder, + [OFMutableDictionaryPlaceholder class]); } + (instancetype)alloc { if (self == [OFMutableDictionary class]) @@ -124,26 +125,10 @@ + (instancetype)dictionaryWithCapacity: (size_t)capacity { return [[[self alloc] initWithCapacity: capacity] autorelease]; } -- (instancetype)init -{ - if ([self isMemberOfClass: [OFMutableDictionary class]]) { - @try { - [self doesNotRecognizeSelector: _cmd]; - } @catch (id e) { - [self release]; - @throw e; - } - - abort(); - } - - return [super init]; -} - - (instancetype)initWithCapacity: (size_t)capacity { OF_INVALID_INIT_METHOD }