Export of internal Abseil changes.
-- 7672429b51fa4edc9e2386f3d6ead89a33e523c0 by Xiaoyi Zhang <zhangxy@google.com>: Work around a bug in MSVC 2015 which causes compiler error when building variant_test with inline namespace for the LTS release. The bug is reduced to https://godbolt.org/g/hvqDVz. PiperOrigin-RevId: 201343049 -- dfe4f3869aa4b70dda69631816103e7b2c53c593 by Shaindel Schwartz <shaindel@google.com>: Update date for LTS branch. PiperOrigin-RevId: 201335133 -- 9a8f41ddd0c75d5d2746141f61ba5736cfbde494 by Abseil Team <absl-team@google.com>: Update bazel_toolchains to the latest commit. PiperOrigin-RevId: 201231595 -- f6d5d5d08e638424073d0bc31bb4ed4d1ef512e2 by Tom Manshreck <shreck@google.com>: Fix LTS wording, move to top level PiperOrigin-RevId: 201054433 GitOrigin-RevId: 7672429b51fa4edc9e2386f3d6ead89a33e523c0 Change-Id: Id63a986870993889258f6364634a7880d226d187
This commit is contained in:
parent
bd40a41cc1
commit
d89dba27e3
4 changed files with 29 additions and 36 deletions
|
|
@ -445,9 +445,11 @@ constexpr bool operator!=(monostate, monostate) noexcept { return false; }
|
|||
//------------------------------------------------------------------------------
|
||||
template <typename T0, typename... Tn>
|
||||
class variant<T0, Tn...> : private variant_internal::VariantBase<T0, Tn...> {
|
||||
// Intentionally not qualifing `negation` with `absl::` to work around a bug
|
||||
// in MSVC 2015 with inline namespace and variadic template.
|
||||
static_assert(absl::conjunction<std::is_object<T0>, std::is_object<Tn>...,
|
||||
absl::negation<std::is_array<T0>>,
|
||||
absl::negation<std::is_array<Tn>>...,
|
||||
negation<std::is_array<T0> >,
|
||||
negation<std::is_array<Tn> >...,
|
||||
std::is_nothrow_destructible<T0>,
|
||||
std::is_nothrow_destructible<Tn>...>::value,
|
||||
"Attempted to instantiate a variant with an unsupported type.");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue