From 0851643af5976c5408e1bd29c816066248f49ad4 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Mon, 9 Mar 2020 19:59:19 +0200 Subject: [PATCH] Change mp_invoke on Clang to use a struct, because deprecated alias templates never warn --- include/boost/mp11/utility.hpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/include/boost/mp11/utility.hpp b/include/boost/mp11/utility.hpp index adbed4d..a8a32fb 100644 --- a/include/boost/mp11/utility.hpp +++ b/include/boost/mp11/utility.hpp @@ -222,8 +222,23 @@ template using mp_invoke_q = typename Q::template fn; #endif // old name for mp_invoke_q retained for compatibility, but deprecated +#if !defined(__clang__) + template using mp_invoke BOOST_MP11_DEPRECATED("please use mp_invoke_q") = mp_invoke_q; +#else + +// Clang doesn't warn on deprecated alias templates + +template struct BOOST_MP11_DEPRECATED("please use mp_invoke_q") mp_invoke_ +{ + using type = mp_invoke_q; +}; + +template using mp_invoke = typename mp_invoke_::type; + +#endif + // mp_not_fn

template class P> struct mp_not_fn {