diff options
author | Paul Phillips <paulp@improving.org> | 2013-06-03 21:23:30 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-06-03 21:23:30 -0700 |
commit | 278305a7f60c46515c2133d11f7c561e972ef705 (patch) | |
tree | 12062d7a8fce298bc5bbdb7b83fe8c930d18282b /test/files/pos | |
parent | a04977736c007fc7976c10c7fa5c74ae67902b92 (diff) | |
download | scala-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.scala | 8 | ||||
-rw-r--r-- | test/files/pos/t2994c.scala | 8 | ||||
-rw-r--r-- | test/files/pos/t7517.scala | 22 |
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) - } -} |