 {
   const size_t n = 0;
 
-  my_system sys(0);
+  my_memory_system sys(0);
   thrust::malloc(sys, n);
 
   ASSERT_EQUAL(true, sys.is_valid());



template<typename T>
  thrust::pair<thrust::pointer<T,my_system>, std::ptrdiff_t>
    get_temporary_buffer(my_system &system, std::ptrdiff_t n)
{
  system.validate_dispatch();

  thrust::device_system_tag device_sys;
  thrust::pair<thrust::pointer<T, thrust::device_system_tag>, std::ptrdiff_t> result = thrust::get_temporary_buffer<T>(device_sys, n);
  return thrust::make_pair(thrust::pointer<T,my_system>(result.first.get()), result.second);
}



{
  using thrust::system::detail::generic::select_system;

  my_memory_system my_sys(0);
  thrust::device_system_tag device_sys;

  // select_system(my_system, device_system_tag) should return device_system_tag (the minimum tag)
