Boost logo

Boost :

From: Rainer Deyke (rdeyke_at_[hidden])
Date: 2024-11-10 12:35:14


On 09.11.24 00:50, Marshall Clow via Boost wrote:
> As always, the release managers would appreciate it if you download the
> candidate of your choice and give building it a try. Please report both
> success and failure, and anything else that is noteworthy.

I think I found a problem with the stl_interfaces library. In
boost/stl_interfaces/config.hpp:

#if (defined(__cpp_explicit_this_parameter) ||
       \
      (defined(_MSC_VER) && _MSC_VER >= 1941) ||
        \
      (defined(BOOST_CLANG_VERSION) && BOOST_CLANG_VERSION >= 190000))
&& \
     BOOST_STL_INTERFACES_USE_CONCEPTS &&
        \
     !defined(BOOST_STL_INTERFACES_DISABLE_DEDUCED_THIS)

#define BOOST_STL_INTERFACES_USE_DEDUCED_THIS 1

#else

#define BOOST_STL_INTERFACES_USE_DEDUCED_THIS 0

#endif

In other words BOOST_STL_INTERFACES_USE_DEDUCED_THIS is set to 1 on any
sufficiently modern clang, even if __cpp_explicit_this_parameter is not
defined - such as when explicitly compiling with -std=gnu++20.

I only discovered this when compiling with Emscripten, since I usually
use gcc for desktop targets.

-- 
Rainer Deyke - rainerd_at_[hidden]

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk