|
[#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] |