summaryrefslogtreecommitdiff
path: root/test/pending/pos/t5685b.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/pending/pos/t5685b.scala')
-rw-r--r--test/pending/pos/t5685b.scala23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/pending/pos/t5685b.scala b/test/pending/pos/t5685b.scala
new file mode 100644
index 0000000000..18ff803f89
--- /dev/null
+++ b/test/pending/pos/t5685b.scala
@@ -0,0 +1,23 @@
+trait X[+A] {
+ def x: A
+}
+
+trait XPrint[+A] extends X[A] {
+ abstract override def x: A = {
+ val a = super.x
+ println(a)
+ a
+ }
+}
+
+trait F[-A, +B] { outer =>
+ def apply(xv: X[A]): X[B]
+
+ def andThen[C](f: F[B, C]): F[A, C] = new F[A, C] {
+ def apply(xv: X[A]): X[C] = f(new XX(xv) with XPrint[B])
+ }
+
+ class XX(xv: X[A]) extends X[B] {
+ def x = outer(xv).x
+ }
+}