The blocks used to be formatted using the "default" behavior, and would
thus be mistaken for function calls followed by blocks: this could lead
to unexpected inlining of the block and extra line-break before the
opening brace.
They are now formatted similarly to @autoreleasepool blocks, as
expected:
@synchronized(self) { f(); }
Wondering if formatting with this style is appropriate: the clang-format doc points in that direction, but it seems to me both @synchronized and @autoreleasepool are more akin to "control statements".
For consistency (esp. in ObjC++ code), as a user, I would tend to have these blocks indented like control statements while interfaces/implementations blocks would be indented like classes/structs.
So maybe it would be better to introduce a new BraceWrapping style 'AfterObjCSpecialBlock` to control these cases, matching the possibilities that are given for control statements vs classes. What do you think?