Skip to content

Commit 05b52f6

Browse files
authored
Merge pull request #1595 from ahoppen/ahoppen/double-right-crash
Fix a precondition failure if a generic parameter clause had an additional closing right angle
2 parents 58509d1 + fe14ef0 commit 05b52f6

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

Sources/SwiftParser/Declarations.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,7 @@ extension Parser {
544544

545545
let rangle: RawTokenSyntax
546546
if self.currentToken.starts(with: ">") {
547-
rangle = self.consumeAnyToken(remapping: .rightAngle)
547+
rangle = self.consumePrefix(">", as: .rightAngle)
548548
} else {
549549
rangle = RawTokenSyntax(missing: .rightAngle, arena: self.arena)
550550
}

Tests/SwiftParserTest/DeclarationTests.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1648,6 +1648,15 @@ final class DeclarationTests: XCTestCase {
16481648
)
16491649
)
16501650
}
1651+
1652+
func testDoubleRightAngle() {
1653+
assertParse(
1654+
"func foo<A>1️⃣> test()",
1655+
diagnostics: [
1656+
DiagnosticSpec(message: "unexpected code '> test' before parameter clause")
1657+
]
1658+
)
1659+
}
16511660
}
16521661

16531662
extension Parser.DeclAttributes {

0 commit comments

Comments
 (0)