29 Dec
2015
29 Dec
'15
5:52 p.m.
Rob Stewart wrote:
Are you being purposely obtuse? If two separate libraries use one each of the specializations, and some new application has need to use both libraries, there will be an ODR violation, most likely without the knowledge of the programmer combining the two libraries. The "validity" of the reason stems from the need to use the two libraries, not from their specializing, or not, the QVM traits.
No, he isn't being obtuse. It is not right for library X to override the return type of X::m * Y::m to be X::m instead of the default, precisely because if we assume that it has this right, the symmetric right of Y to override the same to be Y::m creates a conflict.