Skip to content

Commit eeaaefa

Browse files
authored
Merge pull request #129 from ReactiveCocoa/xcode9-prototype-issue-fix
Xcode9 prototype issue fix
2 parents 1ce5316 + d7263d0 commit eeaaefa

File tree

7 files changed

+18
-11
lines changed

7 files changed

+18
-11
lines changed

ReactiveObjC/RACSequence.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ typedef RACSequence * _Nullable (^RACSequenceBindBlock)(ValueType _Nullable valu
259259
/// return value must be an object. This argument cannot be nil.
260260
///
261261
/// Returns a new sequence of reduced tuple values.
262-
- (RACSequence *)reduceEach:(id _Nullable (^)())reduceBlock;
262+
- (RACSequence *)reduceEach:(RACReduceBlock)reduceBlock;
263263

264264
/// Returns a sequence consisting of `value`, followed by the values in the
265265
/// receiver.
@@ -309,7 +309,7 @@ typedef RACSequence * _Nullable (^RACSequenceBindBlock)(ValueType _Nullable valu
309309
///
310310
/// Returns a new sequence containing the results from each invocation of
311311
/// `reduceBlock`.
312-
+ (RACSequence<ValueType> *)zip:(id<NSFastEnumeration>)sequences reduce:(id _Nullable (^)())reduceBlock;
312+
+ (RACSequence<ValueType> *)zip:(id<NSFastEnumeration>)sequences reduce:(RACReduceBlock)reduceBlock;
313313

314314
/// Returns a sequence obtained by concatenating `sequences` in order.
315315
+ (RACSequence<ValueType> *)concat:(id<NSFastEnumeration>)sequences;

ReactiveObjC/RACSignal+Operations.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,8 @@ extern const NSInteger RACSignalErrorNoMatchingCase;
197197
///
198198
/// Returns a signal which sends the results from each invocation of
199199
/// `reduceBlock`.
200-
+ (RACSignal<ValueType> *)combineLatest:(id<NSFastEnumeration>)signals reduce:(ValueType _Nullable (^)())reduceBlock RAC_WARN_UNUSED_RESULT;
200+
+ (RACSignal<ValueType> *)combineLatest:(id<NSFastEnumeration>)signals reduce:(RACGenericReduceBlock)reduceBlock RAC_WARN_UNUSED_RESULT;
201+
201202

202203
/// Merges the receiver and the given signal with `+merge:` and returns the
203204
/// resulting signal.

ReactiveObjC/RACSignal+Operations.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,7 @@ + (RACSignal *)combineLatest:(id<NSFastEnumeration>)signals {
456456
}] setNameWithFormat:@"+combineLatest: %@", signals];
457457
}
458458

