MatzeB wrote: FYI: This change breaks common thrift-generated code. Reduced example here shows the problem and produces "expression is not assignable" (but is accepted by all released gcc and clang versions as far as I can tell). No idea if the code is valid/invalid: ``` #include <exception> struct TmsException : public std::exception { int _what;
const char* what() const noexcept override { return ""; } template<typename..., typename T=int> T& what() & { return _what; } }; int main() { TmsException E; E.what() = 42; } ``` https://github.com/llvm/llvm-project/pull/148613 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits