build: stop supporting msvc toolset v141

This commit is contained in:
Michele Caini
2024-05-13 11:43:35 +02:00
parent 640f02bd16
commit e4ef61ca93
4 changed files with 6 additions and 13 deletions

View File

@@ -84,10 +84,8 @@ jobs:
strategy:
matrix:
toolset: [default, v141, v142, clang-cl]
toolset: [default, v142, clang-cl]
include:
- toolset: v141
toolset_option: -T"v141"
- toolset: v142
toolset_option: -T"v142"
- toolset: clang-cl

View File

@@ -574,7 +574,7 @@ inline constexpr bool value_list_contains_v = value_list_contains<List, Value>::
/*! @brief Primary template isn't defined on purpose. */
template<typename...>
class value_list_diff;
struct value_list_diff;
/**
* @brief Computes the difference between two value lists.
@@ -582,12 +582,9 @@ class value_list_diff;
* @tparam Other Values provided by the second value list.
*/
template<auto... Value, auto... Other>
class value_list_diff<value_list<Value...>, value_list<Other...>> {
using v141_toolset_workaround = value_list<Other...>;
public:
struct value_list_diff<value_list<Value...>, value_list<Other...>> {
/*! @brief A value list that is the difference between the two value lists. */
using type = value_list_cat_t<std::conditional_t<value_list_contains_v<v141_toolset_workaround, Value>, value_list<>, value_list<Value>>...>;
using type = value_list_cat_t<std::conditional_t<value_list_contains_v<value_list<Other...>, Value>, value_list<>, value_list<Value>>...>;
};
/**

View File

@@ -696,8 +696,7 @@ private:
*/
template<typename... Owned, typename... Get, typename... Exclude>
class basic_group<owned_t<Owned...>, get_t<Get...>, exclude_t<Exclude...>> {
// nasty workaround for an issue with the toolset v141 that doesn't accept a fold expression here
static_assert(!std::disjunction_v<std::bool_constant<component_traits<typename Owned::value_type>::in_place_delete>...>, "Groups do not support in-place delete");
static_assert((!component_traits<typename Owned::value_type>::in_place_delete && ...), "Groups do not support in-place delete");
using base_type = std::common_type_t<typename Owned::base_type..., typename Get::base_type..., typename Exclude::base_type...>;
using underlying_type = typename base_type::entity_type;

View File

@@ -389,8 +389,7 @@ class basic_view<get_t<Get...>, exclude_t<Exclude...>>: public basic_common_view
template<typename Type>
static constexpr std::size_t index_of = type_list_index_v<std::remove_const_t<Type>, type_list<typename Get::element_type..., typename Exclude::element_type...>>;
// yet another workaround for an issue with the toolset v141 that doesn't accept a plain fold expression here
static constexpr bool tombstone_check_required = std::bool_constant<((sizeof...(Get) == 1u) && ... && (Get::storage_policy == deletion_policy::in_place))>::value;
static constexpr bool tombstone_check_required = ((sizeof...(Get) == 1u) && ... && (Get::storage_policy == deletion_policy::in_place));
template<std::size_t... Index>
auto get(const typename base_type::entity_type entt, std::index_sequence<Index...>) const noexcept {