On Wednesday, 27 September 2017 at 21:01:36 UTC, Jesse Phillips
wrote:
For example, if you store your Matrix in a custom container it
could try to store pointer rather than the struct itself, if &
is overloaded the generic implementation would be broken
because it would no longer be a pointer to Matrix but to the
inner element.
Whereas generic code which utilizes addition or append can
assume the type appropriately defined the behavior to
semantically match the desired use, generic code would be
broken if the type changed & to do something different from
what the language defines it to do.
Alright, that makes sense, that's some valid reasoning, I can
accept that.