summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/files/pos/bug604.scala8
-rw-r--r--test/files/pos/bug608.scala17
2 files changed, 25 insertions, 0 deletions
diff --git a/test/files/pos/bug604.scala b/test/files/pos/bug604.scala
new file mode 100644
index 0000000000..fb90d5ae31
--- /dev/null
+++ b/test/files/pos/bug604.scala
@@ -0,0 +1,8 @@
+object Test
+{
+ type T = Foo.type
+ object Foo
+
+ def main(argv : Array[String]) : Unit = {
+ }
+}
diff --git a/test/files/pos/bug608.scala b/test/files/pos/bug608.scala
new file mode 100644
index 0000000000..24f515651a
--- /dev/null
+++ b/test/files/pos/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))
+}