| #![feature(rustc_attrs)] | |
| // O --> G --> C --> A | |
| // \ \ \-> B | |
| // | |-> F --> D | |
| // | \-> E | |
| // |-> N --> J --> H | |
| // \ \-> I | |
| // |-> M --> K | |
| // \-> L | |
| trait A { | |
| fn foo_a(&self) {} | |
| } | |
| trait B { | |
| fn foo_b(&self) {} | |
| } | |
| trait C: A + B { | |
| fn foo_c(&self) {} | |
| } | |
| trait D { | |
| fn foo_d(&self) {} | |
| } | |
| trait E { | |
| fn foo_e(&self) {} | |
| } | |
| trait F: D + E { | |
| fn foo_f(&self) {} | |
| } | |
| trait G: C + F { | |
| fn foo_g(&self) {} | |
| } | |
| trait H { | |
| fn foo_h(&self) {} | |
| } | |
| trait I { | |
| fn foo_i(&self) {} | |
| } | |
| trait J: H + I { | |
| fn foo_j(&self) {} | |
| } | |
| trait K { | |
| fn foo_k(&self) {} | |
| } | |
| trait L { | |
| fn foo_l(&self) {} | |
| } | |
| trait M: K + L { | |
| fn foo_m(&self) {} | |
| } | |
| trait N: J + M { | |
| fn foo_n(&self) {} | |
| } | |
| trait O: G + N { | |
| fn foo_o(&self) {} | |
| } | |
| struct S; | |
| #[rustc_dump_vtable] | |
| impl A for S {} | |
| //~^ ERROR vtable entries | |
| #[rustc_dump_vtable] | |
| impl B for S {} | |
| //~^ ERROR vtable entries | |
| #[rustc_dump_vtable] | |
| impl C for S {} | |
| //~^ ERROR vtable entries | |
| #[rustc_dump_vtable] | |
| impl D for S {} | |
| //~^ ERROR vtable entries | |
| #[rustc_dump_vtable] | |
| impl E for S {} | |
| //~^ ERROR vtable entries | |
| #[rustc_dump_vtable] | |
| impl F for S {} | |
| //~^ ERROR vtable entries | |
| #[rustc_dump_vtable] | |
| impl G for S {} | |
| //~^ ERROR vtable entries | |
| #[rustc_dump_vtable] | |
| impl H for S {} | |
| //~^ ERROR vtable entries | |
| #[rustc_dump_vtable] | |
| impl I for S {} | |
| //~^ ERROR vtable entries | |
| #[rustc_dump_vtable] | |
| impl J for S {} | |
| //~^ ERROR vtable entries | |
| #[rustc_dump_vtable] | |
| impl K for S {} | |
| //~^ ERROR vtable entries | |
| #[rustc_dump_vtable] | |
| impl L for S {} | |
| //~^ ERROR vtable entries | |
| #[rustc_dump_vtable] | |
| impl M for S {} | |
| //~^ ERROR vtable entries | |
| #[rustc_dump_vtable] | |
| impl N for S {} | |
| //~^ ERROR vtable entries | |
| #[rustc_dump_vtable] | |
| impl O for S {} | |
| //~^ ERROR vtable entries | |
| fn main() {} |