Я думаю, что ваша проблема здесь может быть __clang
против __clang__
для идентификации компилятора.Clang имеет разные предопределенные макросы в зависимости от того, какой интерфейс используется.Из-за этой путаницы вы можете не включить заголовок boost/type_traits/is_assignable.hpp
, который определяет is_assignable
, который вам не хватает.Попробуйте это: В boost / type_traits / has_trivial_move_assign.hpp добавьте || defined(__clang__)
строку, которая проверяет clang
#if defined(__GNUC__) || defined(__clang)
#include <boost/type_traits/is_assignable.hpp>
, чтобы сделать:
#if defined(__GNUC__) || defined(__clang) || defined(__clang__)
#include <boost/type_traits/is_assignable.hpp>
Повышение должно включать is_assignable.hpp истроить.