stan-dev / cmdstan

CmdStan, the command line interface to Stan
https://mc-stan.org/users/interfaces/cmdstan
BSD 3-Clause "New" or "Revised" License
212 stars 93 forks source link

Unable to complete `make build` on Mac M1 #1158

Closed chukarsten closed 1 year ago

chukarsten commented 1 year ago

Summary:

Running make build results in 38 warnings and 14 failures.

Description:

On a Mac M1, I have cloned (recursively) the cmdstan repo and tried to run make build in order to verify that I can build it. The intent is to ensure that a pip install prophet will build the prophet wheel appropriately. The result is a colorful log referencing a lot of seeming C++ build errors like:

image image

Along with a variety of deprecation warnings that suggest to me that there's just something wrong with my C++ tool chain.

Reproducible Steps:

  1. git clone cmdstan --recursive
  2. make build

Current Output:

See description for some screen shots.

Expected Output:

Just a finished build.

Additional Information:

Provide any additional information here.

karsten.chu@AMB-96K7YK cmdstan % clang++ --version
Homebrew clang version 16.0.2
Target: arm64-apple-darwin21.6.0
Thread model: posix
InstalledDir: /opt/homebrew/opt/llvm/bin
image

Current Version:

v2.32.0

andrjohns commented 1 year ago

This is likely due to the homebrew toolchain. I have no issues building cmdstan on an M1 with the xcode toolchain

WardBrian commented 1 year ago

I’ve just run into the same issue trying to build CmdStan for conda: https://github.com/conda-forge/cmdstan-feedstock/pull/33

Using XCode is not an option here, so if we could fix this in our code it would be nice

chukarsten commented 1 year ago

Thanks for the quick response...I guess I am personally able to switch to the xcode toolchain. I'm not super familiar with C++ and C++ development on Mac. Any suggestions how I can switch?

andrjohns commented 1 year ago

@WardBrian I can't replicate locally, but the error output indicates that the culprit is this line in the asinh function attempting to call the cmath sqrt instead of the Stan overload.

If you change that to:

auto y = log(z + math::sqrt(1 + z * z));

It should compile (or at least get further)

WardBrian commented 1 year ago

Are you sure? The error specifically calls out operator*

It looks very similar to this older issue (which never got an in-code resolution?) https://github.com/stan-dev/math/issues/1282

chukarsten commented 1 year ago

I'm not sure if it's helpful, but here is the full error output of my make build

Details

