From: Christopher Dykes Date: Tue, 7 Nov 2017 21:53:30 +0000 (-0800) Subject: Workaround a bug in MSVC X-Git-Tag: v2017.11.13.00~23 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=29ffcc50981fd50dd2ab1a69f8a262c4b7c27ad4;p=folly.git Workaround a bug in MSVC Summary: It was broken, now it is fixed. https://developercommunity.visualstudio.com/content/problem/145407/incorrect-c3520-within-noexcept-expression-in-alia.html Reviewed By: yfeldblum Differential Revision: D6254219 fbshipit-source-id: a03961db97d7ac211103655229c1ea703405826a --- diff --git a/folly/functional/Invoke.h b/folly/functional/Invoke.h index 2eab3ff6..71eabb5e 100644 --- a/folly/functional/Invoke.h +++ b/folly/functional/Invoke.h @@ -227,9 +227,10 @@ struct is_nothrow_invocable_r using result_ = \ decltype(::std::declval().membername(::std::declval()...)); \ template \ - using nothrow_ = ::std::integral_constant< \ - bool, \ - noexcept(::std::declval().membername(::std::declval()...))>; \ + struct nothrow_ : std::integral_constant< \ + bool, \ + noexcept(::std::declval().membername( \ + ::std::declval()...))> {}; \ \ template \ struct invoke_result_ {}; \