diff --git a/include/ylt/struct_pack/struct_pack_impl.hpp b/include/ylt/struct_pack/struct_pack_impl.hpp index bb0f966e0..d58332815 100644 --- a/include/ylt/struct_pack/struct_pack_impl.hpp +++ b/include/ylt/struct_pack/struct_pack_impl.hpp @@ -518,8 +518,12 @@ consteval type_id get_type_id() { else if constexpr (std::is_enum_v) { return get_integral_type>(); } - else if constexpr (std::is_integral_v || std::is_same_v<__int128, T> || - std::is_same_v) { + else if constexpr (std::is_integral_v +#if __GNUC__ || __CLANG__ + || std::is_same_v<__int128, T> || + std::is_same_v +#endif + ) { return get_integral_type(); } else if constexpr (std::is_floating_point_v) { @@ -574,7 +578,7 @@ consteval type_id get_type_id() { else { static_assert(!sizeof(T), "not supported type"); } -} +} // namespace detail template consteval decltype(auto) get_size_literal() {