33 lines
443 B
Rust
33 lines
443 B
Rust
// run-pass
|
|
|
|
#![feature(box_syntax)]
|
|
|
|
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 1234);
|
|
g(box Struct as Box<dyn Trait>);
|
|
}
|