Skip to content

Commit ce2d805

Browse files
committed
Add missing syntax for FunArgMods
1 parent 7c4662d commit ce2d805

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

compiler/src/dotty/tools/dotc/parsing/Parsers.scala

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1028,8 +1028,6 @@ object Parsers {
10281028

10291029
/** Expr ::= [FunArgMods] FunParams =>' Expr
10301030
* | Expr1
1031-
* FunArgMods ::= `implicit' FunArgMods
1032-
* | `unused' FunArgMods
10331031
* FunParams ::= Bindings
10341032
* | id
10351033
* | `_'
@@ -1817,11 +1815,11 @@ object Parsers {
18171815
def typeParamClauseOpt(ownerKind: ParamOwner.Value): List[TypeDef] =
18181816
if (in.token == LBRACKET) typeParamClause(ownerKind) else Nil
18191817

1820-
/** ClsParamClauses ::= {ClsParamClause} [[nl] `(' [`unused'] `implicit' [`unused'] ClsParams `)']
1818+
/** ClsParamClauses ::= {ClsParamClause} [[nl] `(' [FunArgMods] ClsParams `)']
18211819
* ClsParamClause ::= [nl] `(' [`unused'] [ClsParams] ')'
18221820
* ClsParams ::= ClsParam {`' ClsParam}
18231821
* ClsParam ::= {Annotation} [{Modifier} (`val' | `var') | `inline'] Param
1824-
* DefParamClauses ::= {DefParamClause} [[nl] `(' [`FunArgMods'] DefParams `)']
1822+
* DefParamClauses ::= {DefParamClause} [[nl] `(' [FunArgMods] DefParams `)']
18251823
* DefParamClause ::= [nl] `(' [`unused'] [DefParams] ')'
18261824
* DefParams ::= DefParam {`,' DefParam}
18271825
* DefParam ::= {Annotation} [`inline'] Param

docs/docs/internals/syntax.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,9 @@ TypeParamBounds ::= TypeBounds {‘<%’ Type} {‘:’ Type}
155155

156156
### Expressions
157157
```ebnf
158-
Expr ::= [‘implicit’] FunParams ‘=>’ Expr Function(args, expr), Function(ValDef([implicit], id, TypeTree(), EmptyTree), expr)
158+
Expr ::= [FunArgMods] FunParams ‘=>’ Expr Function(args, expr), Function(ValDef([implicit], id, TypeTree(), EmptyTree), expr)
159159
| Expr1
160-
BlockResult ::= [‘implicit’] FunParams ‘=>’ Block
160+
BlockResult ::= [FunArgMods] FunParams ‘=>’ Block
161161
| Expr1
162162
FunParams ::= Bindings
163163
| id
@@ -260,15 +260,15 @@ HkTypeParamClause ::= ‘[’ HkTypeParam {‘,’ HkTypeParam} ‘]’
260260
HkTypeParam ::= {Annotation} [‘+’ | ‘-’] (Id[HkTypeParamClause] | ‘_’)
261261
TypeBounds
262262
263-
ClsParamClauses ::= {ClsParamClause} [[nl] ‘(’ ‘implicit’ ClsParams ‘)’]
263+
ClsParamClauses ::= {ClsParamClause} [[nl] ‘(’ [FunArgMods] ClsParams ‘)’]
264264
ClsParamClause ::= [nl] ‘(’ [ClsParams] ‘)’
265265
ClsParams ::= ClsParam {‘,’ ClsParam}
266266
ClsParam ::= {Annotation} ValDef(mods, id, tpe, expr) -- point of mods on val/var
267267
[{Modifier} (‘val’ | ‘var’) | ‘inline’] Param
268268
Param ::= id ‘:’ ParamType [‘=’ Expr]
269269
| INT
270270
271-
DefParamClauses ::= {DefParamClause} [[nl] ‘(’ ‘implicit’ DefParams ‘)’]
271+
DefParamClauses ::= {DefParamClause} [[nl] ‘(’ [FunArgMods] DefParams ‘)’]
272272
DefParamClause ::= [nl] ‘(’ [DefParams] ‘)’
273273
DefParams ::= DefParam {‘,’ DefParam}
274274
DefParam ::= {Annotation} [‘inline’] Param ValDef(mods, id, tpe, expr) -- point of mods at id.

0 commit comments

Comments
 (0)