aboutsummaryrefslogtreecommitdiff
path: root/tests/pending/pos/t3177.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pending/pos/t3177.scala')
-rw-r--r--tests/pending/pos/t3177.scala39
1 files changed, 0 insertions, 39 deletions
diff --git a/tests/pending/pos/t3177.scala b/tests/pending/pos/t3177.scala
deleted file mode 100644
index 12dfce6ee..000000000
--- a/tests/pending/pos/t3177.scala
+++ /dev/null
@@ -1,39 +0,0 @@
-trait InvariantFunctor[F[_]] {
- def xmap[A, B](ma: F[A], f: A => B, g: B => A): F[B]
-}
-
-object InvariantFunctor {
- import Endo._
-
- implicit val EndoInvariantFunctor: InvariantFunctor[Endo] = new InvariantFunctor[Endo] {
- def xmap[A, B](ma: Endo[A], f: A => B, g: B => A): Endo[B] = (b: B) => f(ma(g(b)))
- }
-
- // The definition about fails with:
- // anon-type.scala:9: error: not found: value b
- // def xmap[A, B](ma: Endo[A], f: A => B, g: B => A): Endo[B] = (b: B) => f(ma(g(b)))
- // ^
- // anon-type.scala:8: error: not found: type $anon
- // implicit val EndoInvariantFunctor = new InvariantFunctor[Endo] {
- // ^
-
-
- // These both work:
- // implicit val EndoInvariantFunctorAscribed: InvariantFunctor[Endo] = new InvariantFunctor[Endo] {
- // def xmap[A, B](ma: Endo[A], f: A => B, g: B => A): Endo[B] = (b: B) => f(ma(g(b)))
- // }
- //
- // implicit val EndoInvariantFunctorStubbed = new InvariantFunctor[Endo] {
- // def xmap[A, B](ma: Endo[A], f: A => B, g: B => A): Endo[B] = error("stub")
- // }
-}
-
-trait Endo[X]
-
-object Endo {
- implicit def EndoTo[A](f: A => A): Endo[A] = new Endo[A] {
- def apply(a: A) = f(a)
- }
-
- implicit def EndoFrom[A](e: Endo[A]): A => A = e.apply(_)
-}