On 23.03.2017 09:45, Arnaud RICHARD via Boost-users wrote:
I understand they are only warning and the code is functionally correct and standard-wise correct.
Personally when I face such false warnings in my code, I change the code to remove the warning so that if a warning does make sense, I can notice it.
I used to do the same but fund such practice dangerous. It often resulted in poorer, less "natural" code, sometimes, albeit less frequently, degraded performance (not necessarily on platform reporting warning but another), or would even introduce bugs, if major change was required. Not to mention the cost of looking for balance between different warnings on different platforms and that of regression testing. In short, more pain than gain. These days I prefer to selectively disable warnings I don't agree with (via command line options if possible, or #pragmas or similar) ... and very selectively enable warnings beyond some sensible level (defaults + select few are usually okay).
I thought a reference implementation would be written with such policy.
There’s no way I’m gonna read each of the hundreds of messages to understand if it is a mistake in my source code or a “shortcut” in boost library.
In a multi-platform, multi-compiler version library this is often difficult if not impossible to achieve. Not only one compiler might warn you're not doing X and the other that you are doing it, even different versions of the same compiler might disagree on whether X should be done or not. Heck, even the same version might if you compile against different language standards and/or dialects. I would find imposing any such or similar policy counter-productive and unjustified.
So this is my first user experience. Not impressed at all. Boost will not be my reference.
I, on the contrary, was impressed and still am after all these years. As others mentioned, not only C++11 received an enormous contribution from Boost, it is one of the few truly peer-reviewed general purpose libraries with a huge deployment base that gives you some assurance that many people have already found many defects that were already fixed and you are unlikely to stumble upon one. Cheers, Leon