//@ 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(); | |
} |