@@ -175,14 +175,16 @@ [self release]; @throw e; } @try { - return [self initWithObjects: objects count: count]; + self = [self initWithObjects: objects count: count]; } @finally { OFFreeMemory(objects); } + + return self; } - (instancetype)initWithArray: (OFArray *)array { void *pool = objc_autoreleasePoolPush(); @@ -256,14 +258,16 @@ for (size_t i = 1; i < count; i++) { objects[i] = va_arg(arguments, id); OFEnsure(objects[i] != nil); } - return [self initWithObjects: objects count: count]; + self = [self initWithObjects: objects count: count]; } @finally { OFFreeMemory(objects); } + + return self; } - (size_t)count { OF_UNRECOGNIZED_SELECTOR