Warning
This post was published 114 days ago. The information described in this article may have changed.
trait T1{
fn say1(&self);
}
struct ATYPE;
impl T1 for ATYPE{
fn say1(&self) {
println!("T1 called");
}
}
trait T2{
fn say2(&self);
}
impl T2 for ATYPE{
fn say2(&self) {
println!("T2 called");
}
}
fn main() {
let a: Box<dyn T1> = Box::new(ATYPE);
let b: Box<dyn T2> = unsafe{
std::mem::transmute(a)
};
b.say2();
}
cargo r
Compiling trait2trait v0.1.0 (/workspace/trait2trait)
warning: method `say1` is never used
--> src/main.rs:34:8
|
33 | trait T1{
| -- method in this trait
34 | fn say1(&self);
| ^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: `trait2trait` (bin "trait2trait") generated 1 warning
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.08s
Running `target/debug/trait2trait`
T1 called
1 post - 1 participant
🏷️ rust_feed