The defaulted copy and move assignment operator are unqualified and as such callable on an rvalue ( 12.3.1 over.match.funcs p5.1 ) however they return an lvalue reference to *this.
Proposed change:
Do tell the truth and make the compiler provided assignment operators ref-qualified:
This defect should be applied retroactively to all revisions from C++11 on.
Alternatively the rule 12.3.1. p5.1 could be made exempt of assignment operators
The defaulted copy and move assignment operator are unqualified and as such callable on an rvalue ( 12.3.1 over.match.funcs p5.1 ) however they return an lvalue reference to *this.
Proposed change: Do tell the truth and make the compiler provided assignment operators ref-qualified:
This defect should be applied retroactively to all revisions from C++11 on. Alternatively the rule 12.3.1. p5.1 could be made exempt of assignment operators