I guess this comes under internals (libraries):
Is it possible to add derive macros for AddAssign etc.?
Status quo: arithmetic operations are supported on custom types via the
Mul etc. traits. These can be implemented multiple times (e.g. to component-wise operations on vectors by scalars), which adds up to many implementations already.
Now to support
+= etc. for these, the number of trait implementations needs to be doubled.
Note that as with
derive(Debug), an error would be emitted when the corresponding trait (
Add etc.) wasn't implemented. I don't see any technical hurdles.
Alternatively, I guess the plan may be to add blanket implementations once specialisation is stable — however, I understand this is likely to be a ways off yet.