Boost logo

Boost :

From: don la dieu (dladieu_at_[hidden])
Date: 2023-04-12 13:15:54


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 <boost/functional.hpp>

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<typename
unary_traits<Predicate>::argument_type,bool>
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
                                            __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<T*, S>
                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
                                                        __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<T*, A, S>
                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
                                                         __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<const T*, S>
                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
                                                              __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<const T*, A, S>
                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
                                                               __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<T&, S>
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
                                                            __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<T&, A, S>
                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
                                                             __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<const T&, S>
                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~

__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<const T&, A, S>

~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~

__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<Arg,Result>

~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~

 __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<Arg1,Arg2,Result>

~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~

  __binary_function
/opt/homebrew/include/boost/functional.hpp:46:24: note:
'__binary_function' declared here
            using std::binary_function;
                       ^
16 errors generated.


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