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.

 

> So this is my first user experience. Not impressed at all. Boost will not be my reference.


Boost is a community-maintained library. The contributors work tirelessly - for free - to make it the best, most comprehensive and correct library it can be.


You can help by filing bug reports when you find unsatisfactory behaviour.


You can also help by contributing bugfixes and updates.




On 23 March 2017 at 09:45, Arnaud RICHARD via Boost-users <boost-users@lists.boost.org> wrote:

Hello,

I’m a complete Boost newbie. I’ve been told very often that boost is the way to go for serious C++ coding, and I was not surprised to see such emphasis on the home page:

We aim to establish "existing practice" and provide reference implementations so that Boost libraries are suitable for eventual standardization”

 

So when I used the format library on my existing (non-trivial) project and first compiled… I was very very surprised to get my neat compilation console flooded with hundreds of warnings !

 

I acknowledge I activate many many warnings:

CXXFLAGS+=-Wall -Wextra -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization \

          -Wformat=2 -Winit-self -Wlogical-op -Wmissing-include-dirs \

          -Wnoexcept -Woverloaded-virtual -Wredundant-decls -Wshadow \

          -Wsign-conversion -Wsign-promo -Wstrict-null-sentinel -Wstrict-overflow=5 \

          -Wswitch-default -Wundef -Wunused

 

The warnings were as trivial as (for example):

../ext/boost/boost/type_traits/is_default_constructible.hpp:16:22: warning: "BOOST_GCC_VERSION_WORKAROUND_GUARD" is not defined [-Wundef]

#if BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40700)

 

../ext/boost/boost/format/parsing.hpp:435:67: warning: conversion to ‘std::vector<boost::io::detail::format_item<char, std::char_traits<char>, std::allocator<char> >, std::allocator<boost::io::detail::format_item<char, std::char_traits<char>, std::allocator<char> > > >::size_type {aka unsigned int}’ from ‘int’ may change the sign of the result [-Wsign-conversion]

             string_type & piece = (cur_item==0) ? prefix_ : items_[cur_item-1].appendix_;

 

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 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.

 

So this is my first user experience. Not impressed at all. Boost will not be my reference.

 


_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users