Skip to content

Commit d2b2ddd

Browse files
committed
Allow erased as extension parameter
1 parent d4e477c commit d2b2ddd

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2961,7 +2961,7 @@ object Parsers {
29612961
if in.token == RPAREN && !prefix && !impliedMods.is(Given) then Nil
29622962
else
29632963
val clause =
2964-
if prefix && !isIdent(nme.using) then param() :: Nil
2964+
if prefix && !isIdent(nme.using) && !isIdent(nme.erased) then param() :: Nil
29652965
else
29662966
paramMods()
29672967
if givenOnly && !impliedMods.is(Given) then

tests/pos/i11743.scala

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import language.experimental.erasedTerms
2+
import scala.compiletime.erasedValue
3+
type UnivEq[A]
4+
object UnivEq:
5+
erased def force[A]: UnivEq[A] = erasedValue
6+
extension [A](erased proof: UnivEq[A])
7+
inline def univEq(a: A, b: A): Boolean =
8+
a == b

0 commit comments

Comments
 (0)