1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
extern crate num; use num::*; pub struct Dual<T> { pub val:T, pub der:T } impl<T:Zero> Zero for Dual<T> { fn zero() -> Dual<T> { Dual { val: Zero::zero(), der: Zero::zero() } } }