https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101722

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |INVALID

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Boost 1.76.0 is totally broken, it does this in the middle of namespace
boost::math::tools::meta_programming:


template<typename L, typename Q> 
using mp_remove_if_q = mp_remove_if<L, Q::template fn>;

// Index sequence
// Use C++14 index sequence if available
#if defined(__cpp_lib_integer_sequence) && (__cpp_lib_integer_sequence >=
201304)
#include <utility>
template<std::size_t... I>
using index_sequence = std::index_sequence<I...>;

template<std::size_t N>
using make_index_sequence = std::make_index_sequence<N>;

template<typename... T>
using index_sequence_for = std::index_sequence_for<T...>;

#else



If <utility> has already been included earlier, it happens to work (because
that #include is a no-op due to the header guard) but because my changes mean
that <utility> is included less often, that is the first time it's seen. And it
defines the contents of <utility> inside the boost namespace.

I'll report it to boost (and make sure we patch boost in Fedora).

Reply via email to