Fix compile issues when using cuda 12
CUDA 12 adds a cub::Swap
function that creates ambiguity with vtkm::Swap
.
This happens when a function from the cub
namespace is called with an object
of a class defined in the vtkm
namespace as an argument. If that function
has an unqualified call to Swap
, it results in ADL being used, causing the
templated functions cub::Swap
and vtkm::Swap
to conflict.
This is a backport of !2960 (merged)