```` --- Compiling the main object file. This might take up to a minute. --- clang++ -std=c++1y -Wno-unknown-warning-option -Wno-tautological-compare -Wno-sign-compare -D_REENTRANT -Wno-ignored-attributes -I stan/lib/stan_math/lib/tbb_2020.3/include -O3 -I src -I stan/src -I stan/lib/rapidjson_1.1.0/ -I lib/CLI11-1.9.1/ -I stan/lib/stan_math/ -I stan/lib/stan_math/lib/eigen_3.4.0 -I stan/lib/stan_math/lib/boost_1.78.0 -I stan/lib/stan_math/lib/sundials_6.1.1/include -I stan/lib/stan_math/lib/sundials_6.1.1/src/sundials -I/opt/homebrew/opt/libomp/include -DBOOST_DISABLE_ASSERTS -c -o src/cmdstan/main.o src/cmdstan/main.cpp In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:14: In file included from stan/lib/stan_math/stan/math/prim/fun.hpp:124: In file included from stan/lib/stan_math/stan/math/prim/fun/grad_2F1.hpp:14: In file included from stan/lib/stan_math/stan/math/prim/fun/hypergeometric_2F1.hpp:19: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/optional.hpp:15: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/optional/optional.hpp:38: stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_nothrow_constructor.hpp:27:84: warning: builtin __has_nothrow_constructor is deprecated; use __is_nothrow_constructible instead [-Wdeprecated-builtins] template struct has_nothrow_constructor : public integral_constant{}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/intrinsics.hpp:199:48: note: expanded from macro 'BOOST_HAS_NOTHROW_CONSTRUCTOR' # define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) && is_default_constructible::value) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:14: In file included from stan/lib/stan_math/stan/math/prim/fun.hpp:124: In file included from stan/lib/stan_math/stan/math/prim/fun/grad_2F1.hpp:14: In file included from stan/lib/stan_math/stan/math/prim/fun/hypergeometric_2F1.hpp:19: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/optional.hpp:15: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/optional/optional.hpp:47: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/is_nothrow_move_assignable.hpp:16: stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_nothrow_assign.hpp:65:7: warning: builtin __has_nothrow_assign is deprecated; use __is_nothrow_assignable instead [-Wdeprecated-builtins] BOOST_HAS_NOTHROW_ASSIGN(T) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/intrinsics.hpp:205:43: note: expanded from macro 'BOOST_HAS_NOTHROW_ASSIGN' # define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile::value && is_assignable::value) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:25: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/util/ublas_wrapper.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/vector.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/storage.hpp:22: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/array.hpp:26: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/array_wrapper.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/nvp.hpp:35: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/split_free.hpp:22: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/serialization.hpp:14: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/strong_typedef.hpp:30: stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_nothrow_copy.hpp:36:89: warning: builtin __has_nothrow_copy is deprecated; use __is_nothrow_constructible instead [-Wdeprecated-builtins] template struct has_nothrow_copy_constructor : public integral_constant{}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/intrinsics.hpp:202:41: note: expanded from macro 'BOOST_HAS_NOTHROW_COPY' # define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile::value && !is_reference::value && is_copy_constructible::value) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:25: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/util/ublas_wrapper.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/vector.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/storage.hpp:22: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/array.hpp:26: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/array_wrapper.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/nvp.hpp:35: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/split_free.hpp:22: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/serialization.hpp:14: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/strong_typedef.hpp:30: stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_nothrow_copy.hpp:36:89: warning: builtin __has_nothrow_copy is deprecated; use __is_nothrow_constructible instead [-Wdeprecated-builtins] stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/intrinsics.hpp:202:41: note: expanded from macro 'BOOST_HAS_NOTHROW_COPY' # define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile::value && !is_reference::value && is_copy_constructible::value) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/serialization.hpp:52:1: note: in instantiation of template class 'boost::has_nothrow_copy_constructor' requested here BOOST_STRONG_TYPEDEF(unsigned int, version_type) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/strong_typedef.hpp:39:54: note: expanded from macro 'BOOST_STRONG_TYPEDEF' explicit D(const T& t_) BOOST_NOEXCEPT_IF(boost::has_nothrow_copy_constructor::value) : t(t_) {} \ ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:14: In file included from stan/lib/stan_math/stan/math/prim/fun.hpp:124: In file included from stan/lib/stan_math/stan/math/prim/fun/grad_2F1.hpp:14: In file included from stan/lib/stan_math/stan/math/prim/fun/hypergeometric_2F1.hpp:19: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/optional.hpp:15: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/optional/optional.hpp:38: stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_nothrow_constructor.hpp:27:84: warning: builtin __has_nothrow_constructor is deprecated; use __is_nothrow_constructible instead [-Wdeprecated-builtins] template struct has_nothrow_constructor : public integral_constant{}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/intrinsics.hpp:199:48: note: expanded from macro 'BOOST_HAS_NOTHROW_CONSTRUCTOR' # define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) && is_default_constructible::value) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_nothrow_constructor.hpp:69:68: note: in instantiation of template class 'boost::has_nothrow_constructor' requested here template struct has_nothrow_default_constructor : public has_nothrow_constructor{}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/serialization.hpp:52:1: note: in instantiation of template class 'boost::has_nothrow_default_constructor' requested here BOOST_STRONG_TYPEDEF(unsigned int, version_type) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/strong_typedef.hpp:40:34: note: expanded from macro 'BOOST_STRONG_TYPEDEF' D() BOOST_NOEXCEPT_IF(boost::has_nothrow_default_constructor::value) : t() {} \ ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:14: In file included from stan/lib/stan_math/stan/math/prim/fun.hpp:124: In file included from stan/lib/stan_math/stan/math/prim/fun/grad_2F1.hpp:14: In file included from stan/lib/stan_math/stan/math/prim/fun/hypergeometric_2F1.hpp:19: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/optional.hpp:15: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/optional/optional.hpp:47: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/is_nothrow_move_assignable.hpp:16: stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_nothrow_assign.hpp:65:7: warning: builtin __has_nothrow_assign is deprecated; use __is_nothrow_assignable instead [-Wdeprecated-builtins] BOOST_HAS_NOTHROW_ASSIGN(T) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/intrinsics.hpp:205:43: note: expanded from macro 'BOOST_HAS_NOTHROW_ASSIGN' # define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile::value && is_assignable::value) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/serialization.hpp:52:1: note: in instantiation of template class 'boost::has_nothrow_assign' requested here BOOST_STRONG_TYPEDEF(unsigned int, version_type) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/serialization/strong_typedef.hpp:42:57: note: expanded from macro 'BOOST_STRONG_TYPEDEF' D& operator=(const D& rhs) BOOST_NOEXCEPT_IF(boost::has_nothrow_assign::value) {t = rhs.t; return *this;} \ ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:25: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/util/ublas_wrapper.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/vector.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/storage.hpp:27: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/traits.hpp:27: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits.hpp:70: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_nothrow_destructor.hpp:12: stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_trivial_destructor.hpp:30:86: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins] template struct has_trivial_destructor : public integral_constant{}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/intrinsics.hpp:196:47: note: expanded from macro 'BOOST_HAS_TRIVIAL_DESTRUCTOR' # define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) && is_destructible::value) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:25: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/util/ublas_wrapper.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/vector.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/storage.hpp:27: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/traits.hpp:27: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits.hpp:79: stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_trivial_assign.hpp:29:7: warning: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Wdeprecated-builtins] BOOST_HAS_TRIVIAL_ASSIGN(T) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/intrinsics.hpp:193:43: note: expanded from macro 'BOOST_HAS_TRIVIAL_ASSIGN' # define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile::value && is_assignable::value) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:25: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/util/ublas_wrapper.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/vector.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/storage.hpp:27: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/traits.hpp:27: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits.hpp:80: stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_trivial_constructor.hpp:41:69: warning: builtin __has_trivial_constructor is deprecated; use __is_trivially_constructible instead [-Wdeprecated-builtins] : public integral_constant ::value || BOOST_HAS_TRIVIAL_CONSTRUCTOR(T)) BOOST_TT_TRIVIAL_CONSTRUCT_FIX)>{}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/intrinsics.hpp:187:47: note: expanded from macro 'BOOST_HAS_TRIVIAL_CONSTRUCTOR' # define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:25: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/util/ublas_wrapper.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/vector.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/storage.hpp:27: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/traits.hpp:27: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits.hpp:81: stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_trivial_copy.hpp:34:4: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins] BOOST_HAS_TRIVIAL_COPY(T) BOOST_TT_TRIVIAL_CONSTRUCT_FIX ^ stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/intrinsics.hpp:190:41: note: expanded from macro 'BOOST_HAS_TRIVIAL_COPY' # define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference::value) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:609:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(bool) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:610:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(char) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:611:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(signed char) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:612:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(unsigned char) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:614:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(wchar_t) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:617:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(char16_t) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:620:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(char32_t) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:622:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(short) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:623:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(unsigned short) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:624:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(int) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:625:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(unsigned int) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:626:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(long) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:627:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(unsigned long) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:629:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(float) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:630:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(double) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:631:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(long double) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:633:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE_REF(std::string) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:591:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE_REF' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:635:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE_REF(std::wstring) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:591:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE_REF' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:638:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE_REF(std::basic_string) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:591:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE_REF' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:641:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE_REF(std::basic_string) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:591:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE_REF' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:658:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(boost::long_long_type) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:659:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(boost::ulong_long_type) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function<__int128, unsigned long>' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:663:5: note: in instantiation of template class 'boost::hash_detail::hash_base<__int128>' requested here BOOST_HASH_SPECIALIZE(boost::int128_type) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function<__int128, unsigned long>' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:664:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(boost::uint128_type) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:679:5: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here BOOST_HASH_SPECIALIZE(std::type_index) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:581:19: note: expanded from macro 'BOOST_HASH_SPECIALIZE' : public boost::hash_detail::hash_base \ ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:76: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/integrate/observer_collection.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/detail/prologue.hpp:17: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_base.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index.hpp:29: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_index/stl_type_index.hpp:47: stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:132:33: warning: 'unary_function' is deprecated [-Wdeprecated-declarations] struct hash_base : std::unary_function {}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:692:18: note: in instantiation of template class 'boost::hash_detail::hash_base' requested here : public boost::hash_detail::hash_base ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:420:24: note: in instantiation of template class 'boost::hash' requested here boost::hash hasher; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/container_hash/hash.hpp:551:9: note: in instantiation of function template specialization 'boost::hash_combine' requested here hash_combine(seed, &v.category()); ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__functional/unary_function.h:23:29: note: 'unary_function' has been explicitly marked deprecated here struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX11 unary_function ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:796:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX11' # define _LIBCPP_DEPRECATED_IN_CXX11 _LIBCPP_DEPRECATED ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED' # define _LIBCPP_DEPRECATED __attribute__((deprecated)) ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:25: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/util/ublas_wrapper.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/vector.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/storage.hpp:27: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/traits.hpp:27: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits.hpp:81: stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_trivial_copy.hpp:34:4: warning: builtin __has_trivial_copy is deprecated; use __is_trivially_copyable instead [-Wdeprecated-builtins] BOOST_HAS_TRIVIAL_COPY(T) BOOST_TT_TRIVIAL_CONSTRUCT_FIX ^ stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/intrinsics.hpp:190:41: note: expanded from macro 'BOOST_HAS_TRIVIAL_COPY' # define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference::value) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_trivial_copy.hpp:57:65: note: in instantiation of template class 'boost::has_trivial_copy>>' requested here template struct has_trivial_copy_constructor : public has_trivial_copy{}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_template.hpp:945:20: note: in instantiation of template class 'boost::has_trivial_copy_constructor>>' requested here if (boost::has_trivial_copy_constructor::value && ^ stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_template.hpp:720:13: note: in instantiation of function template specialization 'boost::function2>, std::__wrap_iter, std::__wrap_iter>::assign_to>>' requested here this->assign_to(f); ^ stan/lib/stan_math/lib/boost_1.78.0/boost/algorithm/string/detail/find_iterator.hpp:51:21: note: in instantiation of function template specialization 'boost::function2>, std::__wrap_iter, std::__wrap_iter>::function2>>' requested here m_Finder(Finder) {} ^ stan/lib/stan_math/lib/boost_1.78.0/boost/algorithm/string/find_iterator.hpp:261:17: note: in instantiation of function template specialization 'boost::algorithm::detail::find_iterator_base>::find_iterator_base>>' requested here detail::find_iterator_base(Finder,0), ^ stan/lib/stan_math/lib/boost_1.78.0/boost/algorithm/string/iter_find.hpp:178:21: note: in instantiation of function template specialization 'boost::algorithm::split_iterator>::split_iterator>>' requested here find_iterator_type( ::boost::begin(lit_input), InputEnd, Finder ), ^ stan/lib/stan_math/lib/boost_1.78.0/boost/algorithm/string/split.hpp:158:40: note: in instantiation of function template specialization 'boost::algorithm::iter_split, const std::string &, boost::algorithm::detail::token_finderF>>' requested here return ::boost::algorithm::iter_split( ^ stan/src/stan/io/json/json_data_handler.hpp:358:7: note: in instantiation of function template specialization 'boost::algorithm::split, const std::string &, boost::algorithm::detail::is_any_ofF>' requested here split(slots, var.first, boost::is_any_of("."), boost::token_compress_on); ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:14: In file included from src/cmdstan/command_helper.hpp:5: In file included from stan/src/stan/io/dump.hpp:7: In file included from stan/lib/stan_math/stan/math/prim.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor.hpp:15: In file included from stan/lib/stan_math/stan/math/prim/functor/integrate_ode_rk45.hpp:6: In file included from stan/lib/stan_math/stan/math/prim/functor/ode_rk45.hpp:9: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint.hpp:25: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/odeint/util/ublas_wrapper.hpp:23: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/vector.hpp:21: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/storage.hpp:27: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/numeric/ublas/traits.hpp:27: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits.hpp:70: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_nothrow_destructor.hpp:12: stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/has_trivial_destructor.hpp:30:86: warning: builtin __has_trivial_destructor is deprecated; use __is_trivially_destructible instead [-Wdeprecated-builtins] template struct has_trivial_destructor : public integral_constant{}; ^ stan/lib/stan_math/lib/boost_1.78.0/boost/type_traits/intrinsics.hpp:196:47: note: expanded from macro 'BOOST_HAS_TRIVIAL_DESTRUCTOR' # define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) && is_destructible::value) ^ stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_template.hpp:946:20: note: in instantiation of template class 'boost::has_trivial_destructor>>' requested here boost::has_trivial_destructor::value && ^ stan/lib/stan_math/lib/boost_1.78.0/boost/function/function_template.hpp:720:13: note: in instantiation of function template specialization 'boost::function2>, std::__wrap_iter, std::__wrap_iter>::assign_to>>' requested here this->assign_to(f); ^ stan/lib/stan_math/lib/boost_1.78.0/boost/algorithm/string/detail/find_iterator.hpp:51:21: note: in instantiation of function template specialization 'boost::function2>, std::__wrap_iter, std::__wrap_iter>::function2>>' requested here m_Finder(Finder) {} ^ stan/lib/stan_math/lib/boost_1.78.0/boost/algorithm/string/find_iterator.hpp:261:17: note: in instantiation of function template specialization 'boost::algorithm::detail::find_iterator_base>::find_iterator_base>>' requested here detail::find_iterator_base(Finder,0), ^ stan/lib/stan_math/lib/boost_1.78.0/boost/algorithm/string/iter_find.hpp:178:21: note: in instantiation of function template specialization 'boost::algorithm::split_iterator>::split_iterator>>' requested here find_iterator_type( ::boost::begin(lit_input), InputEnd, Finder ), ^ stan/lib/stan_math/lib/boost_1.78.0/boost/algorithm/string/split.hpp:158:40: note: in instantiation of function template specialization 'boost::algorithm::iter_split, const std::string &, boost::algorithm::detail::token_finderF>>' requested here return ::boost::algorithm::iter_split( ^ stan/src/stan/io/json/json_data_handler.hpp:358:7: note: in instantiation of function template specialization 'boost::algorithm::split, const std::string &, boost::algorithm::detail::is_any_ofF>' requested here split(slots, var.first, boost::is_any_of("."), boost::token_compress_on); ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:4: In file included from src/cmdstan/arguments/arg_data.hpp:4: In file included from src/cmdstan/arguments/categorical_argument.hpp:4: In file included from src/cmdstan/arguments/argument.hpp:4: In file included from stan/src/stan/callbacks/writer.hpp:4: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/lexical_cast.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/range/iterator_range_core.hpp:26: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/iterator/iterator_traits.hpp:10: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/iterator:684: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/__iterator/common_iterator.h:30: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/variant:243: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/tuple:259: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/compare:145: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/__compare/compare_partial_order_fallback.h:13: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/__compare/partial_order.h:14: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/__compare/weak_order.h:14: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/__compare/strong_order.h:20: /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:607:12: error: no matching function for call to 'isinf' return std::isinf(__lcpp_x); ^~~~~~~~~~ /opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:598:29: note: in instantiation of function template specialization 'std::__constexpr_isinf>' requested here bool __z_inf = std::__constexpr_isinf(__a) || std::__constexpr_isinf(__b); ^ stan/lib/stan_math/stan/math/prim/fun/asinh.hpp:64:31: note: in instantiation of function template specialization 'std::operator*>' requested here auto y = log(z + sqrt(1 + z * z)); ^ stan/lib/stan_math/stan/math/rev/fun/asinh.hpp:89:32: note: in instantiation of function template specialization 'stan::math::internal::complex_asinh>' requested here return stan::math::internal::complex_asinh(z); ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/math.h:429:87: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'float' for 1st argument _LIBCPP_NODISCARD_EXT inline _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool isinf(float __x) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/math.h:433:114: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'double' for 1st argument _LIBCPP_NODISCARD_EXT inline _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI _LIBCPP_PREFERRED_OVERLOAD bool isinf(double __x) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/math.h:437:87: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'long double' for 1st argument _LIBCPP_NODISCARD_EXT inline _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool isinf(long double __x) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/math.h:417:80: note: candidate template ignored: requirement 'std::is_arithmetic>::value' was not satisfied [with _A1 = stan::math::var_value] _LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool isinf(_A1 __x) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/math.h:424:5: note: candidate template ignored: requirement 'std::is_arithmetic>::value' was not satisfied [with _A1 = stan::math::var_value] isinf(_A1) _NOEXCEPT { ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:4: In file included from src/cmdstan/arguments/arg_data.hpp:4: In file included from src/cmdstan/arguments/categorical_argument.hpp:4: In file included from src/cmdstan/arguments/argument.hpp:4: In file included from stan/src/stan/callbacks/writer.hpp:4: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/lexical_cast.hpp:30: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/range/iterator_range_core.hpp:26: In file included from stan/lib/stan_math/lib/boost_1.78.0/boost/iterator/iterator_traits.hpp:10: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/iterator:684: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/__iterator/common_iterator.h:30: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/variant:243: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/tuple:259: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/compare:145: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/__compare/compare_partial_order_fallback.h:13: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/__compare/partial_order.h:14: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/__compare/weak_order.h:14: In file included from /opt/homebrew/opt/llvm/bin/../include/c++/v1/__compare/strong_order.h:20: /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:587:12: error: no matching function for call to 'isnan' return std::isnan(__lcpp_x); ^~~~~~~~~~ /opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:601:19: note: in instantiation of function template specialization 'std::__constexpr_isnan>' requested here (std::__constexpr_isnan(__a) && std::__constexpr_isnan(__b)) ^ stan/lib/stan_math/stan/math/prim/fun/asinh.hpp:64:31: note: in instantiation of function template specialization 'std::operator*>' requested here auto y = log(z + sqrt(1 + z * z)); ^ stan/lib/stan_math/stan/math/rev/fun/asinh.hpp:89:32: note: in instantiation of function template specialization 'stan::math::internal::complex_asinh>' requested here return stan::math::internal::complex_asinh(z); ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/math.h:455:87: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'float' for 1st argument _LIBCPP_NODISCARD_EXT inline _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool isnan(float __x) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/math.h:459:114: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'double' for 1st argument _LIBCPP_NODISCARD_EXT inline _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI _LIBCPP_PREFERRED_OVERLOAD bool isnan(double __x) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/math.h:463:87: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'long double' for 1st argument _LIBCPP_NODISCARD_EXT inline _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool isnan(long double __x) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/math.h:445:80: note: candidate template ignored: requirement 'std::is_floating_point>::value' was not satisfied [with _A1 = stan::math::var_value] _LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool isnan(_A1 __x) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/math.h:450:80: note: candidate template ignored: requirement 'std::is_integral>::value' was not satisfied [with _A1 = stan::math::var_value] _LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_SINCE_CXX23 _LIBCPP_HIDE_FROM_ABI bool isnan(_A1) _NOEXCEPT { ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:8: In file included from src/cmdstan/arguments/arg_num_threads.hpp:5: In file included from stan/lib/stan_math/stan/math/prim/core/init_threadpool_tbb.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/err/invalid_argument.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/meta.hpp:72: In file included from stan/lib/stan_math/stan/math/prim/meta/append_return_type.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/fun/Eigen.hpp:22: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Dense:1: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Core:50: /opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:637:19: error: no matching function for call to '__constexpr_copysign' __a = std::__constexpr_copysign(std::__constexpr_isinf(__a) ? _Tp(1) : _Tp(0), __a); ^~~~~~~~~~~~~~~~~~~~~~~~~ stan/lib/stan_math/stan/math/prim/fun/asinh.hpp:64:31: note: in instantiation of function template specialization 'std::operator*>' requested here auto y = log(z + sqrt(1 + z * z)); ^ stan/lib/stan_math/stan/math/rev/fun/asinh.hpp:89:32: note: in instantiation of function template specialization 'stan::math::internal::complex_asinh>' requested here return stan::math::internal::complex_asinh(z); ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:630:54: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'float' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI float __constexpr_copysign(float __x, float __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:634:55: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'double' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI double __constexpr_copysign(double __x, double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:639:1: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'long double' for 1st argument __constexpr_copysign(long double __x, long double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:647:5: note: candidate template ignored: requirement 'std::is_arithmetic>::value' was not satisfied [with _A1 = stan::math::var_value, _A2 = stan::math::var_value] __constexpr_copysign(_A1 __x, _A2 __y) _NOEXCEPT { ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:8: In file included from src/cmdstan/arguments/arg_num_threads.hpp:5: In file included from stan/lib/stan_math/stan/math/prim/core/init_threadpool_tbb.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/err/invalid_argument.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/meta.hpp:72: In file included from stan/lib/stan_math/stan/math/prim/meta/append_return_type.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/fun/Eigen.hpp:22: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Dense:1: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Core:50: /opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:638:19: error: no matching function for call to '__constexpr_copysign' __b = std::__constexpr_copysign(std::__constexpr_isinf(__b) ? _Tp(1) : _Tp(0), __b); ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:630:54: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'float' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI float __constexpr_copysign(float __x, float __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:634:55: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'double' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI double __constexpr_copysign(double __x, double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:639:1: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'long double' for 1st argument __constexpr_copysign(long double __x, long double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:647:5: note: candidate template ignored: requirement 'std::is_arithmetic>::value' was not satisfied [with _A1 = stan::math::var_value, _A2 = stan::math::var_value] __constexpr_copysign(_A1 __x, _A2 __y) _NOEXCEPT { ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:8: In file included from src/cmdstan/arguments/arg_num_threads.hpp:5: In file included from stan/lib/stan_math/stan/math/prim/core/init_threadpool_tbb.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/err/invalid_argument.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/meta.hpp:72: In file included from stan/lib/stan_math/stan/math/prim/meta/append_return_type.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/fun/Eigen.hpp:22: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Dense:1: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Core:50: /opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:640:23: error: no matching function for call to '__constexpr_copysign' __c = std::__constexpr_copysign(_Tp(0), __c); ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:630:54: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'float' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI float __constexpr_copysign(float __x, float __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:634:55: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'double' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI double __constexpr_copysign(double __x, double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:639:1: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'long double' for 1st argument __constexpr_copysign(long double __x, long double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:647:5: note: candidate template ignored: requirement 'std::is_arithmetic>::value' was not satisfied [with _A1 = stan::math::var_value, _A2 = stan::math::var_value] __constexpr_copysign(_A1 __x, _A2 __y) _NOEXCEPT { ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:8: In file included from src/cmdstan/arguments/arg_num_threads.hpp:5: In file included from stan/lib/stan_math/stan/math/prim/core/init_threadpool_tbb.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/err/invalid_argument.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/meta.hpp:72: In file included from stan/lib/stan_math/stan/math/prim/meta/append_return_type.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/fun/Eigen.hpp:22: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Dense:1: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Core:50: /opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:642:23: error: no matching function for call to '__constexpr_copysign' __d = std::__constexpr_copysign(_Tp(0), __d); ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:630:54: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'float' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI float __constexpr_copysign(float __x, float __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:634:55: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'double' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI double __constexpr_copysign(double __x, double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:639:1: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'long double' for 1st argument __constexpr_copysign(long double __x, long double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:647:5: note: candidate template ignored: requirement 'std::is_arithmetic>::value' was not satisfied [with _A1 = stan::math::var_value, _A2 = stan::math::var_value] __constexpr_copysign(_A1 __x, _A2 __y) _NOEXCEPT { ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:8: In file included from src/cmdstan/arguments/arg_num_threads.hpp:5: In file included from stan/lib/stan_math/stan/math/prim/core/init_threadpool_tbb.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/err/invalid_argument.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/meta.hpp:72: In file included from stan/lib/stan_math/stan/math/prim/meta/append_return_type.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/fun/Eigen.hpp:22: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Dense:1: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Core:50: /opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:647:19: error: no matching function for call to '__constexpr_copysign' __c = std::__constexpr_copysign(std::__constexpr_isinf(__c) ? _Tp(1) : _Tp(0), __c); ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:630:54: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'float' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI float __constexpr_copysign(float __x, float __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:634:55: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'double' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI double __constexpr_copysign(double __x, double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:639:1: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'long double' for 1st argument __constexpr_copysign(long double __x, long double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:647:5: note: candidate template ignored: requirement 'std::is_arithmetic>::value' was not satisfied [with _A1 = stan::math::var_value, _A2 = stan::math::var_value] __constexpr_copysign(_A1 __x, _A2 __y) _NOEXCEPT { ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:8: In file included from src/cmdstan/arguments/arg_num_threads.hpp:5: In file included from stan/lib/stan_math/stan/math/prim/core/init_threadpool_tbb.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/err/invalid_argument.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/meta.hpp:72: In file included from stan/lib/stan_math/stan/math/prim/meta/append_return_type.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/fun/Eigen.hpp:22: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Dense:1: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Core:50: /opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:648:19: error: no matching function for call to '__constexpr_copysign' __d = std::__constexpr_copysign(std::__constexpr_isinf(__d) ? _Tp(1) : _Tp(0), __d); ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:630:54: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'float' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI float __constexpr_copysign(float __x, float __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:634:55: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'double' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI double __constexpr_copysign(double __x, double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:639:1: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'long double' for 1st argument __constexpr_copysign(long double __x, long double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:647:5: note: candidate template ignored: requirement 'std::is_arithmetic>::value' was not satisfied [with _A1 = stan::math::var_value, _A2 = stan::math::var_value] __constexpr_copysign(_A1 __x, _A2 __y) _NOEXCEPT { ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:8: In file included from src/cmdstan/arguments/arg_num_threads.hpp:5: In file included from stan/lib/stan_math/stan/math/prim/core/init_threadpool_tbb.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/err/invalid_argument.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/meta.hpp:72: In file included from stan/lib/stan_math/stan/math/prim/meta/append_return_type.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/fun/Eigen.hpp:22: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Dense:1: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Core:50: /opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:650:23: error: no matching function for call to '__constexpr_copysign' __a = std::__constexpr_copysign(_Tp(0), __a); ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:630:54: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'float' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI float __constexpr_copysign(float __x, float __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:634:55: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'double' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI double __constexpr_copysign(double __x, double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:639:1: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'long double' for 1st argument __constexpr_copysign(long double __x, long double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:647:5: note: candidate template ignored: requirement 'std::is_arithmetic>::value' was not satisfied [with _A1 = stan::math::var_value, _A2 = stan::math::var_value] __constexpr_copysign(_A1 __x, _A2 __y) _NOEXCEPT { ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:8: In file included from src/cmdstan/arguments/arg_num_threads.hpp:5: In file included from stan/lib/stan_math/stan/math/prim/core/init_threadpool_tbb.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/err/invalid_argument.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/meta.hpp:72: In file included from stan/lib/stan_math/stan/math/prim/meta/append_return_type.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/fun/Eigen.hpp:22: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Dense:1: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Core:50: /opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:652:23: error: no matching function for call to '__constexpr_copysign' __b = std::__constexpr_copysign(_Tp(0), __b); ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:630:54: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'float' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI float __constexpr_copysign(float __x, float __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:634:55: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'double' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI double __constexpr_copysign(double __x, double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:639:1: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'long double' for 1st argument __constexpr_copysign(long double __x, long double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:647:5: note: candidate template ignored: requirement 'std::is_arithmetic>::value' was not satisfied [with _A1 = stan::math::var_value, _A2 = stan::math::var_value] __constexpr_copysign(_A1 __x, _A2 __y) _NOEXCEPT { ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:8: In file included from src/cmdstan/arguments/arg_num_threads.hpp:5: In file included from stan/lib/stan_math/stan/math/prim/core/init_threadpool_tbb.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/err/invalid_argument.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/meta.hpp:72: In file included from stan/lib/stan_math/stan/math/prim/meta/append_return_type.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/fun/Eigen.hpp:22: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Dense:1: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Core:50: /opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:659:23: error: no matching function for call to '__constexpr_copysign' __a = std::__constexpr_copysign(_Tp(0), __a); ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:630:54: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'float' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI float __constexpr_copysign(float __x, float __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:634:55: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'double' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI double __constexpr_copysign(double __x, double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:639:1: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'long double' for 1st argument __constexpr_copysign(long double __x, long double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:647:5: note: candidate template ignored: requirement 'std::is_arithmetic>::value' was not satisfied [with _A1 = stan::math::var_value, _A2 = stan::math::var_value] __constexpr_copysign(_A1 __x, _A2 __y) _NOEXCEPT { ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:8: In file included from src/cmdstan/arguments/arg_num_threads.hpp:5: In file included from stan/lib/stan_math/stan/math/prim/core/init_threadpool_tbb.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/err/invalid_argument.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/meta.hpp:72: In file included from stan/lib/stan_math/stan/math/prim/meta/append_return_type.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/fun/Eigen.hpp:22: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Dense:1: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Core:50: /opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:661:23: error: no matching function for call to '__constexpr_copysign' __b = std::__constexpr_copysign(_Tp(0), __b); ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:630:54: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'float' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI float __constexpr_copysign(float __x, float __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:634:55: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'double' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI double __constexpr_copysign(double __x, double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:639:1: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'long double' for 1st argument __constexpr_copysign(long double __x, long double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:647:5: note: candidate template ignored: requirement 'std::is_arithmetic>::value' was not satisfied [with _A1 = stan::math::var_value, _A2 = stan::math::var_value] __constexpr_copysign(_A1 __x, _A2 __y) _NOEXCEPT { ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:8: In file included from src/cmdstan/arguments/arg_num_threads.hpp:5: In file included from stan/lib/stan_math/stan/math/prim/core/init_threadpool_tbb.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/err/invalid_argument.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/meta.hpp:72: In file included from stan/lib/stan_math/stan/math/prim/meta/append_return_type.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/fun/Eigen.hpp:22: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Dense:1: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Core:50: /opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:663:23: error: no matching function for call to '__constexpr_copysign' __c = std::__constexpr_copysign(_Tp(0), __c); ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:630:54: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'float' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI float __constexpr_copysign(float __x, float __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:634:55: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'double' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI double __constexpr_copysign(double __x, double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:639:1: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'long double' for 1st argument __constexpr_copysign(long double __x, long double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:647:5: note: candidate template ignored: requirement 'std::is_arithmetic>::value' was not satisfied [with _A1 = stan::math::var_value, _A2 = stan::math::var_value] __constexpr_copysign(_A1 __x, _A2 __y) _NOEXCEPT { ^ In file included from src/cmdstan/main.cpp:1: In file included from src/cmdstan/command.hpp:8: In file included from src/cmdstan/arguments/arg_num_threads.hpp:5: In file included from stan/lib/stan_math/stan/math/prim/core/init_threadpool_tbb.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/err/invalid_argument.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/meta.hpp:72: In file included from stan/lib/stan_math/stan/math/prim/meta/append_return_type.hpp:4: In file included from stan/lib/stan_math/stan/math/prim/fun/Eigen.hpp:22: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Dense:1: In file included from stan/lib/stan_math/lib/eigen_3.4.0/Eigen/Core:50: /opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:665:23: error: no matching function for call to '__constexpr_copysign' __d = std::__constexpr_copysign(_Tp(0), __d); ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:630:54: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'float' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI float __constexpr_copysign(float __x, float __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:634:55: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'double' for 1st argument _LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI double __constexpr_copysign(double __x, double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:639:1: note: candidate function not viable: no known conversion from 'stan::math::var_value' to 'long double' for 1st argument __constexpr_copysign(long double __x, long double __y) _NOEXCEPT { ^ /opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:647:5: note: candidate template ignored: requirement 'std::is_arithmetic>::value' was not satisfied [with _A1 = stan::math::var_value, _A2 = stan::math::var_value] __constexpr_copysign(_A1 __x, _A2 __y) _NOEXCEPT { ^ 38 warnings and 14 errors generated. make: *** [src/cmdstan/main.o] Error 1 ```

