Skip to content

Commit 53d35b5

Browse files
committed
Friendlier error message when a : is given after extension clause
1 parent dd1a152 commit 53d35b5

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3565,6 +3565,9 @@ object Parsers {
35653565
val tparams = typeParamClauseOpt(ParamOwner.Def)
35663566
val extParams = paramClause(0, prefix = true)
35673567
val givenParamss = paramClauses(givenOnly = true)
3568+
if in.token == COLON then
3569+
syntaxError("no `:` expected here")
3570+
in.nextToken()
35683571
val methods =
35693572
if isDefIntro(modifierTokens) then
35703573
extMethod() :: Nil

tests/neg/extension-colon.check

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-- Error: tests/neg/extension-colon.scala:1:18 -------------------------------------------------------------------------
2+
1 |extension (x: Int): // error
3+
| ^
4+
| no `:` expected here

tests/neg/extension-colon.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
extension (x: Int): // error
2+
def foo = x

0 commit comments

Comments
 (0)