error[E0382]: use of moved value: `f` --> $DIR/move-error-suggest-clone-panic-issue-127915.rs:10:78 | LL | fn test(a: i64, b: i64, c: i64, d: i64, e: i64, f: T, g: U) -> i64 { | - move occurs because `f` has type `T`, which does not implement the `Copy` trait ... LL | 6, a as f64, b, b as f64, f, c as f64, d, d as f64, e, e as f64, f, g, | - value moved here ^ value used here after move | help: if `T` implemented `Clone`, you could clone the value --> $DIR/move-error-suggest-clone-panic-issue-127915.rs:7:9 | LL | fn test(a: i64, b: i64, c: i64, d: i64, e: i64, f: T, g: U) -> i64 { | ^ consider constraining this type parameter with `Clone` ... LL | 6, a as f64, b, b as f64, f, c as f64, d, d as f64, e, e as f64, f, g, | - you could clone this value help: consider restricting type parameter `T` | LL | fn test(a: i64, b: i64, c: i64, d: i64, e: i64, f: T, g: U) -> i64 { | ++++++ error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0382`.