summaryrefslogtreecommitdiff
path: root/test/files/pos/t9475.scala
diff options
context:
space:
mode:
authorVlad Ureche <vlad.ureche@gmail.com>2015-09-17 06:30:56 +0200
committerVlad Ureche <vlad.ureche@gmail.com>2015-09-17 06:30:56 +0200
commitfe45005fe9e4fa9db8e76dd5ba0c660028ec0509 (patch)
tree24047c8d12f411f8ae3eb93c39b2e4f14c2d9536 /test/files/pos/t9475.scala
parent224efebaf17e2bb91bd89348f63bb0905dc72288 (diff)
downloadscala-fe45005fe9e4fa9db8e76dd5ba0c660028ec0509.tar.gz
scala-fe45005fe9e4fa9db8e76dd5ba0c660028ec0509.tar.bz2
scala-fe45005fe9e4fa9db8e76dd5ba0c660028ec0509.zip
SI-9475 Dependent PolyTypes are dependent types
Such that uncurry can correctly un-dependify them.
Diffstat (limited to 'test/files/pos/t9475.scala')
-rw-r--r--test/files/pos/t9475.scala19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/files/pos/t9475.scala b/test/files/pos/t9475.scala
new file mode 100644
index 0000000000..ce9c250ace
--- /dev/null
+++ b/test/files/pos/t9475.scala
@@ -0,0 +1,19 @@
+trait Ctx {
+ trait Tree
+}
+
+trait Lst[+A] {
+ def zip[A1 >: A, B](that: Lst[B]): Nothing
+}
+
+object Test {
+
+ // both of these methods should be transformed by uncurry
+ // such that List[c.Tree] becomes List[Ctx#Tree]:
+ def foo1(c: Ctx)(l: Lst[c.Tree]) = l zip l
+ def foo2[@specialized T](c: Ctx)(l: Lst[c.Tree], t: T) = l zip l
+
+ // if this doesn't happen for the 2nd method, the specialization
+ // transformation fails
+}
+