[sending] Remove transferring.

Out of an abundance of caution, we:

1. Left in parsing support for transferring but internally made it rely on the
internals of sending.

2. Added a warning to tell people that transferring was going to
be removed very soon.

Now that we have given people some time, remove support for parsing
transferring.

rdar://130253724
This commit is contained in:
Michael Gottesman
2024-06-20 16:10:55 -07:00
parent d07e8ce424
commit 112071e57d
52 changed files with 68 additions and 834 deletions

View File

@@ -14,7 +14,7 @@ import Swift
import StdlibUnittest
import _Concurrency
// TODO: Once transferring is enabled by default, move these into
// TODO: Once sending is enabled by default, move these into
// demangleToMetadata.swift.
class Klass {}
@@ -22,34 +22,34 @@ class Klass {}
let DemangleToMetadataTests = TestSuite("DemangleToMetadata")
if #available(SwiftStdlib 6.0, *) {
DemangleToMetadataTests.test("transferring parameter") {
typealias Fn = (transferring Klass) -> Void
DemangleToMetadataTests.test("sending parameter") {
typealias Fn = (sending Klass) -> Void
expectEqual("y4main5KlassCnYuc", _mangledTypeName(Fn.self)!)
expectEqual(Fn.self, _typeByName("y4main5KlassCnYuc")!)
typealias Fn2 = (transferring Klass, transferring Klass) -> Void
typealias Fn2 = (sending Klass, sending Klass) -> Void
expectEqual("y4main5KlassCnYu_ACnYutc", _mangledTypeName(Fn2.self)!)
expectEqual(Fn2.self, _typeByName("y4main5KlassCnYu_ACnYutc")!)
typealias Fn3 = (transferring (Klass, Klass)) -> Void
typealias Fn3 = (sending (Klass, Klass)) -> Void
expectEqual("y4main5KlassC_ACtnYuc", _mangledTypeName(Fn3.self)!)
expectEqual(Fn3.self, _typeByName("y4main5KlassC_ACtnYuc")!)
}
DemangleToMetadataTests.test("transferring result") {
typealias Fn = (Klass) -> transferring Klass
DemangleToMetadataTests.test("sending result") {
typealias Fn = (Klass) -> sending Klass
expectEqual("4main5KlassCACYTc", _mangledTypeName(Fn.self)!)
expectEqual(Fn.self, _typeByName("4main5KlassCACYTc")!)
typealias Fn2 = (transferring Klass, transferring Klass) -> transferring Klass
typealias Fn2 = (sending Klass, sending Klass) -> sending Klass
expectEqual("4main5KlassCACnYu_ACnYutYTc", _mangledTypeName(Fn2.self)!)
expectEqual(Fn2.self, _typeByName("4main5KlassCACnYu_ACnYutYTc")!)
typealias Fn3 = (transferring (Klass, Klass)) -> transferring (Klass, Klass)
typealias Fn3 = (sending (Klass, Klass)) -> sending (Klass, Klass)
expectEqual("4main5KlassC_ACtAC_ACtnYuYTc", _mangledTypeName(Fn3.self)!)
expectEqual(Fn3.self, _typeByName("4main5KlassC_ACtAC_ACtnYuYTc")!)
typealias Fn4 = () -> transferring Klass
typealias Fn4 = () -> sending Klass
expectEqual("4main5KlassCyYTc", _mangledTypeName(Fn4.self)!)
expectEqual(Fn4.self, _typeByName("4main5KlassCyYTc")!)
}