//@ run-pass | |
fn f(x: Box<isize>) { | |
let y: &isize = &*x; | |
println!("{}", *x); | |
println!("{}", *y); | |
} | |
trait Trait { | |
fn printme(&self); | |
} | |
struct Struct; | |
impl Trait for Struct { | |
fn printme(&self) { | |
println!("hello world!"); | |
} | |
} | |
fn g(x: Box<dyn Trait>) { | |
x.printme(); | |
let y: &dyn Trait = &*x; | |
y.printme(); | |
} | |
fn main() { | |
f(Box::new(1234)); | |
g(Box::new(Struct) as Box<dyn Trait>); | |
} |