diff options
author | Grzegorz Kossakowski <grzegorz.kossakowski@gmail.com> | 2013-10-14 07:16:34 -0700 |
---|---|---|
committer | Grzegorz Kossakowski <grzegorz.kossakowski@gmail.com> | 2013-10-14 07:16:34 -0700 |
commit | 686fb483e721ba2bef77e185afd5bf97a134d890 (patch) | |
tree | 75200d850cf9b39ec979e8eea71e1a2a6dbb7946 /test/files/pos/t6221.scala | |
parent | d068b163d36b3fbffe39f87e3dc152a14c3ca07e (diff) | |
parent | b126e5c31b2bc57df5d0d5cf3508babe1dd7a759 (diff) | |
download | scala-26318d0d53471f958fba29e105ab7e4ac32a9272.tar.gz scala-26318d0d53471f958fba29e105ab7e4ac32a9272.tar.bz2 scala-26318d0d53471f958fba29e105ab7e4ac32a9272.zip |
Merge pull request #3037 from gkossakowski/fix-merge-3018v2.11.0-M6
[resubmit] Experimental Single Abstract Method support (sammy meets world)
Diffstat (limited to 'test/files/pos/t6221.scala')
-rw-r--r-- | test/files/pos/t6221.scala | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/test/files/pos/t6221.scala b/test/files/pos/t6221.scala index dd7776f596..34f02859f3 100644 --- a/test/files/pos/t6221.scala +++ b/test/files/pos/t6221.scala @@ -7,23 +7,27 @@ class MyCollection[A] { class OtherFunc[-A, +B] {} object Test { - implicit def functionToMyFunc[A, B](f: A => B): MyFunc[A, B] = new MyFunc + implicit def functionToMyFunc[A, B](f: A => B): MyFunc[A, B] = new MyFunc // = new MyFunc[A,Nothing](); - implicit def otherFuncToMyFunc[A, B](f: OtherFunc[A, B]): MyFunc[A, B] = new MyFunc + implicit def otherFuncToMyFunc[A, B](f: OtherFunc[A, B]): MyFunc[A, B] = new MyFunc // = new MyFunc[A,Nothing](); def main(args: Array[String]) { val col = new MyCollection[Int] // Doesn't compile: error: missing parameter type for expanded function ((x$1) => x$1.toString) println(col.map(_.toString)) + // scala.this.Predef.println(col.map[String](Test.this.functionToMyFunc[Int, String](((x$1: Int) => x$1.toString())))); // Doesn't compile: error: missing parameter type println(col.map(x => x.toString)) + // scala.this.Predef.println(col.map[String](Test.this.functionToMyFunc[Int, String](((x: Int) => x.toString())))); // Does compile println(col.map((x: Int) => x.toString)) + // scala.this.Predef.println(col.map[String](Test.this.functionToMyFunc[Int, String](((x: Int) => x.toString())))); // Does compile (even though type params of OtherFunc not given) println(col.map(new OtherFunc)) + // scala.this.Predef.println(col.map[Nothing](Test.this.otherFuncToMyFunc[Any, Nothing](new OtherFunc[Any,Nothing]()))) } }
\ No newline at end of file |