WardBrian commented 1 year ago

That is very similiar (if not completely identical) to the errors I've seeing in the conda CI

WardBrian commented 1 year ago

As far as I can tell, all the conda-forge people changed between the last release and now was updating from llvm 14 to llvm 15 (and the original issue is using llvm 16)

chukarsten commented 1 year ago

If it helps, I was indeed using my LLVM clang++. I then swapped to whatever clang++ was in my /usr/bin/clang++ and was able to achieve a successful cmdstan build with 2.32.0. Lots of sprintf deprecation warnings, but a success at least. I am trying to see if this success ports over to my install of prophet....which has succeeded!!

andrjohns commented 1 year ago

Good catch! I've managed to replicate locally and chased it down. It looks like llvm's templating for the complex multiply is giving it preference over ours during resolution. If I update the complex multiplications to use internal::complex_multiply() in:

Then all builds without error

WardBrian commented 1 year ago

Someone helping me out in the conda-forge chat has informed me that LLVM made some changes which are likely the result of this:

libc++ 16 made some changes that prevents ADL for the real type std::complex with a custom type is undefined behavior in the C++ standard

See also https://github.com/JohnCremona/eclib/pull/74#issue-1674192628

It seems that the claim about std::complex is true, see page 926 bullet point 2: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf

The effect of instantiating the template complex for any type other than float, double, or long double is unspecified.

