summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-01-28 23:15:27 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-01-28 23:15:27 -0800
commiteff78b852e8b866badf9b9738f896c2a31c05474 (patch)
tree6e43366c738b56cfbf74c621a7672f2f4b52e2aa /test/files
parentd392d56d6bf8b0ae9072b354e4ec68becd0df679 (diff)
parentb8da00ef01d06ff8588813c7f392679f19b0d374 (diff)
downloadscala-eff78b852e8b866badf9b9738f896c2a31c05474.tar.gz
scala-eff78b852e8b866badf9b9738f896c2a31c05474.tar.bz2
scala-eff78b852e8b866badf9b9738f896c2a31c05474.zip
Merge pull request #1981 from retronym/backport/1187
[backport] SI-3577 BoundedWildcardType handling
Diffstat (limited to 'test/files')
-rw-r--r--test/files/pos/t3577.scala29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/files/pos/t3577.scala b/test/files/pos/t3577.scala
new file mode 100644
index 0000000000..80a280f67a
--- /dev/null
+++ b/test/files/pos/t3577.scala
@@ -0,0 +1,29 @@
+case class Check[A](val value: A)
+
+case class C2(checks: Check[_]*);
+
+object C {
+ def m(x : C2): Any = (null: Any) match {
+ case C2(_, rest @ _*) => {
+ rest.map(_.value)
+ }
+ }
+}
+
+///////////////////
+
+object Container {
+ trait Exp[+T]
+ abstract class FuncExp[-S, +T]
+
+ sealed abstract class FoundNode[T, Repr] {
+ def optimize[TupleT, U, That](parentNode: FlatMap[T, Repr, U, That]): Any
+ def optimize2[TupleT, U, That](parentNode: Any): Any
+ }
+
+ class FlatMap[T, Repr, U, That]
+
+ val Seq(fn: FoundNode[t, repr]) = Seq[FoundNode[_, _]]()
+ fn.optimize(null) // was: scala.MatchError: ? (of class BoundedWildcardType) @ Variances#varianceInType
+ fn.optimize2(null) // was: fatal error: bad type: ?(class scala.reflect.internal.Types$BoundedWildcardType) @ Pickle.putType
+}