diff options
Diffstat (limited to 'test/files/neg/bug608.scala')
-rw-r--r-- | test/files/neg/bug608.scala | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/files/neg/bug608.scala b/test/files/neg/bug608.scala new file mode 100644 index 0000000000..24f515651a --- /dev/null +++ b/test/files/neg/bug608.scala @@ -0,0 +1,17 @@ +trait CrashDueToTypeError { + def id[a](x :a) :a = x + + 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; } + } + + 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)) +} |