diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/files/run/t7899-regression.check | 1 | ||||
-rw-r--r-- | test/files/run/t7899-regression.flags | 1 | ||||
-rw-r--r-- | test/files/run/t7899-regression.scala | 24 |
3 files changed, 0 insertions, 26 deletions
diff --git a/test/files/run/t7899-regression.check b/test/files/run/t7899-regression.check deleted file mode 100644 index 602b03a1d1..0000000000 --- a/test/files/run/t7899-regression.check +++ /dev/null @@ -1 +0,0 @@ -warning: -Yinfer-by-name is deprecated: This flag is scheduled for removal in 2.12. If you have a case where you need this flag then please report a bug. diff --git a/test/files/run/t7899-regression.flags b/test/files/run/t7899-regression.flags deleted file mode 100644 index 553a27eafd..0000000000 --- a/test/files/run/t7899-regression.flags +++ /dev/null @@ -1 +0,0 @@ --Yinfer-by-name -deprecation diff --git a/test/files/run/t7899-regression.scala b/test/files/run/t7899-regression.scala deleted file mode 100644 index 67d38cdd1d..0000000000 --- a/test/files/run/t7899-regression.scala +++ /dev/null @@ -1,24 +0,0 @@ -import language.higherKinds - -object Test { - trait Monad[M[_]] { - def foo[A](ma: M[A])(f: M[A] => Any) = f(ma) - } - implicit def function1Covariant[T]: Monad[({type l[a] = (T => a)})#l] = - new Monad[({type l[a] = (T => a)})#l] {} - - def main(args: Array[String]) { - // inference of T = (=> Any) here was outlawed by SI-7899 / 8ed7099 - // but this pattern is used in Scalaz in just a few places and caused - // a regression. - // - // Inference of a by-name type doesn't *always* lead to a ClassCastException, - // it only gets there if a method in generic code accepts a parameter of - // that type. - // - // We need to introduce the stricter inference rules gradually, probably - // with a warning. - val m = implicitly[Monad[({type f[+x] = (=> Any) => x})#f]] - assert(m.foo[Int]((x => 0))(f => f(???)) == 0) - } -} |