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

Reply via email to