It would be nice if https://github.com/boostorg/functional/pull/21 was
addressed before final release.
Alternatively see the below error.
$ brew info boost llvm | grep bottled
==> boost: stable 1.81.0 (bottled), HEAD
==> llvm: stable 16.0.1 (bottled), HEAD [keg-only]
$ clang++ --version
Homebrew clang version 16.0.1
Target: arm64-apple-darwin21.6.0
Thread model: posix
InstalledDir: /opt/homebrew/opt/llvm/bin
$ cat functional_is_b0rk.cc
#include
int main() {}
$ clang++ -O0 -g -I/opt/homebrew/include -c functional_is_b0rk.cc
In file included from functional_is_b0rk.cc:1:
/opt/homebrew/include/boost/functional.hpp:45:24: error: no member
named 'unary_function' in namespace 'std'; did you mean
'__unary_function'?
using std::unary_function;
~~~~~^~~~~~~~~~~~~~
__unary_function
/opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:46:1:
note: '__unary_function' declared here
using __unary_function = __unary_function_keep_layout_base<_Arg, _Result>;
^
In file included from functional_is_b0rk.cc:1:
/opt/homebrew/include/boost/functional.hpp:46:24: error: no member
named 'binary_function' in namespace 'std'; did you mean
'__binary_function'?
using std::binary_function;
~~~~~^~~~~~~~~~~~~~~
__binary_function
/opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/binary_function.h:49:1:
note: '__binary_function' declared here
using __binary_function = __binary_function_keep_layout_base<_Arg1,
_Arg2, _Result>;
^
In file included from functional_is_b0rk.cc:1:
/opt/homebrew/include/boost/functional.hpp:180:45: error: no template
named 'unary_function' in namespace 'boost::functional::detail'; did
you mean '__unary_function'?
: public boost::functional::detail::unary_function
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
__unary_function
/opt/homebrew/include/boost/functional.hpp:45:24: note:
'__unary_function' declared here
using std::unary_function;
^
/opt/homebrew/include/boost/functional.hpp:214:45: error: no template
named 'binary_function' in namespace 'boost::functional::detail'; did
you mean '__binary_function'?
: public boost::functional::detail::binary_function<
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
__binary_function
/opt/homebrew/include/boost/functional.hpp:46:24: note:
'__binary_function' declared here
using std::binary_function;
^
/opt/homebrew/include/boost/functional.hpp:252:45: error: no template
named 'unary_function' in namespace 'boost::functional::detail'; did
you mean '__unary_function'?
: public boost::functional::detail::unary_function<
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
__unary_function
/opt/homebrew/include/boost/functional.hpp:45:24: note:
'__unary_function' declared here
using std::unary_function;
^
/opt/homebrew/include/boost/functional.hpp:299:45: error: no template
named 'unary_function' in namespace 'boost::functional::detail'; did
you mean '__unary_function'?
: public boost::functional::detail::unary_function<
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
__unary_function
/opt/homebrew/include/boost/functional.hpp:45:24: note:
'__unary_function' declared here
using std::unary_function;
^
/opt/homebrew/include/boost/functional.hpp:345:57: error: no template
named 'unary_function' in namespace 'boost::functional::detail'; did
you mean '__unary_function'?
class mem_fun_t : public boost::functional::detail::unary_function
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
__unary_function
/opt/homebrew/include/boost/functional.hpp:45:24: note:
'__unary_function' declared here
using std::unary_function;
^
/opt/homebrew/include/boost/functional.hpp:361:58: error: no template
named 'binary_function' in namespace 'boost::functional::detail'; did
you mean '__binary_function'?
class mem_fun1_t : public
boost::functional::detail::binary_function
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
__binary_function
/opt/homebrew/include/boost/functional.hpp:46:24: note:
'__binary_function' declared here
using std::binary_function;
^
/opt/homebrew/include/boost/functional.hpp:377:63: error: no template
named 'unary_function' in namespace 'boost::functional::detail'; did
you mean '__unary_function'?
class const_mem_fun_t : public
boost::functional::detail::unary_function
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
__unary_function
/opt/homebrew/include/boost/functional.hpp:45:24: note:
'__unary_function' declared here
using std::unary_function;
^
/opt/homebrew/include/boost/functional.hpp:393:64: error: no template
named 'binary_function' in namespace 'boost::functional::detail'; did
you mean '__binary_function'?
class const_mem_fun1_t : public
boost::functional::detail::binary_function
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
__binary_function
/opt/homebrew/include/boost/functional.hpp:46:24: note:
'__binary_function' declared here
using std::binary_function;
^
/opt/homebrew/include/boost/functional.hpp:438:61: error: no template
named 'unary_function' in namespace 'boost::functional::detail'; did
you mean '__unary_function'?
class mem_fun_ref_t : public
boost::functional::detail::unary_function
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
__unary_function
/opt/homebrew/include/boost/functional.hpp:45:24: note:
'__unary_function' declared here
using std::unary_function;
^
/opt/homebrew/include/boost/functional.hpp:454:62: error: no template
named 'binary_function' in namespace 'boost::functional::detail'; did
you mean '__binary_function'?
class mem_fun1_ref_t : public
boost::functional::detail::binary_function
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
__binary_function
/opt/homebrew/include/boost/functional.hpp:46:24: note:
'__binary_function' declared here
using std::binary_function;
^
/opt/homebrew/include/boost/functional.hpp:470:67: error: no template
named 'unary_function' in namespace 'boost::functional::detail'; did
you mean '__unary_function'?
class const_mem_fun_ref_t : public
boost::functional::detail::unary_function
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
__unary_function
/opt/homebrew/include/boost/functional.hpp:45:24: note:
'__unary_function' declared here
using std::unary_function;
^
/opt/homebrew/include/boost/functional.hpp:487:68: error: no template
named 'binary_function' in namespace 'boost::functional::detail'; did
you mean '__binary_function'?
class const_mem_fun1_ref_t : public
boost::functional::detail::binary_function
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
__binary_function
/opt/homebrew/include/boost/functional.hpp:46:24: note:
'__binary_function' declared here
using std::binary_function;
^
/opt/homebrew/include/boost/functional.hpp:533:73: error: no template
named 'unary_function' in namespace 'boost::functional::detail'; did
you mean '__unary_function'?
class pointer_to_unary_function : public
boost::functional::detail::unary_function
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
__unary_function
/opt/homebrew/include/boost/functional.hpp:45:24: note:
'__unary_function' declared here
using std::unary_function;
^
/opt/homebrew/include/boost/functional.hpp:557:74: error: no template
named 'binary_function' in namespace 'boost::functional::detail'; did
you mean '__binary_function'?
class pointer_to_binary_function : public
boost::functional::detail::binary_function
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
__binary_function
/opt/homebrew/include/boost/functional.hpp:46:24: note:
'__binary_function' declared here
using std::binary_function;
^
16 errors generated.