Files
swift-mirror/test/Interpreter/SDK/objc_dealloc.swift
2016-08-10 23:52:02 -07:00

28 lines
591 B
Swift

// RUN: %target-run-simple-swift | %FileCheck %s
// REQUIRES: executable_test
// REQUIRES: objc_interop
import Foundation
// Check that ObjC associated objects are cleaned up when attached to native
// Swift objects.
class Root {
deinit { print("deallocating root") }
}
class Associated {
deinit { print("deallocating associated") }
}
var token: Int8 = 0
autoreleasepool {
let root = Root()
objc_setAssociatedObject(root, &token, Associated(),
.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
// CHECK: deallocating root
// CHECK-NEXT: deallocating associated