@@ -3656,36 +3656,21 @@ conjPatternElements:
36563656
36573657namePatPairs:
36583658 | namePatPair opt_seps_block
3659- { let (id: Ident), mEq, (pat: SynPat) = $1
3660- let m = unionRanges id.idRange pat.Range
3661- let lid = SynLongIdent([id], [], [None])
3659+ { let (lid: SynLongIdent), mEq, (pat: SynPat) = $1
3660+ let m = unionRanges lid.Range pat.Range
36623661 [ NamePatPairField(lid, mEq, m, pat, $2) ] }
36633662
36643663 | namePatPair seps_block namePatPairs
3665- { let (id: Ident), mEq, (pat: SynPat) = $1
3666- let m = unionRanges id.idRange pat.Range
3667- let lid = SynLongIdent([id], [], [None])
3664+ { let (lid: SynLongIdent), mEq, (pat: SynPat) = $1
3665+ let m = unionRanges lid.Range pat.Range
36683666 NamePatPairField(lid, mEq, m, pat, Some $2) :: $3 }
36693667
36703668 | namePatPair seps_block seps_block namePatPairs
36713669 { reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsExpectingPattern ())
3672- let (id: Ident), mEq, (pat: SynPat) = $1
3673- let m = unionRanges id.idRange pat.Range
3674- let lid = SynLongIdent([id], [], [None])
3670+ let (lid: SynLongIdent), mEq, (pat: SynPat) = $1
3671+ let m = unionRanges lid.Range pat.Range
36753672 NamePatPairField(lid, mEq, m, pat, Some $2) :: $4 }
36763673
3677- namePatPair:
3678- | ident EQUALS parenPattern
3679- { let mEquals = rhs parseState 2
3680- $1, Some mEquals, $3 }
3681-
3682- | ident EQUALS recover
3683- { let mEquals = rhs parseState 2
3684- $1, Some mEquals, patFromParseError (SynPat.Wild mEquals.EndRange) }
3685-
3686- | ident recover
3687- { $1, None, patFromParseError (SynPat.Wild $1.idRange.EndRange) }
3688-
36893674constrPattern:
36903675 | atomicPatternLongIdent explicitValTyparDecls
36913676 { let vis, lid = $1
@@ -3778,7 +3763,7 @@ atomicPattern:
37783763 | quoteExpr
37793764 { SynPat.QuoteExpr($1, lhs parseState) }
37803765
3781- | LBRACE recordPatternElementsAux rbrace
3766+ | LBRACE namePatPairAux rbrace
37823767 { SynPat.Record($2, rhs2 parseState 1 3) }
37833768
37843769 | LBRACE error rbrace
@@ -4004,24 +3989,24 @@ conjParenPatternElements:
40043989 | parenPattern AMP parenPattern
40053990 { $3 :: $1 :: [] }
40063991
4007- recordPatternElementsAux :
4008- | recordPatternElement opt_seps_block
3992+ namePatPairAux :
3993+ | namePatPair opt_seps_block
40093994 { let (lid: SynLongIdent), mEq, (pat: SynPat) = $1
40103995 let m = unionRanges lid.Range pat.Range
40113996 [ NamePatPairField(lid, mEq, m, pat, $2) ] }
40123997
4013- | recordPatternElement seps_block recordPatternElementsAux
3998+ | namePatPair seps_block namePatPairAux
40143999 { let (lid: SynLongIdent), mEq, (pat: SynPat) = $1
40154000 let m = unionRanges lid.Range pat.Range
40164001 NamePatPairField(lid, mEq, m, pat, Some $2) :: $3 }
40174002
4018- | recordPatternElement seps_block seps_block recordPatternElementsAux
4003+ | namePatPair seps_block seps_block namePatPairAux
40194004 { reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsExpectingPattern ())
40204005 let (lid: SynLongIdent), mEq, (pat: SynPat) = $1
40214006 let m = unionRanges lid.Range pat.Range
40224007 NamePatPairField(lid, mEq, m, pat, Some $2) :: $4 }
40234008
4024- recordPatternElement :
4009+ namePatPair :
40254010 | path EQUALS parenPattern
40264011 { let mEquals = rhs parseState 2
40274012 $1, Some mEquals, $3 }
0 commit comments