As recommended by Sam in bug 238747 and as this seems to be the preferred pattern to ensure a ref counted object remains for the scope of the call: > I wonder ifs we should come up with some convention (naming or otherwise) to > indicate that a caller is responsible for maintaining an external ref. Like, > Document::close_mayDestroy(), or perhaps even take it a step further and > require a separate type to call close()? > > Ref closer = document.closer() > closer.close()
<rdar://problem/91601054>