From f5edd7dcaf8308a946d3843940e2f7a5f40ca44f Mon Sep 17 00:00:00 2001 From: Christopher Dykes Date: Mon, 20 Nov 2017 13:44:02 -0800 Subject: [PATCH] Work around a bug in MSVC name lookup within templated friend contexts Summary: MSVC has a bug that causes it to think that `once_flag` in this context resolves to the `using` statement further up, rather than `detail::once_flag`. Reviewed By: yfeldblum Differential Revision: D6376501 fbshipit-source-id: 481dbd75ed21f3d519bd920258fa743f314668ad --- folly/synchronization/CallOnce.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/folly/synchronization/CallOnce.h b/folly/synchronization/CallOnce.h index 4d4bf0f4..51543ea2 100644 --- a/folly/synchronization/CallOnce.h +++ b/folly/synchronization/CallOnce.h @@ -83,12 +83,12 @@ class once_flag { template friend void ::folly::call_once( - once_flag& flag, + detail::once_flag& flag, Callable&& f, Args&&... args); template friend void call_once_impl_no_inline( - once_flag& flag, + detail::once_flag& flag, Callable&& f, Args&&... args); -- 2.34.1