auto merge of #9464 : bmaxa/rust/master, r=cmr
I have tried this fix and it seems to work either with single or multiple trait inheritance. trait Base:Base2 + Base3{ fn foo(&self); } trait Base2 { fn baz(&self); } trait Base3{ fn root(&self); } trait Super: Base{ fn bar(&self); } struct X; impl Base for X { fn foo(&self) { println("base foo"); } } impl Base2 for X { fn baz(&self) { println("base2 baz"); } } impl Base3 for X { fn root(&self) { println("base3 root"); } } impl Super for X { fn bar(&self) { println("super bar"); } } fn main() { let n = X; let s = &n as &Super; s.bar(); s.foo(); // super bar s.baz(); s.root(); } bmaxa@maxa:~/examples/rust$ rustc error.rs bmaxa@maxa:~/examples/rust$ ./error super bar base foo base2 baz base3 root
Showing
想要评论请 注册 或 登录