mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
38 lines
780 B
Swift
38 lines
780 B
Swift
// RUN: %target-run-simple-swift | %FileCheck %s
|
|
|
|
// REQUIRES: executable_test
|
|
|
|
class Object {
|
|
deinit { print("deinit object") }
|
|
}
|
|
|
|
struct Noncopyable: ~Copyable {
|
|
deinit { print("deinit noncopyable") }
|
|
}
|
|
|
|
func testDeinitAfterConsume() {
|
|
do {
|
|
let object = Object()
|
|
// CHECK: before consume
|
|
print("before consume")
|
|
// CHECK: deinit object
|
|
_ = consume object
|
|
// CHECK: after consume
|
|
print("after consume")
|
|
}
|
|
|
|
print()
|
|
|
|
do {
|
|
let noncopyable = Noncopyable()
|
|
// CHECK: before consume
|
|
print("before consume")
|
|
// CHECK: deinit noncopyable
|
|
_ = consume noncopyable
|
|
// CHECK: after consume
|
|
print("after consume")
|
|
}
|
|
}
|
|
|
|
testDeinitAfterConsume()
|