diff options
author | Paul Phillips <paulp@improving.org> | 2012-02-10 03:51:36 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-02-10 03:59:48 -0800 |
commit | a209868820942c1f5b6333d2a0604c7a63b7d0d1 (patch) | |
tree | 5093fbca86518d70d4212866ee7424cb6a06b16f /test | |
parent | 34233f031e04d4dc2756682a5e6b67e1e9295840 (diff) | |
download | scala-a209868820942c1f5b6333d2a0604c7a63b7d0d1.tar.gz scala-a209868820942c1f5b6333d2a0604c7a63b7d0d1.tar.bz2 scala-a209868820942c1f5b6333d2a0604c7a63b7d0d1.zip |
Failing tests for pending.
Diffstat (limited to 'test')
-rw-r--r-- | test/pending/pos/t5259.scala | 14 | ||||
-rw-r--r-- | test/pending/pos/t5399.scala | 15 | ||||
-rw-r--r-- | test/pending/pos/t5400.scala | 14 |
3 files changed, 43 insertions, 0 deletions
diff --git a/test/pending/pos/t5259.scala b/test/pending/pos/t5259.scala new file mode 100644 index 0000000000..317e28a9dc --- /dev/null +++ b/test/pending/pos/t5259.scala @@ -0,0 +1,14 @@ +object DefaultArgBogusTypeMismatch { + + class A[T] + class B { + type T = this.type + def m(implicit a : A[T] = new A[T]) = a + } + + def newB = new B + val a1 = newB.m // Bogus type mismatch + + val stableB = new B + val a2 = stableB.m // OK +} diff --git a/test/pending/pos/t5399.scala b/test/pending/pos/t5399.scala new file mode 100644 index 0000000000..d8c1d5e51c --- /dev/null +++ b/test/pending/pos/t5399.scala @@ -0,0 +1,15 @@ +class Test { + type AnyCyclic = Execute[Task]#CyclicException[_] + + trait Task[T] + + trait Execute[A[_] <: AnyRef] { + class CyclicException[T](val caller: A[T], val target: A[T]) + } + + def convertCyclic(c: AnyCyclic): String = + (c.caller, c.target) match { + case (caller: Task[_], target: Task[_]) => "bazinga!" + } +} + diff --git a/test/pending/pos/t5400.scala b/test/pending/pos/t5400.scala new file mode 100644 index 0000000000..cb4be4bde5 --- /dev/null +++ b/test/pending/pos/t5400.scala @@ -0,0 +1,14 @@ +trait TFn1B { + type In + type Out + type Apply[T <: In] <: Out +} + +trait TFn1[I, O] extends TFn1B { + type In = I + type Out = O +} + +trait >>[F1 <: TFn1[_, _], F2 <: TFn1[_, _]] extends TFn1[F1#In, F2#Out] { + type Apply[T] = F2#Apply[F1#Apply[T]] +} |