No public description
PiperOrigin-RevId: 681472661
diff --git a/fuzztest/internal/meta.h b/fuzztest/internal/meta.h
index c15dbd2..0a293ca 100644
--- a/fuzztest/internal/meta.h
+++ b/fuzztest/internal/meta.h
@@ -665,7 +665,7 @@
template <typename T>
constexpr std::optional<int> DetectBraceInitCount() {
constexpr auto can_init_impl =
- [](auto... I) -> decltype(T{(I, AnythingBut<T>{})...}) {};
+ [](auto... I) -> decltype(T{{(I, AnythingBut<T>{})}...}) {};
constexpr auto can_init = [](auto... I) {
return std::is_invocable_v<decltype(can_init_impl), decltype(I)...>;
};
@@ -704,7 +704,7 @@
// Detect if the first initialization field is a base class.
constexpr auto no_base_impl = [](auto... I)
- -> decltype(T{AnythingButBaseOf<T>{}, (I, AnythingBut<T>{})...}) {};
+ -> decltype(T{AnythingButBaseOf<T>{}, {(I, AnythingBut<T>{})}...}) {};
constexpr auto no_base = [](auto... I) {
return std::is_invocable_v<decltype(no_base_impl), decltype(I)...>;
};
@@ -717,8 +717,9 @@
// Detect if the second initialization field is a base class.
constexpr auto no_two_bases_impl =
- [](auto... I) -> decltype(T{AnythingBut<T>{}, AnythingButBaseOf<T>{},
- (I, AnythingBut<T>{})...}) {};
+ [](auto... I) -> decltype(T{AnythingBut<T>{},
+ AnythingButBaseOf<T>{},
+ {(I, AnythingBut<T>{})}...}) {};
constexpr auto no_two_bases = [](auto... I) {
return std::is_invocable_v<decltype(no_two_bases_impl), decltype(I)...>;
};
diff --git a/fuzztest/internal/type_support.h b/fuzztest/internal/type_support.h
index 108a1ed..f1e0aad 100644
--- a/fuzztest/internal/type_support.h
+++ b/fuzztest/internal/type_support.h
@@ -555,7 +555,7 @@
template <typename T>
decltype(auto) AutodetectTypePrinter() {
- if constexpr (std::numeric_limits<T>::is_integer || std::is_enum_v<T>) {
+ if constexpr (std::is_integral_v<T> || std::is_enum_v<T>) {
return IntegralPrinter{};
} else if constexpr (std::is_floating_point_v<T>) {
return FloatingPrinter{};