459-
+ (RACSignal *)combineLatest:(id<NSFastEnumeration>)signals reduce:(id (^)())reduceBlock {
459+
+ (RACSignal *)combineLatest:(id<NSFastEnumeration>)signals reduce:(RACGenericReduceBlock)reduceBlock {
460460
NSCParameterAssert(reduceBlock != nil);
461461

462462
RACSignal *result = [self combineLatest:signals];

ReactiveObjC/RACSignal.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ typedef RACSignal * _Nullable (^RACSignalBindBlock)(ValueType _Nullable value, B
218218
/// return value must be an object. This argument cannot be nil.
219219
///
220220
/// Returns a new signal of reduced tuple values.
221-
- (RACSignal *)reduceEach:(id _Nullable (^)())reduceBlock RAC_WARN_UNUSED_RESULT;
221+
- (RACSignal *)reduceEach:(RACReduceBlock)reduceBlock RAC_WARN_UNUSED_RESULT;
222222

223223
/// Returns a signal consisting of `value`, followed by the values in the
224224
/// receiver.
@@ -268,7 +268,7 @@ typedef RACSignal * _Nullable (^RACSignalBindBlock)(ValueType _Nullable value, B
268268
///
269269
/// Returns a new signal containing the results from each invocation of
270270
/// `reduceBlock`.
271-
+ (RACSignal<ValueType> *)zip:(id<NSFastEnumeration>)signals reduce:(id _Nullable (^)())reduceBlock RAC_WARN_UNUSED_RESULT;
271+
+ (RACSignal<ValueType> *)zip:(id<NSFastEnumeration>)signals reduce:(RACGenericReduceBlock)reduceBlock RAC_WARN_UNUSED_RESULT;
272272

273273
/// Returns a signal obtained by concatenating `signals` in order.
274274
+ (RACSignal<ValueType> *)concat:(id<NSFastEnumeration>)signals RAC_WARN_UNUSED_RESULT;

ReactiveObjC/RACStream.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ NS_ASSUME_NONNULL_BEGIN
2121
/// to be overridden.
2222
@interface RACStream<__covariant ValueType> : NSObject
2323

24+
_Pragma("clang diagnostic push") \
25+
_Pragma("clang diagnostic ignored \"-Wstrict-prototypes\"") \
26+
typedef id _Nonnull (^RACReduceBlock)();
27+
typedef ValueType _Nonnull (^RACGenericReduceBlock)();
28+
_Pragma("clang diagnostic pop")
29+
2430
/// Returns an empty stream.
2531
+ (__kindof RACStream<ValueType> *)empty;
2632

@@ -170,7 +176,7 @@ typedef RACStream * _Nullable (^RACStreamBindBlock)(ValueType _Nullable value, B
170176
/// return value must be an object. This argument cannot be nil.
171177
///
172178
/// Returns a new stream of reduced tuple values.
173-
- (__kindof RACStream *)reduceEach:(id _Nullable (^)())reduceBlock;
179+
- (__kindof RACStream *)reduceEach:(RACReduceBlock)reduceBlock;
174180

175181
/// Returns a stream consisting of `value`, followed by the values in the
176182
/// receiver.
@@ -221,7 +227,7 @@ typedef RACStream * _Nullable (^RACStreamBindBlock)(ValueType _Nullable value, B
221227
///
222228
/// Returns a new stream containing the results from each invocation of
223229
/// `reduceBlock`.
224-
+ (__kindof RACStream<ValueType> *)zip:(id<NSFastEnumeration>)streams reduce:(id _Nullable (^)())reduceBlock;
230+
+ (__kindof RACStream<ValueType> *)zip:(id<NSFastEnumeration>)streams reduce:(RACGenericReduceBlock)reduceBlock;
225231

226232
/// Returns a stream obtained by concatenating `streams` in order.
227233
+ (__kindof RACStream<ValueType> *)concat:(id<NSFastEnumeration>)streams;

ReactiveObjC/RACStream.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ - (__kindof RACStream *)ignore:(id)value {
139139
}] setNameWithFormat:@"[%@] -ignore: %@", self.name, RACDescription(value)];
140140
}
141141

142-
- (__kindof RACStream *)reduceEach:(id (^)())reduceBlock {
142+
- (__kindof RACStream *)reduceEach:(RACReduceBlock)reduceBlock {
143143
NSCParameterAssert(reduceBlock != nil);
144144

145145
__weak RACStream *stream __attribute__((unused)) = self;
@@ -234,7 +234,7 @@ + (__kindof RACStream *)zip:(id<NSFastEnumeration>)streams {
234234
}] setNameWithFormat:@"+zip: %@", streams];
235235
}
236236

237-
+ (__kindof RACStream *)zip:(id<NSFastEnumeration>)streams reduce:(id (^)())reduceBlock {
237+
+ (__kindof RACStream *)zip:(id<NSFastEnumeration>)streams reduce:(RACGenericReduceBlock)reduceBlock {
238238
NSCParameterAssert(reduceBlock != nil);
239239

240240
RACStream *result = [self zip:streams];

ReactiveObjC/extobjc/EXTScope.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888
_Pragma("clang diagnostic pop")
8989

9090
/*** implementation details follow ***/
91-
typedef void (^rac_cleanupBlock_t)();
91+
typedef void (^rac_cleanupBlock_t)(void);
9292

9393
static inline void rac_executeCleanupBlock (__strong rac_cleanupBlock_t *block) {
9494
(*block)();

0 commit comments

Comments
 (0)