Fix an ICE in MSVC from functional/Invoke.h
[folly.git] / folly / functional / Invoke.h
index 71eabb5e7254a1ef8e98bbfd74aef5dab77268f0..6dce01c0687a2a4a51044a2c7031521a613ebf7b 100644 (file)
@@ -86,9 +86,10 @@ using invoke_result_ =
     decltype(invoke(std::declval<F>(), std::declval<Args>()...));
 
 template <typename F, typename... Args>
-using invoke_nothrow_ = std::integral_constant<
-    bool,
-    noexcept(invoke(std::declval<F>(), std::declval<Args>()...))>;
+struct invoke_nothrow_
+    : std::integral_constant<
+          bool,
+          noexcept(invoke(std::declval<F>(), std::declval<Args>()...))> {};
 
 //  from: http://en.cppreference.com/w/cpp/types/result_of, CC-BY-SA