From cad5dc7b711e30bc41fb98b906dccf8bfa75d5fc Mon Sep 17 00:00:00 2001 From: Kenneth Moreland Date: Tue, 23 Mar 2021 13:34:39 -0600 Subject: [PATCH] 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. --- vtkm/internal/VariantImpl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vtkm/internal/VariantImpl.h b/vtkm/internal/VariantImpl.h index 5e6784d14..11acef38e 100644 --- a/vtkm/internal/VariantImpl.h +++ b/vtkm/internal/VariantImpl.h @@ -93,7 +93,7 @@ struct VariantTriviallyCopyable; template struct VariantTriviallyCopyable> - : vtkmstd::is_trivially_copyable> + : AllTriviallyCopyable { }; @@ -102,7 +102,7 @@ struct VariantTriviallyConstructible; template struct VariantTriviallyConstructible> - : vtkmstd::is_trivially_constructible> + : AllTriviallyConstructible { };