Skip to content

Commit 2ac849e

Browse files
authored
Merge pull request #2716 from gottesmm/release/6.0-remove-transferring
[6.0][sending] Remove support for parsing transferring.
2 parents 2a4f370 + 80871a0 commit 2ac849e

16 files changed

+13
-81
lines changed

CodeGeneration/Sources/SyntaxSupport/DeclNodes.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,6 @@ public let DECL_NODES: [Node] = [
469469
.keyword(._resultDependsOnSelf),
470470
.keyword(.required),
471471
.keyword(.static),
472-
.keyword(.transferring),
473472
.keyword(.unowned),
474473
.keyword(.weak),
475474
.keyword(.sending),

CodeGeneration/Sources/SyntaxSupport/ExperimentalFeatures.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ public enum ExperimentalFeature: String, CaseIterable {
1717
case thenStatements
1818
case doExpressions
1919
case nonescapableTypes
20-
case transferringArgsAndResults
2120
case borrowingSwitch
2221
case sendingArgsAndResults
2322

@@ -32,8 +31,6 @@ public enum ExperimentalFeature: String, CaseIterable {
3231
return "'do' expressions"
3332
case .nonescapableTypes:
3433
return "NonEscableTypes"
35-
case .transferringArgsAndResults:
36-
return "TransferringArgsAndResults"
3734
case .borrowingSwitch:
3835
return "borrowing pattern matching"
3936
case .sendingArgsAndResults:

CodeGeneration/Sources/SyntaxSupport/KeywordSpec.swift

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,6 @@ public enum Keyword: CaseIterable {
281281
case then
282282
case `throw`
283283
case `throws`
284-
case transferring
285284
case transpose
286285
case `true`
287286
case `try`
@@ -697,11 +696,6 @@ public enum Keyword: CaseIterable {
697696
return KeywordSpec("throw", isLexerClassified: true)
698697
case .throws:
699698
return KeywordSpec("throws", isLexerClassified: true)
700-
case .transferring:
701-
return KeywordSpec(
702-
"transferring",
703-
experimentalFeature: .transferringArgsAndResults
704-
)
705699
case .sending:
706700
return KeywordSpec(
707701
"sending",

CodeGeneration/Sources/SyntaxSupport/TypeNodes.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -591,7 +591,6 @@ public let TYPE_NODES: [Node] = [
591591
.keyword(._const),
592592
.keyword(.borrowing),
593593
.keyword(.consuming),
594-
.keyword(.transferring),
595594
.keyword(._resultDependsOn),
596595
.keyword(.sending),
597596
]),

Sources/SwiftParser/Declarations.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ extension DeclarationModifier {
2323
.borrowing, .class, .consuming, .convenience, .distributed, .dynamic,
2424
.final, .indirect, .infix, .isolated, .lazy, .mutating, .nonmutating,
2525
.optional, .override, .postfix, .prefix, .reasync, ._resultDependsOn, ._resultDependsOnSelf, .required,
26-
.rethrows, .static, .weak, .transferring, .sending:
26+
.rethrows, .static, .weak, .sending:
2727
return false
2828
case .fileprivate, .internal, .nonisolated, .package, .open, .private,
2929
.public, .unowned:

Sources/SwiftParser/Patterns.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,6 @@ extension Parser.Lookahead {
377377
&& !self.at(.keyword(.__owned))
378378
&& !self.at(.keyword(.borrowing))
379379
&& !self.at(.keyword(.consuming))
380-
&& !(experimentalFeatures.contains(.transferringArgsAndResults) && self.at(.keyword(.transferring)))
381380
&& !(experimentalFeatures.contains(.sendingArgsAndResults) && self.at(.keyword(.sending)))
382381
&& !(experimentalFeatures.contains(.nonescapableTypes) && self.at(.keyword(._resultDependsOn)))
383382
{

Sources/SwiftParser/TokenPrecedence.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ enum TokenPrecedence: Comparable {
237237
.__setter_access, .indirect, .isolated, .nonisolated, .distributed, ._local,
238238
.inout, ._mutating, ._borrow, ._borrowing, .borrowing, ._consuming, .consuming, .consume, ._resultDependsOnSelf,
239239
._resultDependsOn,
240-
.transferring, .dependsOn, .scoped, .sending,
240+
.dependsOn, .scoped, .sending,
241241
// Accessors
242242
.get, .set, .didSet, .willSet, .unsafeAddress, .addressWithOwner, .addressWithNativeOwner, .unsafeMutableAddress,
243243
.mutableAddressWithOwner, .mutableAddressWithNativeOwner, ._read, ._modify,

Sources/SwiftParser/TokenSpecSet.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,6 @@ enum DeclarationModifier: TokenSpecSet {
379379
case `rethrows`
380380
case sending
381381
case `static`
382-
case transferring
383382
case unowned
384383
case weak
385384
case _resultDependsOn
@@ -420,7 +419,6 @@ enum DeclarationModifier: TokenSpecSet {
420419
case TokenSpec(.required): self = .required
421420
case TokenSpec(.rethrows): self = .rethrows
422421
case TokenSpec(.static): self = .static
423-
case TokenSpec(.transferring): self = .transferring
424422
case TokenSpec(.sending): self = .sending
425423
case TokenSpec(.unowned): self = .unowned
426424
case TokenSpec(.weak): self = .weak
@@ -466,7 +464,6 @@ enum DeclarationModifier: TokenSpecSet {
466464
case .required: return .keyword(.required)
467465
case .rethrows: return TokenSpec(.rethrows, recoveryPrecedence: .declKeyword)
468466
case .static: return .keyword(.static)
469-
case .transferring: return .keyword(.transferring)
470467
case .sending: return .keyword(.sending)
471468
case .unowned: return TokenSpec(.unowned, recoveryPrecedence: .declKeyword)
472469
case .weak: return TokenSpec(.weak, recoveryPrecedence: .declKeyword)

Sources/SwiftParser/generated/ExperimentalFeatures.swift

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,9 @@ extension Parser.ExperimentalFeatures {
3636
/// Whether to enable the parsing of NonEscableTypes.
3737
public static let nonescapableTypes = Self (rawValue: 1 << 3)
3838

39-
/// Whether to enable the parsing of TransferringArgsAndResults.
40-
public static let transferringArgsAndResults = Self (rawValue: 1 << 4)
41-
4239
/// Whether to enable the parsing of borrowing pattern matching.
43-
public static let borrowingSwitch = Self (rawValue: 1 << 5)
40+
public static let borrowingSwitch = Self (rawValue: 1 << 4)
4441

4542
/// Whether to enable the parsing of SendingArgsAndResults.
46-
public static let sendingArgsAndResults = Self (rawValue: 1 << 6)
43+
public static let sendingArgsAndResults = Self (rawValue: 1 << 5)
4744
}

Sources/SwiftParser/generated/Parser+TokenSpecSet.swift

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -808,10 +808,6 @@ extension DeclModifierSyntax {
808808
case _resultDependsOnSelf
809809
case required
810810
case `static`
811-
#if compiler(>=5.8)
812-
@_spi(ExperimentalLanguageFeatures)
813-
#endif
814-
case transferring
815811
case unowned
816812
case weak
817813
#if compiler(>=5.8)
@@ -889,8 +885,6 @@ extension DeclModifierSyntax {
889885
self = .required
890886
case TokenSpec(.static):
891887
self = .static
892-
case TokenSpec(.transferring) where experimentalFeatures.contains(.transferringArgsAndResults):
893-
self = .transferring
894888
case TokenSpec(.unowned):
895889
self = .unowned
896890
case TokenSpec(.weak):
@@ -972,8 +966,6 @@ extension DeclModifierSyntax {
972966
self = .required
973967
case TokenSpec(.static):
974968
self = .static
975-
case TokenSpec(.transferring):
976-
self = .transferring
977969
case TokenSpec(.unowned):
978970
self = .unowned
979971
case TokenSpec(.weak):
@@ -1055,8 +1047,6 @@ extension DeclModifierSyntax {
10551047
return .keyword(.required)
10561048
case .static:
10571049
return .keyword(.static)
1058-
case .transferring:
1059-
return .keyword(.transferring)
10601050
case .unowned:
10611051
return .keyword(.unowned)
10621052
case .weak:
@@ -1140,8 +1130,6 @@ extension DeclModifierSyntax {
11401130
return .keyword(.required)
11411131
case .static:
11421132
return .keyword(.static)
1143-
case .transferring:
1144-
return .keyword(.transferring)
11451133
case .unowned:
11461134
return .keyword(.unowned)
11471135
case .weak:
@@ -3354,10 +3342,6 @@ extension SimpleTypeSpecifierSyntax {
33543342
#if compiler(>=5.8)
33553343
@_spi(ExperimentalLanguageFeatures)
33563344
#endif
3357-
case transferring
3358-
#if compiler(>=5.8)
3359-
@_spi(ExperimentalLanguageFeatures)
3360-
#endif
33613345
case _resultDependsOn
33623346
#if compiler(>=5.8)
33633347
@_spi(ExperimentalLanguageFeatures)
@@ -3380,8 +3364,6 @@ extension SimpleTypeSpecifierSyntax {
33803364
self = .borrowing
33813365
case TokenSpec(.consuming):
33823366
self = .consuming
3383-
case TokenSpec(.transferring) where experimentalFeatures.contains(.transferringArgsAndResults):
3384-
self = .transferring
33853367
case TokenSpec(._resultDependsOn) where experimentalFeatures.contains(.nonescapableTypes):
33863368
self = ._resultDependsOn
33873369
case TokenSpec(.sending) where experimentalFeatures.contains(.sendingArgsAndResults):
@@ -3407,8 +3389,6 @@ extension SimpleTypeSpecifierSyntax {
34073389
self = .borrowing
34083390
case TokenSpec(.consuming):
34093391
self = .consuming
3410-
case TokenSpec(.transferring):
3411-
self = .transferring
34123392
case TokenSpec(._resultDependsOn):
34133393
self = ._resultDependsOn
34143394
case TokenSpec(.sending):
@@ -3434,8 +3414,6 @@ extension SimpleTypeSpecifierSyntax {
34343414
return .keyword(.borrowing)
34353415
case .consuming:
34363416
return .keyword(.consuming)
3437-
case .transferring:
3438-
return .keyword(.transferring)
34393417
case ._resultDependsOn:
34403418
return .keyword(._resultDependsOn)
34413419
case .sending:
@@ -3463,8 +3441,6 @@ extension SimpleTypeSpecifierSyntax {
34633441
return .keyword(.borrowing)
34643442
case .consuming:
34653443
return .keyword(.consuming)
3466-
case .transferring:
3467-
return .keyword(.transferring)
34683444
case ._resultDependsOn:
34693445
return .keyword(._resultDependsOn)
34703446
case .sending:

Sources/SwiftSyntax/generated/Keyword.swift

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -232,10 +232,6 @@ public enum Keyword: UInt8, Hashable, Sendable {
232232
case then
233233
case `throw`
234234
case `throws`
235-
#if compiler(>=5.8)
236-
@_spi(ExperimentalLanguageFeatures)
237-
#endif
238-
case transferring
239235
case transpose
240236
case `true`
241237
case `try`
@@ -679,8 +675,6 @@ public enum Keyword: UInt8, Hashable, Sendable {
679675
self = .freestanding
680676
case "noDerivative":
681677
self = .noDerivative
682-
case "transferring":
683-
self = .transferring
684678
default:
685679
return nil
686680
}
@@ -1026,7 +1020,6 @@ public enum Keyword: UInt8, Hashable, Sendable {
10261020
"then",
10271021
"throw",
10281022
"throws",
1029-
"transferring",
10301023
"transpose",
10311024
"true",
10321025
"try",

Sources/SwiftSyntax/generated/raw/RawSyntaxValidation.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -797,7 +797,6 @@ func validateLayout(layout: RawSyntaxBuffer, as kind: SyntaxKind) {
797797
.keyword("_resultDependsOnSelf"),
798798
.keyword("required"),
799799
.keyword("static"),
800-
.keyword("transferring"),
801800
.keyword("unowned"),
802801
.keyword("weak"),
803802
.keyword("sending")
@@ -2298,7 +2297,6 @@ func validateLayout(layout: RawSyntaxBuffer, as kind: SyntaxKind) {
22982297
.keyword("_const"),
22992298
.keyword("borrowing"),
23002299
.keyword("consuming"),
2301-
.keyword("transferring"),
23022300
.keyword("_resultDependsOn"),
23032301
.keyword("sending")
23042302
]))

Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesD.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ public struct DeclModifierDetailSyntax: SyntaxProtocol, SyntaxHashable, _LeafSyn
169169

170170
/// ### Children
171171
///
172-
/// - `name`: (`__consuming` | `__setter_access` | `_const` | `_local` | `actor` | `async` | `borrowing` | `class` | `consuming` | `convenience` | `distributed` | `dynamic` | `fileprivate` | `final` | `indirect` | `infix` | `internal` | `isolated` | `lazy` | `mutating` | `nonisolated` | `nonmutating` | `open` | `optional` | `override` | `package` | `postfix` | `prefix` | `private` | `public` | `reasync` | `_resultDependsOnSelf` | `required` | `static` | `transferring` | `unowned` | `weak` | `sending`)
172+
/// - `name`: (`__consuming` | `__setter_access` | `_const` | `_local` | `actor` | `async` | `borrowing` | `class` | `consuming` | `convenience` | `distributed` | `dynamic` | `fileprivate` | `final` | `indirect` | `infix` | `internal` | `isolated` | `lazy` | `mutating` | `nonisolated` | `nonmutating` | `open` | `optional` | `override` | `package` | `postfix` | `prefix` | `private` | `public` | `reasync` | `_resultDependsOnSelf` | `required` | `static` | `unowned` | `weak` | `sending`)
173173
/// - `detail`: ``DeclModifierDetailSyntax``?
174174
///
175175
/// ### Contained in
@@ -273,7 +273,6 @@ public struct DeclModifierSyntax: SyntaxProtocol, SyntaxHashable, _LeafSyntaxNod
273273
/// - `_resultDependsOnSelf`
274274
/// - `required`
275275
/// - `static`
276-
/// - `transferring`
277276
/// - `unowned`
278277
/// - `weak`
279278
/// - `sending`

Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesQRS.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1090,7 +1090,7 @@ public struct SimpleStringLiteralExprSyntax: ExprSyntaxProtocol, SyntaxHashable,
10901090
///
10911091
/// ### Children
10921092
///
1093-
/// - `specifier`: (`inout` | `__shared` | `__owned` | `isolated` | `_const` | `borrowing` | `consuming` | `transferring` | `_resultDependsOn` | `sending`)
1093+
/// - `specifier`: (`inout` | `__shared` | `__owned` | `isolated` | `_const` | `borrowing` | `consuming` | `_resultDependsOn` | `sending`)
10941094
///
10951095
/// ### Contained in
10961096
///
@@ -1154,7 +1154,6 @@ public struct SimpleTypeSpecifierSyntax: SyntaxProtocol, SyntaxHashable, _LeafSy
11541154
/// - `_const`
11551155
/// - `borrowing`
11561156
/// - `consuming`
1157-
/// - `transferring`
11581157
/// - `_resultDependsOn`
11591158
/// - `sending`
11601159
public var specifier: TokenSyntax {

Tests/SwiftParserTest/DeclarationTests.swift

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3294,21 +3294,6 @@ final class DeclarationTests: ParserTestCase {
32943294
assertParse("public init() -> Int")
32953295
}
32963296

3297-
func testTransferringTypeSpecifier() {
3298-
assertParse(
3299-
"func testVarDeclTupleElt() -> (transferring String, String) {}",
3300-
experimentalFeatures: .transferringArgsAndResults
3301-
)
3302-
assertParse(
3303-
"func testVarDeclTuple2(_ x: (transferring String)) {}",
3304-
experimentalFeatures: .transferringArgsAndResults
3305-
)
3306-
assertParse(
3307-
"func testVarDeclTuple2(_ x: (transferring String, String)) {}",
3308-
experimentalFeatures: .transferringArgsAndResults
3309-
)
3310-
}
3311-
33123297
func testSendingTypeSpecifier() {
33133298
assertParse(
33143299
"func testVarDeclTupleElt() -> (sending String, String) {}",

Tests/SwiftParserTest/TransferringTest.swift renamed to Tests/SwiftParserTest/SendingTest.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,24 @@
1313
@_spi(ExperimentalLanguageFeatures) import SwiftParser
1414
import XCTest
1515

16-
final class TransferringTests: ParserTestCase {
17-
func testTransferingArg1() {
16+
final class SendingTests: ParserTestCase {
17+
func testSendingArg1() {
1818
assertParse(
1919
"""
2020
class Klass {}
21-
func transferMain(_ x: transferring Klass) -> ()
21+
func transferMain(_ x: sending Klass) -> ()
2222
""",
23-
experimentalFeatures: .transferringArgsAndResults
23+
experimentalFeatures: .sendingArgsAndResults
2424
)
2525
}
2626

27-
func testTransferingArgMiddle() {
27+
func testSendingArgMiddle() {
2828
assertParse(
2929
"""
3030
class Klass {}
31-
func transferMain(_ y: Klass, _ x: transferring Klass, _ z: Klass) -> ()
31+
func transferMain(_ y: Klass, _ x: sending Klass, _ z: Klass) -> ()
3232
""",
33-
experimentalFeatures: .transferringArgsAndResults
33+
experimentalFeatures: .sendingArgsAndResults
3434
)
3535
}
3636
}

0 commit comments

Comments
 (0)