Per [6.1](http://clang.llvm.org/docs/AutomaticReferenceCounting.html#object-liveness), I’m not sure I can see any case where both variables wouldn’t survive through line 78 with or without precise lifetime semantics. ARC isn’t specific about when it will release (modulo [6.2](http://clang.llvm.org/docs/AutomaticReferenceCounting.html#no-object-lifetime-extension)), but it is specific about not doing so before later loads of the object in question, meaning that both of these will live until we return.

Am I misunderstanding your intent? Defensive coding against change to the references, for example…?