Во-первых, непонятно, как ты хочешь использовать этот трейт
Во-вторых, он у тебя без методов, что делает его целиком бесполезным
Подозреваю, что тебе хочется что-то вроде "сложить два числа, но чтобы можно было и f32 туда и f64". Для этого есть множество стандартных трейтов: Add, Sub, Div, Mul, *Assign, которые и стоит использовать. Например:
fn f<T: Add<Output = T>>(x1: T, x2: T) -> T {
x1 + x2
}
fn main() {
println!("{}", f(3.14_f32, 2.7)); // можно f32 + f32
println!("{}", f(3.14_f64, 2.7)); // а можно f64 + f64
}