Skip to content

Commit 5f31ce4

Browse files
committed
FunctionInterfaces: more specific filters for FunctionX signatures
1 parent ad57a50 commit 5f31ce4

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/dotty/tools/dotc/transform/FunctionalInterfaces.scala

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,21 @@ class FunctionalInterfaces extends MiniPhaseTransform {
3939
val functionPackage = "scala.compat.java8.".toTermName
4040

4141
override def prepareForUnit(tree: tpd.Tree)(implicit ctx: Context): TreeTransform = {
42-
allowedReturnTypes = defn.ScalaNumericValueClasses
43-
allowedArgumentTypes = defn.ScalaNumericValueClasses + defn.BooleanClass
42+
allowedReturnTypes = Set(defn.UnitClass,
43+
defn.BooleanClass,
44+
defn.IntClass,
45+
defn.FloatClass,
46+
defn.LongClass,
47+
defn.DoubleClass,
48+
/* only for Function0: */ defn.ByteClass,
49+
defn.ShortClass,
50+
defn.CharClass)
51+
52+
allowedArgumentTypes = Set(defn.IntClass,
53+
defn.LongClass,
54+
defn.DoubleClass,
55+
/* only for Function1: */ defn.FloatClass)
56+
4457
this
4558
}
4659

0 commit comments

Comments
 (0)