// known-bug: #104800 #![feature(dyn_star, trait_upcasting)] trait Foo: Bar { fn hello(&self); } trait Bar { fn world(&self); } struct W(usize); impl Foo for W { fn hello(&self) { println!("hello!"); } } impl Bar for W { fn world(&self) { println!("world!"); } } fn main() { let w: dyn* Foo = W(0); w.hello(); let w: dyn* Bar = w; w.world(); }