@@ -6,7 +6,7 @@ import core._
66import util .Spans ._ , Types ._ , Contexts ._ , Constants ._ , Names ._ , NameOps ._ , Flags ._
77import Symbols ._ , StdNames ._ , Trees ._ , ContextOps ._
88import Decorators ._ , transform .SymUtils ._
9- import NameKinds .{UniqueName , EvidenceParamName , DefaultGetterName }
9+ import NameKinds .{UniqueName , EvidenceParamName , DefaultGetterName , WildcardParamName }
1010import typer .{Namer , Checking }
1111import util .{Property , SourceFile , SourcePosition , Chars }
1212import config .Feature .{sourceVersion , migrateTo3 , enabled }
@@ -1109,8 +1109,12 @@ object desugar {
11091109 * ValDef or DefDef.
11101110 */
11111111 def makePatDef (original : Tree , mods : Modifiers , pat : Tree , rhs : Tree )(using Context ): Tree = pat match {
1112- case IdPattern (named, tpt) =>
1113- derivedValDef(original, named, tpt, rhs, mods)
1112+ case IdPattern (id, tpt) =>
1113+ val id1 =
1114+ if id.name == nme.WILDCARD
1115+ then cpy.Ident (id)(WildcardParamName .fresh())
1116+ else id
1117+ derivedValDef(original, id1, tpt, rhs, mods)
11141118 case _ =>
11151119
11161120 def filterWildcardGivenBinding (givenPat : Bind ): Boolean =
0 commit comments