On Sat, 8 Dec 2018 at 19:53, Jason Merrill <ja...@redhat.com> wrote: > The documented policy for -Wall is, > > This enables all the warnings about constructions that some users > consider questionable, and that are easy to avoid (or modify to > prevent the warning), even in conjunction with macros. > ... > Note that some warning flags are not implied by '-Wall'. Some of > them warn about constructions that users generally do not consider > questionable, but which occasionally you might wish to check for; > others warn about constructions that are necessary or hard to avoid > in some cases, and there is no simple way to modify the code to > suppress the warning. > > It seems to me that this warning qualifies for -Wall under these > guidelines. Providing a copy constructor without a matching > assignment operator is definitely suspect; the false positive only > comes in because, as you say, there was no good reason to provide the > copy constructor for Private. And it's easy to avoid the warning by > declaring a defaulted assignment operator, if ABI concerns preclude > removing the constructor. > > New compiler releases will usually include new warnings that require > some code modification to accommodate. Why is this one particularly > problematic?
I don't think it's any more problematic than any other warning that introduces new errors for fools that build with -Wall and -Werror. But considering that those errors are false positives, and that turning them off will in some cases require writing boiler-plate (defaulted assignments), I would merely prefer having another release round to get fixes for my codebase out in the wild.