Ref T387 Use a C-style cast to work around a buggy clang warning.

This commit is contained in:
Mat Sutcliffe
2018-10-24 22:32:01 +01:00
committed by Klaus Basan
parent 8716ef4f2d
commit 00c5e989d2
2 changed files with 6 additions and 3 deletions

View File

@@ -151,7 +151,8 @@ namespace BlackMisc
// parameter pack swallow idiom
static_cast<void>(std::initializer_list<int>
{
(static_cast<void>(std::forward<F>(visitor)(std::get<Is>(std::forward<T>(tuple)))), 0)...
//! \fixme C-style cast is needed due to a clang bug: https://bugs.llvm.org/show_bug.cgi?id=39375
((void)(std::forward<F>(visitor)(std::get<Is>(std::forward<T>(tuple)))), 0)...
});
}
//! \private
@@ -161,7 +162,8 @@ namespace BlackMisc
// parameter pack swallow idiom
static_cast<void>(std::initializer_list<int>
{
(static_cast<void>(std::forward<F>(visitor)(std::get<Is * 2>(std::forward<T>(tuple)), std::get<Is * 2 + 1>(std::forward<T>(tuple)))), 0)...
//! \fixme C-style cast is needed due to a clang bug: https://bugs.llvm.org/show_bug.cgi?id=39375
((void)(std::forward<F>(visitor)(std::get<Is * 2>(std::forward<T>(tuple)), std::get<Is * 2 + 1>(std::forward<T>(tuple)))), 0)...
});
}
}

View File

@@ -264,7 +264,8 @@ namespace BlackMisc
// parameter pack swallow idiom
static_cast<void>(std::initializer_list<int>
{
(static_cast<void>(std::forward<F>(visitor)(members().at(index<Is>()))), 0)...
//! \fixme C-style cast is needed due to a clang bug: https://bugs.llvm.org/show_bug.cgi?id=39375
((void)(std::forward<F>(visitor)(members().at(index<Is>()))), 0)...
});
}