From d5ff7e052f4c321e3089e0543617f81416e4aed4 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Sun, 4 Dec 2016 15:55:33 +0100 Subject: Fix erasure of implicit functions and check at runtime that it works --- tests/pending/run/implicitFuns.scala | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 tests/pending/run/implicitFuns.scala (limited to 'tests/pending/run/implicitFuns.scala') diff --git a/tests/pending/run/implicitFuns.scala b/tests/pending/run/implicitFuns.scala new file mode 100644 index 000000000..1b7ca694a --- /dev/null +++ b/tests/pending/run/implicitFuns.scala @@ -0,0 +1,32 @@ +object Test { + def main(args: Array[String]) = { + + implicit val world: String = "world!" + + val i1 = (implicit (s: String) => s.length > 2) + val i2 = {implicit (s: String) => s.length > 2} + + assert(i1) + assert(i2) + + val x: implicit String => Boolean = { implicit (s: String) => s.length > 2 } + + val xx: implicit (String, Int) => Int = implicit (x: String, y: Int) => x.length + y + + val y: String => Boolean = x + + val yy: (String, Int) => Any = xx + + val b = x("hello") + + val b1: Boolean = b + + val bi = x + + val bi1: Boolean = bi + + val c = xx("hh", 22) + + val c1: Int = c + } +} -- cgit v1.2.3