https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96501
Bug ID: 96501
Summary: [C++11] Should warn when classes only have copy
constructor defined
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: nunoplopes at sapo dot pt
Target Milestone: ---
I see a lot of old code that has copy constructors defined, but not move
constructors. This pessimizes code since the definition of the copy constructor
hides the default move constructor.
Would be nice to get a warning for this to recover perf.
```
#include <utility>
using namespace std;
struct foo {
int a,b,c;
// expect-warning
foo(const foo &);
};
foo fn(foo &&f) {
foo g(move(f));
return g;
}
```
https://gcc.godbolt.org/z/5r8erG