mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[interop][SwiftToCxx] retain & release class values when a C++ class reference is copy assigned
This commit is contained in:
@@ -74,6 +74,24 @@ int main() {
|
||||
assert(getRetainCount(x) == 1);
|
||||
}
|
||||
// CHECK-NEXT: init ClassWithIntField
|
||||
// CHECK-NEXT: destroy ClassWithIntField
|
||||
|
||||
{
|
||||
auto x = returnClassWithIntField();
|
||||
{
|
||||
auto x2 = returnClassWithIntField();
|
||||
assert(getRetainCount(x2) == 1);
|
||||
assert(getRetainCount(x) == 1);
|
||||
x = x2;
|
||||
assert(getRetainCount(x) == 2);
|
||||
}
|
||||
takeClassWithIntField(x);
|
||||
assert(getRetainCount(x) == 1);
|
||||
}
|
||||
// CHECK-NEXT: init ClassWithIntField
|
||||
// CHECK-NEXT: init ClassWithIntField
|
||||
// CHECK-NEXT: destroy ClassWithIntField
|
||||
// CHECK-NEXT: ClassWithIntField: 0;
|
||||
// CHECK-NEXT: destroy ClassWithIntField
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user