error[E0368]: binary assignment operation `+=` cannot be applied to type `T` --> $DIR/issue-6738.rs:6:9 | LL | self.x += v.x; | ------^^^^^^^ | | | cannot use `+=` on type `T` | help: consider restricting type parameter `T` | LL | impl Foo { | +++++++++++++++++++++ error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0368`.