Closed
Description
trait A {
fn foo();
}
trait B: A {
}
struct BImpl {
unused: int
}
impl BImpl: B {
}
impl BImpl: A {
fn foo() {}
}
struct CImpl {
b: B
}
impl CImpl: A {
fn foo() {
self.b.foo();
}
}
fn main() {
let b = BImpl { unused: 0 } as B;
let c = CImpl { b: b };
c.foo();
}
[jdm@rosencrantz traitinheritance]$ rustc test2.rs
test2.rs:25:8: 25:21 error: type `@B` does not implement any method in scope named `foo`
test2.rs:25 self.b.foo();
^~~~~~~~~~~~~