Avatar
swiftbot BOT 6/21/2018 1:36 AM
(edited)
Author icon
t.ae
import Foundation class UDPSocket { let queue = DispatchQueue(label: "socket") let socket = Socket() func noreturn() { queue.async { [weak self] in let socket = self!.socket socket.noreturn() } } deinit { socket.canceled = true print("UDPSocket deinit.") } } class Socket { var canceled = false func noreturn() { while !canceled { } } deinit { print("Socket deinit.") } } var udp: UDPSocket? = UDPSocket() udp!.noreturn() sleep(1) udp = nil sleep(1)
Version:
swift-4.1.1-RELEASE
Output:
UDPSocket deinit. Socket deinit.
Error:
1:36 AM