2012-10-31 15:09:26 -07:00
|
|
|
trait Foo {
|
2013-02-07 19:33:12 -08:00
|
|
|
fn f(&self);
|
2012-10-31 15:09:26 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
struct Bar {
|
2015-01-08 21:54:35 +11:00
|
|
|
x: isize,
|
2012-11-14 01:22:37 -05:00
|
|
|
}
|
|
|
|
|
2013-02-14 11:47:00 -08:00
|
|
|
impl Drop for Bar {
|
2013-09-16 21:18:07 -04:00
|
|
|
fn drop(&mut self) {}
|
2012-10-31 15:09:26 -07:00
|
|
|
}
|
|
|
|
|
2013-02-14 11:47:00 -08:00
|
|
|
impl Foo for Bar {
|
2013-02-07 19:33:12 -08:00
|
|
|
fn f(&self) {
|
2014-01-09 21:06:55 +11:00
|
|
|
println!("hi");
|
2012-10-31 15:09:26 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-08-25 02:39:40 +02:00
|
|
|
|
|
|
|
|
2012-10-31 15:09:26 -07:00
|
|
|
fn main() {
|
2021-08-25 02:39:40 +02:00
|
|
|
let x = Box::new(Bar { x: 10 });
|
2019-05-28 14:46:13 -04:00
|
|
|
let y: Box<dyn Foo> = x as Box<dyn Foo>;
|
2020-09-26 17:20:14 -04:00
|
|
|
let _z = y.clone(); //~ ERROR the method
|
2012-10-31 15:09:26 -07:00
|
|
|
}
|