@@ -476,7 +476,7 @@ extension Parser {
476476 // Parse the 'each' keyword for a type parameter pack 'each T'.
477477 var each = self . consume ( if: . keyword( . each) )
478478
479- let ( unexpectedBetweenEachAndName, name) = self . expectIdentifier ( )
479+ let ( unexpectedBetweenEachAndName, name) = self . expectIdentifier ( allowSelfOrCapitalSelfAsIdentifier : true )
480480 if attributes == nil && each == nil && unexpectedBetweenEachAndName == nil && name. isMissing && elements. isEmpty {
481481 break
482482 }
@@ -631,7 +631,7 @@ extension Parser {
631631 body: . sameTypeRequirement(
632632 RawSameTypeRequirementSyntax (
633633 leftTypeIdentifier: RawTypeSyntax ( RawMissingTypeSyntax ( arena: self . arena) ) ,
634- equalityToken: missingToken ( . equal ) ,
634+ equalityToken: missingToken ( . binaryOperator , text : " == " ) ,
635635 rightTypeIdentifier: RawTypeSyntax ( RawMissingTypeSyntax ( arena: self . arena) ) ,
636636 arena: self . arena
637637 )
@@ -890,7 +890,7 @@ extension Parser {
890890 var loopProgress = LoopProgressCondition ( )
891891 repeat {
892892 let unexpectedPeriod = self . consume ( if: . period)
893- let ( unexpectedBeforeName, name) = self . expectIdentifier ( allowIdentifierLikeKeywords : false , keywordRecovery: true )
893+ let ( unexpectedBeforeName, name) = self . expectIdentifier ( keywordRecovery: true )
894894
895895 let associatedValue : RawParameterClauseSyntax ?
896896 if self . at ( TokenSpec ( . leftParen, allowAtStartOfLine: false ) ) {
@@ -1916,7 +1916,7 @@ extension Parser {
19161916 // checking.
19171917 let precedenceAndTypes : RawOperatorPrecedenceAndTypesSyntax ?
19181918 if let colon = self . consume ( if: . colon) {
1919- let ( unexpectedBeforeIdentifier, identifier) = self . expectIdentifier ( keywordRecovery : true )
1919+ let ( unexpectedBeforeIdentifier, identifier) = self . expectIdentifier ( allowSelfOrCapitalSelfAsIdentifier : true )
19201920 var types = [ RawDesignatedTypeElementSyntax] ( )
19211921 while let comma = self . consume ( if: . comma) {
19221922 // FIXME: The compiler accepts... anything here. This is a bug.
@@ -2001,7 +2001,7 @@ extension Parser {
20012001 _ handle: RecoveryConsumptionHandle
20022002 ) -> RawPrecedenceGroupDeclSyntax {
20032003 let ( unexpectedBeforeGroup, group) = self . eat ( handle)
2004- let ( unexpectedBeforeIdentifier, identifier) = self . expectIdentifier ( keywordRecovery : true )
2004+ let ( unexpectedBeforeIdentifier, identifier) = self . expectIdentifier ( allowSelfOrCapitalSelfAsIdentifier : true )
20052005 let ( unexpectedBeforeLBrace, lbrace) = self . expect ( . leftBrace)
20062006
20072007 let groupAttributes = self . parsePrecedenceGroupAttributeListSyntax ( )
0 commit comments