By "SwiftObject" I assume you mean "a Swift object that is not bridged to Objective-C."
For those objects, there's little need for an autorelease pool. The concept of autorelease was created to simplify certain manual retain counting situations, most importantly, when you return a value, but you don't want to force the caller to call -release
on it because that would be a hassle. So you schedule a -release
to be called "at some future time," an "auto-release."
But with ARC, this isn't really necessary. The compiler is happy to do the tedious work of adding extra release
calls in all the places they'd be needed, and the optimizer is happy to take them back out from all the places they aren't really needed. Since you cannot create manual retain-counted code in Swift, there's no particular need to have special language support for a convenience system like autorelease.
This isn't to say that non-ObjC Swift objects won't wind up on the autorelease pool; they still can (though generally because of some kind of implicit bridging). But the programmer doesn't need to worry about it.