summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2012-11-01 12:06:20 -0700
committerAdriaan Moors <adriaan.moors@typesafe.com>2012-11-01 12:06:20 -0700
commitea3b00e208b0df2deab22da57d28e17377e46e46 (patch)
treeaba630e00116ba8400418fa14d1af39d531f1f30 /test
parent64e60035f6eb8436ba516ca8378decbb8ea01abe (diff)
parentfb6e68713060e7904a7d93012470a946ca7e2375 (diff)
downloadscala-ea3b00e208b0df2deab22da57d28e17377e46e46.tar.gz
scala-ea3b00e208b0df2deab22da57d28e17377e46e46.tar.bz2
scala-ea3b00e208b0df2deab22da57d28e17377e46e46.zip
Merge pull request #1542 from adriaanm/odersky-ticket/6556v2
SI-6556 no assert for surprising ctor result type
Diffstat (limited to 'test')
-rw-r--r--test/files/pos/t6556.scala32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/files/pos/t6556.scala b/test/files/pos/t6556.scala
new file mode 100644
index 0000000000..e1a6f49b86
--- /dev/null
+++ b/test/files/pos/t6556.scala
@@ -0,0 +1,32 @@
+package nl.ndervorst.commons.scalapimps
+
+trait Adapter[X] {self =>
+ type This = self.type
+ val adaptee: X
+ val adapt: This = self
+}
+
+object Adapter {
+ implicit def adaptee[Adaptee](adapter: Adapter[Adaptee]) = adapter.adaptee
+}
+
+
+
+object IterableW {
+ def zipMerge[E](it1: Iterable[E], it2: Iterable[E])(implicit o: Ordering[E]): Iterable[(Option[E], Option[E])] = null
+}
+
+
+class Series[X: Ordering, Y](val adaptee: Iterable[(X, Y)]) extends Adapter[Iterable[(X, Y)]] {
+ val order = implicitly[Ordering[X]]
+ def zipMerge(other: Series[X, Y]): Series[X, (Option[Y], Option[Y])] = IterableW.zipMerge(this, other)(new Ordering[(X, Y)] {
+ def compare(xy1: (X, Y), xy2: (X, Y)) = order.compare(xy1._1, xy2._1)
+ }).map {
+ case _ => null
+ }
+}
+
+
+object Series {
+ implicit def wrap[X: Ordering, Y](itble: Iterable[(X, Y)]): Series[X, Y] = new Series(itble)
+}