WardBrian commented 1 year ago

https://github.com/llvm/llvm-project/issues/19563 seems like a relevant LLVM issue. We should probably just make the change to address this ourselves.

@andrjohns can you test that this doesn't break things further with e.g. Eigen::Matrix<std::complex<var>, -1, -1> and multiplication?

andrjohns commented 1 year ago

Good idea, I'll run the unit tests now

WardBrian commented 1 year ago

The fact that we can't trust operator*(complex<T>, complex<T>) is, to put it lightly, a huge bummer.

WardBrian commented 1 year ago

More from @isuruf who pointed me toward the changes:

the libc++ change was probably unrelated, but asking them to change it will probably be a waste of time as this is technically undefined behaviour Breaking change: https://reviews.llvm.org/D131963

Note that my reading of the standard is that the behavior is unspecified, not undefined. This doesn't make it any more likely that LLVM will change anything if we asked, though.

andrjohns commented 1 year ago

Yep, complex matrix multiplication is broken too:

andrew@Andrews-MacBook-Air stan_math % python ./runTests.py -j8 test/unit/math/mix/fun/multiply_complex_test
------------------------------------------------------------
make -j8 test/unit/math/mix/fun/multiply_complex_test
clang++ -Wno-deprecated-declarations -Wno-deprecated-builtins -std=c++1y -Wno-unknown-warning-option -Wno-tautological-compare -Wno-sign-compare -D_REENTRANT -Wno-ignored-attributes      -I lib/tbb_2020.3/include    -O3  -I . -I lib/eigen_3.4.0 -I lib/boost_1.78.0 -I lib/sundials_6.1.1/include -I lib/sundials_6.1.1/src/sundials -I lib/benchmark_1.5.1/googletest/googletest/include -I lib/benchmark_1.5.1/googletest/googletest -I lib/benchmark_1.5.1/googletest/googletest/include -I lib/benchmark_1.5.1/googletest/googletest      -DBOOST_DISABLE_ASSERTS            -c -o test/unit/math/mix/fun/multiply_complex_test.o test/unit/math/mix/fun/multiply_complex_test.cpp
In file included from test/unit/math/mix/fun/multiply_complex_test.cpp:1:
In file included from ./test/unit/math/test_ad.hpp:4:
In file included from ./stan/math/mix.hpp:4:
In file included from ./stan/math/mix/meta.hpp:6:
In file included from ./stan/math/fwd/core.hpp:4:
In file included from ./stan/math/fwd/core/fvar.hpp:4:
In file included from ./stan/math/prim/meta.hpp:72:
In file included from ./stan/math/prim/meta/append_return_type.hpp:4:
In file included from ./stan/math/prim/fun/Eigen.hpp:22:
In file included from lib/eigen_3.4.0/Eigen/Dense:1:
In file included from lib/eigen_3.4.0/Eigen/Core:19:
In file included from lib/eigen_3.4.0/Eigen/src/Core/util/Macros.h:679:
/opt/homebrew/opt/llvm/bin/../include/c++/v1/cmath:607:12: error: no matching function for call to 'isinf'
    return std::isinf(__lcpp_x);
           ^~~~~~~~~~
