@@ -6,7 +6,7 @@ import core._
6
6
import util .Spans ._ , Types ._ , Contexts ._ , Constants ._ , Names ._ , NameOps ._ , Flags ._
7
7
import Symbols ._ , StdNames ._ , Trees ._ , ContextOps ._
8
8
import Decorators ._ , transform .SymUtils ._
9
- import NameKinds .{UniqueName , EvidenceParamName , DefaultGetterName }
9
+ import NameKinds .{UniqueName , EvidenceParamName , DefaultGetterName , WildcardParamName }
10
10
import typer .{Namer , Checking }
11
11
import util .{Property , SourceFile , SourcePosition , Chars }
12
12
import config .Feature .{sourceVersion , migrateTo3 , enabled }
@@ -1109,8 +1109,12 @@ object desugar {
1109
1109
* ValDef or DefDef.
1110
1110
*/
1111
1111
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)
1114
1118
case _ =>
1115
1119
1116
1120
def filterWildcardGivenBinding (givenPat : Bind ): Boolean =
0 commit comments