aboutsummaryrefslogtreecommitdiff
path: root/tests/pos
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pos')
-rw-r--r--tests/pos/t0786.scala2
-rw-r--r--tests/pos/typerep-stephane.scala48
-rw-r--r--tests/pos/viewtest1.scala42
3 files changed, 1 insertions, 91 deletions
diff --git a/tests/pos/t0786.scala b/tests/pos/t0786.scala
index b320de0ed..9346afdff 100644
--- a/tests/pos/t0786.scala
+++ b/tests/pos/t0786.scala
@@ -15,7 +15,7 @@ object ImplicitProblem {
def eval = f(nullval[T]).eval + 1
}
- def depth[T](n: T)(implicit ev: T => Rep[T]) = n.eval
+ def depth[T](n: T)(implicit ev: T => Rep[T]) = ev(n).eval
def main(args: Array[String]): Unit = {
println(depth(nullval[M[Int]])) // (1) this works
diff --git a/tests/pos/typerep-stephane.scala b/tests/pos/typerep-stephane.scala
deleted file mode 100644
index 2cb899591..000000000
--- a/tests/pos/typerep-stephane.scala
+++ /dev/null
@@ -1,48 +0,0 @@
-object typerep {
-
- class TypeRep[T] {
- def getType: TypeRep[T] = this
- }
-
- object BooleanRep extends TypeRep[Boolean] {
- override def toString = "Boolean"
- }
- object CharRep extends TypeRep[Char] {
- override def toString = "Char"
- }
- object IntRep extends TypeRep[Int] {
- override def toString = "Int"
- }
- object LongRep extends TypeRep[Long] {
- override def toString = "Long"
- }
- object FloatRep extends TypeRep[Float] {
- override def toString = "Float"
- }
- object DoubleRep extends TypeRep[Double] {
- override def toString = "Double"
- }
- class ListRep[U, T <: List[U]](val elemRep: TypeRep[U]) extends TypeRep[T] {
- override def toString = "List[" + elemRep + "]"
- }
-
- implicit def typeRep(x: Boolean): TypeRep[Boolean] = BooleanRep
- implicit def typeRep(x: Char ): TypeRep[Char ] = CharRep
- implicit def typeRep(x: Long ): TypeRep[Long ] = LongRep
- implicit def typeRep(x: Float ): TypeRep[Float ] = FloatRep
- implicit def typeRep(x: Double ): TypeRep[Double ] = DoubleRep
- implicit def typeRep(x: Int ): TypeRep[Int ] = IntRep
-/*
- implicit def typeRep[T](xs: List[T])(implicit rep: T => TypeRep[T]): TypeRep[List[T]] =
- new ListRep(rep(xs.head))
-*/
- implicit def typeRep[T <% TypeRep[T]](xs: List[T]): TypeRep[List[T]] =
- new ListRep(xs.head)
-
-}
-
-object test extends App {
- import typerep._
- println(3.getType)
- println(List(3).getType)
-}
diff --git a/tests/pos/viewtest1.scala b/tests/pos/viewtest1.scala
deleted file mode 100644
index 38945ad2f..000000000
--- a/tests/pos/viewtest1.scala
+++ /dev/null
@@ -1,42 +0,0 @@
-package test
-
-trait Ordered[a] {
- def < (x: a): Boolean
-}
-
-object O {
- implicit def view (x: String): Ordered[String] = new Ordered[String] {
- def < (y: String) = x.compareTo(y) < 0
- }
-}
-
-object Empty extends Tree[Nothing]
-case class Node[c <% Ordered[c]](elem: c, l: Tree[c], r: Tree[c]) extends Tree[c]
-
-abstract class Tree[+a <% Ordered[a]] {
- def insert[b >: a <% Ordered[b]](x: b): Tree[b] = this match {
- case Empty =>
- new Node(x, Empty, Empty)
- case Node(elem, l, r) =>
- if (x == elem) this
- else if (x < elem) Node(elem, l insert x, r)
- else Node(elem, l, r insert x)
- }
- def elements: List[a] = this match {
- case Empty => List()
- case Node(elem, l, r) =>
- l.elements ::: List(elem) ::: r.elements
- }
-}
-
-object Test {
- import O.view
-
- def main(args: Array[String]): Unit = {
- var t: Tree[String] = Empty
- for (s <- args) {
- t = t insert s
- }
- println(t.elements)
- }
-}