// RUN: %clang --analyze %s -fblocks | |
// https://reviews.llvm.org/D82598#2171312 | |
@interface Item | |
// ... | |
@end | |
@interface Collection | |
// ... | |
@end | |
typedef void (^Blk)(); | |
struct RAII { | |
Blk blk; | |
public: | |
RAII(Blk blk): blk(blk) {} | |
~RAII() { blk(); } | |
}; | |
void foo(Collection *coll) { | |
RAII raii(^{}); | |
for (Item *item in coll) {} | |
int i; | |
{ | |
int j; | |
} | |
} |