You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When compiling for a well-known console platform using C++20, the standard library implementation uses an inline namespace for versioning. This conflicts with the forward declarations in boost/intrusive/detail/std_fwd.hpp and results in names being ambiguous (e.g. std::less vs std::some_inline_namespace::less).
I believe Boost is at fault here because forward declaring std types is not allowed; perhaps this is one reason why. Although it may hurt compile times, in order to use Boost on this platform it's necessary to include the real headers rather than forward declaring. This behaviour should be removed, or at least made optional.
Note: this is the same issue as this one in the container library.
The text was updated successfully, but these errors were encountered:
When compiling for a well-known console platform using C++20, the standard library implementation uses an inline namespace for versioning. This conflicts with the forward declarations in boost/intrusive/detail/std_fwd.hpp and results in names being ambiguous (e.g.
std::less
vsstd::some_inline_namespace::less
).I believe Boost is at fault here because forward declaring
std
types is not allowed; perhaps this is one reason why. Although it may hurt compile times, in order to use Boost on this platform it's necessary to include the real headers rather than forward declaring. This behaviour should be removed, or at least made optional.Note: this is the same issue as this one in the container library.
The text was updated successfully, but these errors were encountered: