trait CanCalc {
fn calc(&self) -> i32;
}
struct Man {
name: &'static str
}
impl Man {
fn calc(&self) -> i32 {
6
}
}
struct Nerd {
name: &'static str,
parent: Man
}
impl CanCalc for Nerd {
fn calc(&self) -> i32 {
let var = self.parent.calc();
println!("{}",var);
return 67+var;
}
}
fn main() {
let i: Nerd = Nerd{name: "nerd", parent: Man{name: "man"}};
println!("{}",i.calc());
}