 {
   void operator()(const size_t n)
   {
+#ifdef __APPLE__
+    // nvcc has trouble with the add_pairs struct it seems
+    KNOWN_FAILURE
+#else
     typedef thrust::pair<T,T> P;
 
     thrust::host_vector<T>   h_p1 = thrusttest::random_integers<T>(n);

{
  void operator()(const size_t n)
  {
    typedef thrust::pair<T,T> P;

    thrust::host_vector<T>   h_p1 = thrusttest::random_integers<T>(n);

    thrust::exclusive_scan(d_pairs.begin(), d_pairs.end(), d_pairs.begin(), init, add_pairs());

    ASSERT_EQUAL_QUIET(h_pairs, d_pairs);
#endif // __APPLE__
  }
};
VariableUnitTest<TestPairScan, IntegralTypes> TestPairScanInstance;