/opt/homebrew/opt/llvm/bin/../include/c++/v1/complex:598:29: note: in instantiation of function template specialization 'std::__constexpr_isinf<stan::math::var_value<double>>' requested here
        bool __z_inf = std::__constexpr_isinf(__a) || std::__constexpr_isinf(__b);
                            ^
lib/eigen_3.4.0/Eigen/src/Core/functors/BinaryFunctors.h:80:122: note: in instantiation of function template specialization 'std::operator*<stan::math::var_value<double>>' requested here
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator() (const LhsScalar& a, const RhsScalar& b) const { return a * b; }
                                                                                                                         ^
lib/eigen_3.4.0/Eigen/src/Core/CoreEvaluators.h:775:12: note: in instantiation of member function 'Eigen::internal::scalar_product_op<std::complex<stan::math::var>>::operator()' requested here
    return m_d.func()(m_d.lhsImpl.coeff(index), m_d.rhsImpl.coeff(index));
           ^
lib/eigen_3.4.0/Eigen/src/Core/AssignEvaluator.h:660:56: note: in instantiation of member function 'Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<std::complex<stan::math::var>>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<std::complex<stan::math::var>>, const Eigen::Matrix<std::complex<stan::math::var>, -1, -1, 0>>, const Eigen::Matrix<std::complex<stan::math::var>, -1, -1, 0>>, Eigen::internal::IndexBased, Eigen::internal::IndexBased, std::complex<stan::math::var>, std::complex<stan::math::var>>::coeff' requested here
    m_functor.assignCoeff(m_dst.coeffRef(index), m_src.coeff(index));
                                                       ^
