aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform/FunctionalInterfaces.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/dotty/tools/dotc/transform/FunctionalInterfaces.scala')
-rw-r--r--src/dotty/tools/dotc/transform/FunctionalInterfaces.scala17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/transform/FunctionalInterfaces.scala b/src/dotty/tools/dotc/transform/FunctionalInterfaces.scala
index 5f433d28d..cb8277b8c 100644
--- a/src/dotty/tools/dotc/transform/FunctionalInterfaces.scala
+++ b/src/dotty/tools/dotc/transform/FunctionalInterfaces.scala
@@ -39,8 +39,21 @@ class FunctionalInterfaces extends MiniPhaseTransform {
val functionPackage = "scala.compat.java8.".toTermName
override def prepareForUnit(tree: tpd.Tree)(implicit ctx: Context): TreeTransform = {
- allowedReturnTypes = defn.ScalaNumericValueClasses
- allowedArgumentTypes = defn.ScalaNumericValueClasses + defn.BooleanClass
+ allowedReturnTypes = Set(defn.UnitClass,
+ defn.BooleanClass,
+ defn.IntClass,
+ defn.FloatClass,
+ defn.LongClass,
+ defn.DoubleClass,
+ /* only for Function0: */ defn.ByteClass,
+ defn.ShortClass,
+ defn.CharClass)
+
+ allowedArgumentTypes = Set(defn.IntClass,
+ defn.LongClass,
+ defn.DoubleClass,
+ /* only for Function1: */ defn.FloatClass)
+
this
}