From 5273dbe92d8b21c75573f9c1c9e8a80f2883a116 Mon Sep 17 00:00:00 2001 From: Andrew Krieger Date: Sun, 12 Nov 2017 14:31:02 -0800 Subject: [PATCH] Fix an ICE in MSVC from functional/Invoke.h Summary: Similar to https://github.com/facebook/folly/commit/29ffcc50981fd50dd2ab1a69f8a262c4b7c27ad4, (D6254219), this was manifesting as random ICEs that repro consistently in a given file on a given machine, but in different files for different machines and sometimes not at all. Reviewed By: Orvid, yfeldblum Differential Revision: D6303186 fbshipit-source-id: d91ad633352fc5c28640e71fd1539f6a4ba8f70f --- folly/functional/Invoke.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/folly/functional/Invoke.h b/folly/functional/Invoke.h index 71eabb5e..6dce01c0 100644 --- a/folly/functional/Invoke.h +++ b/folly/functional/Invoke.h @@ -86,9 +86,10 @@ using invoke_result_ = decltype(invoke(std::declval(), std::declval()...)); template -using invoke_nothrow_ = std::integral_constant< - bool, - noexcept(invoke(std::declval(), std::declval()...))>; +struct invoke_nothrow_ + : std::integral_constant< + bool, + noexcept(invoke(std::declval(), std::declval()...))> {}; // from: http://en.cppreference.com/w/cpp/types/result_of, CC-BY-SA -- 2.34.1