aboutsummaryrefslogtreecommitdiff
path: root/tests/untried/neg-with-implicits/implicits.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/untried/neg-with-implicits/implicits.scala')
-rw-r--r--tests/untried/neg-with-implicits/implicits.scala74
1 files changed, 74 insertions, 0 deletions
diff --git a/tests/untried/neg-with-implicits/implicits.scala b/tests/untried/neg-with-implicits/implicits.scala
new file mode 100644
index 000000000..22633a1f3
--- /dev/null
+++ b/tests/untried/neg-with-implicits/implicits.scala
@@ -0,0 +1,74 @@
+class Pos
+
+class Super
+
+object Super {
+ implicit def pos2int(p: Pos): Int = 0
+}
+
+object Sub extends Super {
+ class Plus(x: Any) {
+ def +(y: String): String = x.toString + y
+ }
+ implicit def any2plus(x: Any): Plus = new Plus(x)
+}
+
+object Test {
+ import Super._
+ import Sub._
+ val p = new Pos
+ def f(x: Int): Int = x
+ f(p+1)
+}
+
+object test2 {
+ sealed trait HMap {
+ def +[T](v: T) = HSome(v,this)
+ }
+
+ final case class HSome[T, L <: HMap](head: T, tail: L) extends HMap
+
+ final object HEmpty extends HMap
+
+ val set = HEmpty + 3 + "3"
+ implicit def select[T](t: HSome[T,_]) = t.head
+ implicit def selectTail[L](t: HSome[_,L]) = t.tail
+
+ def foo(x: Int) = 3
+ foo(set)
+}
+
+// #2180
+class Mxml {
+
+ private def processChildren( children:Seq[Any] ):List[Mxml] = {
+
+ children.toList.flatMap ( e => {
+
+ e match {
+
+ case s:scala.collection.Traversable[_] => s case a => List(a)
+
+ }
+
+ })
+
+ }
+
+}
+
+// SI-5316
+class Test3 {
+ def foo(p: => Any)(implicit x: Nothing): Unit = ()
+
+ object X
+
+ foo {
+ val a = 0
+
+ {
+ import X._
+ a
+ }
+ }
+}