Skip to content

Commit bd8627f

Browse files
committed
It is safe to share names across runs
1 parent f8fbdf8 commit bd8627f

File tree

2 files changed

+21
-27
lines changed

2 files changed

+21
-27
lines changed

compiler/src/dotty/tools/dotc/core/Definitions.scala

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1434,30 +1434,24 @@ class Definitions {
14341434
false
14351435
})
14361436

1437-
@tu lazy val Function0SpecializedApplyNames: PerRun[collection.Set[TermName]] =
1438-
new PerRun({
1439-
for r <- defn.Function0SpecializedReturnTypes
1440-
yield nme.apply.specializedFunction(r, Nil).asTermName
1441-
})
1442-
1443-
@tu lazy val Function1SpecializedApplyNames: PerRun[collection.Set[TermName]] =
1444-
new PerRun({
1445-
for
1446-
r <- Function1SpecializedReturnTypes
1447-
t1 <- Function1SpecializedParamTypes
1448-
yield
1449-
nme.apply.specializedFunction(r, List(t1)).asTermName
1450-
})
1451-
1452-
@tu lazy val Function2SpecializedApplyNames: PerRun[collection.Set[TermName]] =
1453-
new PerRun({
1454-
for
1455-
r <- Function2SpecializedReturnTypes
1456-
t1 <- Function2SpecializedParamTypes
1457-
t2 <- Function2SpecializedReturnTypes
1458-
yield
1459-
nme.apply.specializedFunction(r, List(t1, t2)).asTermName
1460-
})
1437+
@tu lazy val Function0SpecializedApplyNames: collection.Set[TermName] =
1438+
for r <- Function0SpecializedReturnTypes
1439+
yield nme.apply.specializedFunction(r, Nil).asTermName
1440+
1441+
@tu lazy val Function1SpecializedApplyNames: collection.Set[TermName] =
1442+
for
1443+
r <- Function1SpecializedReturnTypes
1444+
t1 <- Function1SpecializedParamTypes
1445+
yield
1446+
nme.apply.specializedFunction(r, List(t1)).asTermName
1447+
1448+
@tu lazy val Function2SpecializedApplyNames: collection.Set[TermName] =
1449+
for
1450+
r <- Function2SpecializedReturnTypes
1451+
t1 <- Function2SpecializedParamTypes
1452+
t2 <- Function2SpecializedReturnTypes
1453+
yield
1454+
nme.apply.specializedFunction(r, List(t1, t2)).asTermName
14611455

14621456
def functionArity(tp: Type)(using Context): Int = tp.dropDependentRefinement.dealias.argInfos.length - 1
14631457

compiler/src/dotty/tools/dotc/transform/SpecializedApplyMethods.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,13 +101,13 @@ class SpecializedApplyMethods extends MiniPhase with InfoTransformer {
101101

102102
cls.name.functionArity match {
103103
case 0 =>
104-
synthesizeApply(defn.Function0SpecializedApplyNames())
104+
synthesizeApply(defn.Function0SpecializedApplyNames)
105105

106106
case 1 =>
107-
synthesizeApply(defn.Function1SpecializedApplyNames())
107+
synthesizeApply(defn.Function1SpecializedApplyNames)
108108

109109
case 2 =>
110-
synthesizeApply(defn.Function2SpecializedApplyNames())
110+
synthesizeApply(defn.Function2SpecializedApplyNames)
111111

112112
case _ =>
113113
tree

0 commit comments

Comments
 (0)