[Fix] GCC compilation issue caused by template specialization (#287)
This commit is contained in:
@@ -198,8 +198,10 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct promise_result<void> {
|
||||
// WORKAROUND: GCC bug - full specialization in non-namespace scope not supported
|
||||
// see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85282
|
||||
template <std::same_as<void> V>
|
||||
struct promise_result<V> {
|
||||
void return_void() noexcept {}
|
||||
};
|
||||
|
||||
|
||||
@@ -175,7 +175,7 @@ struct Serde<llvm::StringRef> {
|
||||
}
|
||||
};
|
||||
|
||||
template <std::size_t N>
|
||||
template <unsigned N>
|
||||
struct Serde<llvm::SmallString<N>> {
|
||||
using V = llvm::SmallString<N>;
|
||||
|
||||
|
||||
@@ -300,7 +300,7 @@ template <typename... Ts>
|
||||
struct Struct<Inheritance<Ts...>> {
|
||||
constexpr inline static bool reflectable_struct = (refl::reflectable_struct<Ts> && ...);
|
||||
|
||||
constexpr static std::size_t member_count = (Struct<Ts>::member_count + ...);
|
||||
constexpr static std::size_t member_count = (impl::member_count<Ts>() + ...);
|
||||
|
||||
template <typename Object>
|
||||
constexpr static auto collect_members(Object&& object) {
|
||||
|
||||
Reference in New Issue
Block a user