Aladdin - Scala Bugtracking
[#473] project: nsc priority: low category: bug
submitter assigned to status date submitted
Iulian Martin fixed 2005-11-04 11:25:45.0
subject Wrong routing of super calls in mixins
code
  class A {
    def f = "A::f";
  }

  trait M1 extends A {
    override def f = "M1::" + super.f;
  }

  class C extends A with M1 {
    override def f = super[M1].f;
  }
what happened
C.f will cause infinite recursion, as it is translated as:

    override def f(): java.lang.String = Test1$C.this.f();

what expected override def f(): java.lang.String = Test1$M1$class.f(Test1$C.this);
[back to overview]
Changes of this bug report
Martin  edited on  2005-11-04 18:24:12.0