diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2009-11-25 09:20:26 +0000 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2009-11-25 09:20:26 +0000 |
commit | b059cbd155aec675b40a2a54f18bb127f17fcf37 (patch) | |
tree | 9d02d0067ac0b40518d24126e3cbd3eb68ea69cb /test/files/neg | |
parent | 6f4a561df2973cd48241ff4389e3ddf137c141f5 (diff) | |
download | scala-b059cbd155aec675b40a2a54f18bb127f17fcf37.tar.gz scala-b059cbd155aec675b40a2a54f18bb127f17fcf37.tar.bz2 scala-b059cbd155aec675b40a2a54f18bb127f17fcf37.zip |
closed #2624: instantiate type params after eta...
closed #2624: instantiate type params after eta expansion of polymorphic
method does not blow the stack on pos/t0674 (previous private fix did
typed(tree); instantiate(tree) instead of instantiate(typed(tree)))
fixed check file for neg/bug608 -- got better error message
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/bug608.check | 8 | ||||
-rw-r--r-- | test/files/neg/bug608.scala | 24 |
2 files changed, 16 insertions, 16 deletions
diff --git a/test/files/neg/bug608.check b/test/files/neg/bug608.check index 4e8eb4d709..a8e32e4c10 100644 --- a/test/files/neg/bug608.check +++ b/test/files/neg/bug608.check @@ -1,6 +1,6 @@ bug608.scala:16: error: type mismatch; - found : (a) => a - required: (ha) => ? - = g(f(x).bimap(id)) - ^ + found : hs{type a = ha} + required: hs{type s = hs; type a = ha} + = g(f(x).bimap(id)) + ^ one error found diff --git a/test/files/neg/bug608.scala b/test/files/neg/bug608.scala index 24f515651a..34dc4c0352 100644 --- a/test/files/neg/bug608.scala +++ b/test/files/neg/bug608.scala @@ -1,17 +1,17 @@ trait CrashDueToTypeError { - def id[a](x :a) :a = x + def id[a](x :a) :a = x - trait Bifunctor { - type a; // content - type s <: Bifunctor + trait Bifunctor { + type a; // content + type s <: Bifunctor - // uncomment this-vvvvvvvvvvvvvvvvvvvvvvvvvvvv, and it compiles - def bimap[c](f :a=>c) :s{/*type s=Bifunctor.this.s;*/type a=c; } - } + // uncomment this-vvvvvvvvvvvvvvvvvvvvvvvvvvvv, and it compiles + def bimap[c](f :a=>c) :s{/*type s=Bifunctor.this.s;*/type a=c; } + } - def hylo[hs <: Bifunctor,ha,hb,hc] - (f :hb=>hs{type s=hs; type a=ha}, - g :hs{type s=hs; type a=ha}=>hc)(x :hb) - :hc - = g(f(x).bimap(id)) + def hylo[hs <: Bifunctor,ha,hb,hc] + (f :hb=>hs{type s=hs; type a=ha}, + g :hs{type s=hs; type a=ha}=>hc)(x :hb) + :hc + = g(f(x).bimap(id)) } |