From 0691018321f03aad662d7d2ae5b3e060c7109e3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Tue, 26 Mar 2019 22:42:10 +0100 Subject: [PATCH] Avoid using is_convertible during allocator version detection to avoid incomplete type problems in clang compilers. has_version, has already checked the existence of the "version" typedef. --- include/boost/container/detail/version_type.hpp | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/include/boost/container/detail/version_type.hpp b/include/boost/container/detail/version_type.hpp index c2531cc..58e9da6 100644 --- a/include/boost/container/detail/version_type.hpp +++ b/include/boost/container/detail/version_type.hpp @@ -39,24 +39,14 @@ struct version_type : public dtl::integral_constant { typedef T type; - - version_type(const version_type&); }; namespace impl{ -template , typename T::version>::value> -struct extract_version -{ - static const unsigned value = 1; -}; - template -struct extract_version -{ - static const unsigned value = T::version::value; -}; +struct extract_version + : T::version +{}; template struct has_version