Commit cad5dc7b authored by Kenneth Moreland's avatar Kenneth Moreland
Browse files

Avoid is_trivially_copyable on VariantUnion

For some reason some versions of the CUDA compiler would return true for
`is_trivially_copyable` on a `VariantUnion` even when the types of the
union caused the copy constructor to get deleted.

Solve the problem by using `AllTriviallyCopyable` instead of directly
caling `is_trivially_copyable` on the union.
parent cb60401a
...@@ -93,7 +93,7 @@ struct VariantTriviallyCopyable; ...@@ -93,7 +93,7 @@ struct VariantTriviallyCopyable;
template <typename... Ts> template <typename... Ts>
struct VariantTriviallyCopyable<vtkm::VTK_M_NAMESPACE::internal::Variant<Ts...>> struct VariantTriviallyCopyable<vtkm::VTK_M_NAMESPACE::internal::Variant<Ts...>>
: vtkmstd::is_trivially_copyable<VariantUnion<Ts...>> : AllTriviallyCopyable<Ts...>
{ {
}; };
...@@ -102,7 +102,7 @@ struct VariantTriviallyConstructible; ...@@ -102,7 +102,7 @@ struct VariantTriviallyConstructible;
template <typename... Ts> template <typename... Ts>
struct VariantTriviallyConstructible<vtkm::VTK_M_NAMESPACE::internal::Variant<Ts...>> struct VariantTriviallyConstructible<vtkm::VTK_M_NAMESPACE::internal::Variant<Ts...>>
: vtkmstd::is_trivially_constructible<VariantUnion<Ts...>> : AllTriviallyConstructible<Ts...>
{ {
}; };
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment