// 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; } }