Summary:
Template pack expansion plays much nicer when being expanded into the template parameters of a base class than it does as the template parameters to a templated `using` when under MSVC.
This fixes the other half of `folly::exception_wrapper`.
Reviewed By: yfeldblum
Differential Revision:
D4874047
fbshipit-source-id:
6593d10f8737b940bd550353e54f43bc96402a48
// Lighter-weight than Conjunction, but evaluates all sub-conditions eagerly.
template <class... Ts>
-using StrictConjunction =
- std::is_same<Bools<Ts::value..., true>, Bools<true, Ts::value...>>;
+struct StrictConjunction
+ : std::is_same<Bools<Ts::value..., true>, Bools<true, Ts::value...>> {};
} // namespace folly