mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Find all the usages of `--enable-experimental-feature` or `--enable-upcoming-feature` in the tests and replace some of the `REQUIRES: asserts` to use `REQUIRES: swift-feature-Foo` instead, which should correctly apply to depending on the asserts/noasserts mode of the toolchain for each feature. Remove some comments that talked about enabling asserts since they don't apply anymore (but I might had miss some). All this was done with an automated script, so some formatting weirdness might happen, but I hope I fixed most of those. There might be some tests that were `REQUIRES: asserts` that might run in `noasserts` toolchains now. This will normally be because their feature went from experimental to upcoming/base and the tests were not updated.
38 lines
1.1 KiB
Swift
38 lines
1.1 KiB
Swift
// RUN: %target-swift-frontend -enable-experimental-feature StrictConcurrency -enable-experimental-feature RawLayout -typecheck -verify %s
|
|
|
|
// REQUIRES: swift_feature_RawLayout
|
|
// REQUIRES: swift_feature_StrictConcurrency
|
|
|
|
func checkSendable(_: @Sendable () -> ()) {}
|
|
|
|
@_rawLayout(size: 4, alignment: 4)
|
|
struct NotAutomaticallySendableAndNotUsedAsSendable: ~Copyable {}
|
|
|
|
@_rawLayout(size: 4, alignment: 4)
|
|
struct NotAutomaticallySendable: ~Copyable {} // expected-note{{}}
|
|
|
|
func testNotAutomaticallySendable() {
|
|
let s = NotAutomaticallySendable()
|
|
|
|
checkSendable { _ = s } // expected-warning{{capture of 's' with non-sendable type 'NotAutomaticallySendable'}}
|
|
}
|
|
|
|
@_rawLayout(size: 4, alignment: 4)
|
|
struct UnuncheckedSendable: ~Copyable, Sendable {} // expected-warning{{@_rawLayout does not conform to the 'Sendable' protocol}}
|
|
|
|
func testUnuncheckedSendable() {
|
|
let s = UnuncheckedSendable()
|
|
|
|
checkSendable { _ = s }
|
|
}
|
|
|
|
@_rawLayout(size: 4, alignment: 4)
|
|
struct UncheckedSendable: ~Copyable, @unchecked Sendable {}
|
|
|
|
func testUncheckedSendable() {
|
|
let s = UncheckedSendable()
|
|
|
|
checkSendable { _ = s }
|
|
}
|
|
|