lib/eigen_3.4.0/Eigen/src/Core/AssignEvaluator.h:518:14: note: in instantiation of member function 'Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<std::complex<stan::math::var>, -1, -1, 0>>, Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<std::complex<stan::math::var>>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<std::complex<stan::math::var>>, const Eigen::Matrix<std::complex<stan::math::var>, -1, -1, 0>>, const Eigen::Matrix<std::complex<stan::math::var>, -1, -1, 0>>>, Eigen::internal::assign_op<std::complex<stan::math::var>, std::complex<stan::math::var>>>::assignCoeff' requested here
      kernel.assignCoeff(i);
andrjohns commented 1 year ago

Looks like the fix is explicit overloads, i.e.:

inline std::complex<stan::math::var> operator*(const std::complex<stan::math::var>& x,
                                        const std::complex<stan::math::var>& y) {
  return internal::complex_multiply(x, y);
}

inline std::complex<stan::math::var> operator*(const std::complex<double>& x,
                                        const std::complex<stan::math::var>& y) {
  return internal::complex_multiply(x, y);
}

inline std::complex<stan::math::var> operator*(const std::complex<stan::math::var>& x,
                                        const std::complex<double>& y) {
  return internal::complex_multiply(x, y);
}

matrix multiply unit tests pass if I add those overloads for var and fvar<T>. I'll run the full unit tests and see if any other breakages occur, then open a PR with the fix

WardBrian commented 1 year ago

Do you mind trying all the files in https://github.com/stan-dev/stanc3/tree/master/test/integration/good/code-gen/complex_numbers (after your fixes)?

If we define that many overloads it might be worth soon thinking about making our own complex template type, since future compiler versions are still free to break anything they want it seems.

Should we add an extra CI run (maybe monthly?) which uses bleeding-edge LLVM and GCC builds? We also just caught https://github.com/stan-dev/math/issues/2889

WardBrian commented 1 year ago

Closed by https://github.com/stan-dev/math/pull/2892