summaryrefslogtreecommitdiff
path: root/test/files/pos
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2013-06-03 21:23:30 -0700
committerPaul Phillips <paulp@improving.org>2013-06-03 21:23:30 -0700
commit278305a7f60c46515c2133d11f7c561e972ef705 (patch)
tree12062d7a8fce298bc5bbdb7b83fe8c930d18282b /test/files/pos
parenta04977736c007fc7976c10c7fa5c74ae67902b92 (diff)
downloadscala-278305a7f60c46515c2133d11f7c561e972ef705.tar.gz
scala-278305a7f60c46515c2133d11f7c561e972ef705.tar.bz2
scala-278305a7f60c46515c2133d11f7c561e972ef705.zip
Revert "SI-7517 type constructors too eagerly normalized."
This reverts commit 14534c693d2eb6acafaf8244c14b5643388fbd67. It turns out this approach was breaking the working variations in the submitted test case even as it was unbreaking the unworking one, but I never managed to uncomment them. Fortunately retronym's test case was not so lackadaisical.
Diffstat (limited to 'test/files/pos')
-rw-r--r--test/files/pos/t2994a.scala8
-rw-r--r--test/files/pos/t2994c.scala8
-rw-r--r--test/files/pos/t7517.scala22
3 files changed, 5 insertions, 33 deletions
diff --git a/test/files/pos/t2994a.scala b/test/files/pos/t2994a.scala
index 15456991d0..f2d57c34ca 100644
--- a/test/files/pos/t2994a.scala
+++ b/test/files/pos/t2994a.scala
@@ -17,9 +17,11 @@ object Naturals {
type _5 = SUCC[_4]
type _6 = SUCC[_5]
- // crashes scala-2.8.0 beta1
+
+ // crashes scala-2.8.0 beta1
trait MUL[n <: NAT, m <: NAT] extends NAT {
- trait curry[ n[ m[x1 <: NAT], x2 <: NAT], s[x3 <: NAT] ] { type f[z <: NAT] = n[s, z] }
+ trait curry[n[_[_], _], s[_]] { type f[z <: NAT] = n[s, z] }
type a[s[_ <: NAT] <: NAT, z <: NAT] = n#a[curry[m#a, s]#f, z]
}
-}
+
+} \ No newline at end of file
diff --git a/test/files/pos/t2994c.scala b/test/files/pos/t2994c.scala
deleted file mode 100644
index 1ad3655c89..0000000000
--- a/test/files/pos/t2994c.scala
+++ /dev/null
@@ -1,8 +0,0 @@
-object Test {
- trait Bar[X[_]]
- trait Qux[S[_] <: Bar[S], T]
- trait Baz[S[_] <: Bar[S]] {
- type Apply[T] = Qux[S,T]
- }
- trait Foo[/**/V[_] <: Bar[V]/**/] extends Bar[Baz[V]#Apply]
-}
diff --git a/test/files/pos/t7517.scala b/test/files/pos/t7517.scala
deleted file mode 100644
index 29bd0936ce..0000000000
--- a/test/files/pos/t7517.scala
+++ /dev/null
@@ -1,22 +0,0 @@
-trait Box[ K[A[x]] ]
-
-object Box {
- // type constructor composition
- sealed trait ∙[A[_], B[_]] { type l[T] = A[B[T]] }
-
- // composes type constructors inside K
- type SplitBox[K[A[x]], B[x]] = Box[ ({ type l[A[x]] = K[ (A ∙ B)#l] })#l ]
-
- def split[ K[A[x]], B[x] ](base: Box[K]): SplitBox[K,B] = ???
-
- class Composed[B[_], K[A[x]] ] {
- val box: Box[K] = ???
-
- type Split[ A[x] ] = K[ (A ∙ B)#l ]
- val a: Box[Split] = Box.split(box)
-
- //Either of these work:
- //val a: Box[Split] = Box.split[K,B](box)
- //val a: Box[ ({ type l[A[x]] = K[ (A ∙ B)#l ] })#l ] = Box.split(box)
- }
-}