Skip to content

Commit e2e5aaf

Browse files
committed
Allow parsing of "nonisolated" as a type specifier along with "isolated"
This is used for isolated conformances.
1 parent 50ca735 commit e2e5aaf

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

Sources/SwiftParser/generated/Parser+TokenSpecSet.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3503,6 +3503,7 @@ extension SimpleTypeSpecifierSyntax {
35033503
case __shared
35043504
case __owned
35053505
case isolated
3506+
case nonisolated
35063507
case _const
35073508
case borrowing
35083509
case consuming
@@ -3518,6 +3519,8 @@ extension SimpleTypeSpecifierSyntax {
35183519
self = .__owned
35193520
case TokenSpec(.isolated):
35203521
self = .isolated
3522+
case TokenSpec(.nonisolated):
3523+
self = .nonisolated
35213524
case TokenSpec(._const):
35223525
self = ._const
35233526
case TokenSpec(.borrowing):
@@ -3541,6 +3544,8 @@ extension SimpleTypeSpecifierSyntax {
35413544
self = .__owned
35423545
case TokenSpec(.isolated):
35433546
self = .isolated
3547+
case TokenSpec(.nonisolated):
3548+
self = .nonisolated
35443549
case TokenSpec(._const):
35453550
self = ._const
35463551
case TokenSpec(.borrowing):
@@ -3564,6 +3569,8 @@ extension SimpleTypeSpecifierSyntax {
35643569
return .keyword(.__owned)
35653570
case .isolated:
35663571
return .keyword(.isolated)
3572+
case .nonisolated:
3573+
return .keyword(.nonisolated)
35673574
case ._const:
35683575
return .keyword(._const)
35693576
case .borrowing:
@@ -3589,6 +3596,8 @@ extension SimpleTypeSpecifierSyntax {
35893596
return .keyword(.__owned)
35903597
case .isolated:
35913598
return .keyword(.isolated)
3599+
case .nonisolated:
3600+
return .keyword(.nonisolated)
35923601
case ._const:
35933602
return .keyword(._const)
35943603
case .borrowing:

Tests/SwiftParserTest/DeclarationTests.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -765,6 +765,15 @@ final class DeclarationTests: ParserTestCase {
765765
)
766766
}
767767

768+
func testParseIsolatedConformances() {
769+
assertParse(
770+
"""
771+
extension Int: @MainActor P {}
772+
extension Int: nonisolated Q {}
773+
"""
774+
)
775+
}
776+
768777
func testParseDynamicReplacement() {
769778
assertParse(
770779
"""

0 commit comments

Comments
 (0)