int *(^blkReturningPointer)(int) = ^ int *(int a) { return a + 1; }; void (^blk2)(int *) = ^ (int *b) { *b = 1; }; int (^oneFrom)(int) = ^ (int anInt) { return anInt - 1; }; // this should not be flagged as OC_BLOCK_CARET int x = 12 ^ 23;