#![crate_name="numeric"] #![crate_type = "lib"] pub trait Trig { fn sin(&self) -> T; } pub fn sin, R>(theta: &T) -> R { theta.sin() } pub trait Angle: Trig {}