| #![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() {} |