id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 12142,Including optional/optional_fwd.hpp then type_traits.hpp,Tony Lewis ,akrzemi1,"1.61.0 beta introduces a new problem: the following code has started failing to compile since 1.60.0: {{{#!cpp #include #include }}} This appears to be caused by a change to `optional_fwd.hpp` so that it now includes `boost/config/suffix.hpp`. It turns out that that already had the potential to cause problems in 1.60.0, eg the following fails to compile: {{{#!cpp #include #include }}} Does Boost.Config allow other Boost libraries to include `boost/config/suffix.hpp` directly? If so, I think Config needs to fix the above problem. If not, `optional_fwd.hpp` needs to be changed to include `boost/config.hpp` not `boost/config/suffix.hpp` (and in that case it might be good to do the following). 1. scan for any other includes in any other Boost libraries 1. fix them 1. move `suffix.hpp` and similar in a `detail` subdirectory. I'm seeing equivalent errors on both Clang 3.6.2-1 and GCC 5.2.1. Command lines: {{{ clang++ -std=c++11 -isystem /opt/boost_1_61_0_b1_clang_build/include a.cpp g++ -std=c++11 -isystem /opt/boost_1_61_0_b1_gcc_build/include a.cpp }}}",Bugs,closed,Boost 1.62.0,optional,Boost 1.61.0,Regression,fixed,"config/suffix.hpp,type_traits,optional",