[swift-users] Autoreleasepool for Ubuntu

Jordan Rose jordan_rose at apple.com
Wed Nov 2 12:17:56 CDT 2016


> On Nov 2, 2016, at 09:42, Joe Groff via swift-users <swift-users at swift.org> wrote:
> 
>> 
>> On Nov 1, 2016, at 6:40 PM, Bernardo Breder via swift-users <swift-users at swift.org> wrote:
>> 
>> Hello,
>> 
>> I want to create a mini http server project and execute at Ubuntu 15. The Xcode compile and access the function "autoreleasepool", but when i compile the same code at Ubuntu, this function not found
>> 
>> For example, i can compile the code above at Xcode:
>> 
>> while true {
>>    autoreleasepool {
>>    var test: Data = "HTTP/1.1 200 OK\r\nContent-Length: 1\r\n\r\na".data(using: .utf8)!
>>    }
>> }
>> 
>> But when i try to compile at Ubuntu:
>> 
>> git at breder:~$ cat main.swift     
>> import Foundation
>> 
>> while true {
>>    autoreleasepool {
>>    var test: Data = "HTTP/1.1 200 OK\r\nContent-Length: 1\r\n\r\na".data(using: .utf8)!
>>    }
>> }
>> 
>> git at breder:~$ swiftc main.swift 
>> main.swift:4:5: error: use of unresolved identifier 'autoreleasepool'
>>    autoreleasepool {
>>    ^~~~~~~~~~~~~~~
> 
> Autoreleasepools are an ObjC compatibility feature. They aren't necessary in standalone Swift.

But they are necessary in Swift programs on Apple platforms (that don’t use RunLoop, anyway). Philippe, what do you think? What’s the right way to write cross-platform code that doesn’t use RunLoop or dispatch_main for an implicit autorelease pool?

(/me remembers +[NSAutoreleasePool drain] from the ObjC-GC days)

Jordan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20161102/aaaea81c/attachment.html>


More information about the swift-users mailing list