fn main() { let x = add(1, 2); let x = add(add(1, 2), 3); let x = sub::(1_u8, 2_u8); let x = sub::(1_u32, 2_u32); let x = sub::(1_f64, 2_f64); } unsafe fn add(x: i32, y: i32) -> i32 { x + y } unsafe fn sub>(x: T, y: T) -> T { x - y }