summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2013-01-06 14:33:50 -0800
committerPaul Phillips <paulp@improving.org>2013-01-06 14:33:50 -0800
commit649c27843d7e29b010c0132ce6b6f1342046fad2 (patch)
tree9d14786c7aad47d3502ee6d2200bdf7ce0a20525
parent1fed72948829b3411e8b89f70063b3771d77348e (diff)
parent340529410696da2e5110d49a5a8d19572bf272ba (diff)
downloadscala-649c27843d7e29b010c0132ce6b6f1342046fad2.tar.gz
scala-649c27843d7e29b010c0132ce6b6f1342046fad2.tar.bz2
scala-649c27843d7e29b010c0132ce6b6f1342046fad2.zip
Merge pull request #1834 from paulp/issue/6897
SI-6897, lubs and varargs star.
-rw-r--r--src/reflect/scala/reflect/internal/Types.scala5
-rw-r--r--test/files/pos/t6897.scala6
2 files changed, 10 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/internal/Types.scala b/src/reflect/scala/reflect/internal/Types.scala
index 119a57d268..bfd18f6a43 100644
--- a/src/reflect/scala/reflect/internal/Types.scala
+++ b/src/reflect/scala/reflect/internal/Types.scala
@@ -6801,7 +6801,10 @@ trait Types extends api.Types { self: SymbolTable =>
else lubBase
}
}
- existentialAbstraction(tparams, lubType)
+ // dropRepeatedParamType is a localized fix for SI-6897. We should probably
+ // integrate that transformation at a lower level in master, but lubs are
+ // the likely and maybe only spot they escape, so fixing here for 2.10.1.
+ existentialAbstraction(tparams, dropRepeatedParamType(lubType))
}
if (printLubs) {
println(indent + "lub of " + ts + " at depth "+depth)//debug
diff --git a/test/files/pos/t6897.scala b/test/files/pos/t6897.scala
new file mode 100644
index 0000000000..a7a03a1d3a
--- /dev/null
+++ b/test/files/pos/t6897.scala
@@ -0,0 +1,6 @@
+class A {
+ val html = (null: Any) match {
+ case 1 => <xml:group></xml:group>
+ case 2 => <p></p>
+ }
+}