Aladdin - Scala Bugtracking
[#690] project: compiler priority: low category: bug
submitter assigned to status date submitted
Sean Martin fixed 2006-08-04 16:44:21.0
subject Bound type aliases in super calls broken
code
package test;
trait test {
  type T;
  trait Manager {
    type T <: test.this.T;
    def foo(t : T) = {};
  }
  object M0 extends Manager {
    override type T = test.this.T;
    def foo(t : T) = super.foo(t);
  }
  def t : T;
  M0.foo(t);  
}

what happened
type mismatch;
found   : test.this.T
required: M0.this.T

(for super.foo(t) call)
what expected no type error. Note that calling foo with an other T outside of M0 works if M0 does not override foo (same call as the rejected super call).
[back to overview]
Changes of this bug report
Martin  edited on  2006-08-21 22:07:53.0