[swift-users] Autoreleasepool for Ubuntu

Philippe Hausler phausler at apple.com
Wed Nov 2 14:23:38 CDT 2016


So there are issues we have in swift-corelibs that suffer(leak) because we don't have ARPs on Linux. It would be super nice to have a retain until scope end concept for swift core libs where autorelease would be an accessor in unmanaged that would retain the object until the arp ends scope.

Sent from my iPhone

> On Nov 2, 2016, at 10:17 AM, Jordan Rose <jordan_rose at apple.com> wrote:
> 
> 
>>> 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/12bc7978/attachment.html>


More information about the swift-users mailing list