mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
41 lines
1.1 KiB
Swift
41 lines
1.1 KiB
Swift
// RUN: %target-run-simple-swift(-parse-as-library -target %target-swift-5.1-abi-triple) | %FileCheck %s
|
|
// RUN: %target-run-simple-swift(-parse-as-library -target %target-swift-5.1-abi-triple -swift-version 5 -strict-concurrency=complete -enable-upcoming-feature NonisolatedNonsendingByDefault) | %FileCheck %s
|
|
// REQUIRES: swift_feature_NonisolatedNonsendingByDefault
|
|
|
|
// REQUIRES: executable_test
|
|
// REQUIRES: concurrency
|
|
// UNSUPPORTED: freestanding
|
|
|
|
// rdar://76038845
|
|
// REQUIRES: concurrency_runtime
|
|
// UNSUPPORTED: back_deployment_runtime
|
|
|
|
// this needs to match with the check count below.
|
|
let NUM_TASKS : Int = 100
|
|
|
|
@available(SwiftStdlib 5.1, *)
|
|
final class Capture : Sendable {
|
|
func doSomething() { }
|
|
deinit {
|
|
// CHECK-COUNT-100: deinit was called!
|
|
print("deinit was called!")
|
|
}
|
|
}
|
|
|
|
@available(SwiftStdlib 5.1, *)
|
|
@main
|
|
struct App {
|
|
static func main() async {
|
|
var n = 0
|
|
for _ in 1...NUM_TASKS {
|
|
let c = Capture()
|
|
let r = detach {
|
|
c.doSomething()
|
|
}
|
|
await r.get()
|
|
n += 1
|
|
}
|
|
print("test complete")
|
|
}
|
|
}
|