// run-pass #[derive(Debug)] struct Matrix4(#[allow(unused_tuple_struct_fields)] S); trait POrd {} fn translate>(s: S) -> Matrix4 { Matrix4(s) } impl POrd for f32 {} impl POrd for f64 {} fn main() { let x = 1.0; let m : Matrix4 = translate(x); println!("m: {:?}", m); }