summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-01-21 05:18:54 -0800
committerPaul Phillips <paulp@improving.org>2012-01-21 05:18:54 -0800
commite94035c6a6305b4a8c07c690a316008787aca7b1 (patch)
tree2418dc6c905a8072661b57d80d9813a39d2723c9 /test
parent5a711d7a41c6fe68c5b145b0df7c1a589ba6ea73 (diff)
parent2e092d4822d044312317c502badd8ad5c2674b58 (diff)
downloadscala-e94035c6a6305b4a8c07c690a316008787aca7b1.tar.gz
scala-e94035c6a6305b4a8c07c690a316008787aca7b1.tar.bz2
scala-e94035c6a6305b4a8c07c690a316008787aca7b1.zip
Merge remote-tracking branches 'retronym/ticket/5072' and 'odersky/topic/t5120' into develop
Diffstat (limited to 'test')
-rw-r--r--test/files/pos/t5120.scala26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/files/pos/t5120.scala b/test/files/pos/t5120.scala
new file mode 100644
index 0000000000..2c193d129d
--- /dev/null
+++ b/test/files/pos/t5120.scala
@@ -0,0 +1,26 @@
+// An example extracted from SBT by Iulian
+// that showed that the previous fix to t5120
+// was too strict.
+class Test {
+ class ScopedKey[T]
+ class Value[T]
+
+ class Compiled[T](val settings: Seq[Pair[T]])
+
+ case class Pair[T](k: ScopedKey[T], v: ScopedKey[T])
+
+ def transform[T](x: T) = x
+
+ def test(compiledSettings: Seq[Compiled[_]]) = {
+ compiledSettings flatMap { cs => // cd: Compiled[_] in both versions
+ (cs.settings map { s => // cs.settings: Seq[Compiled[$1]] in trunk, Seq[Compiled[$1]] forSome $1 in 2.9.1
+ // s: Pair[$1] in trunk, Pair[$1] in 2.9.1
+ val t = transform(s.v) // t: ScopedKey[_] in trunk, ScopedKey[$1] in 2.9.1
+ foo(s.k, t)
+ t
+ }) : Seq[ScopedKey[_]]
+ }
+ }
+
+ def foo[T](x: ScopedKey[T], v: ScopedKey[T]) {}
+}