code: def test_supports_out(self):
      x = testing.shaped_arange((2, 3, 4, 5))
      out = cupy.empty((2, 3, 4, 5))
      out_ptr = out.data.ptr
  
      def func(x, out=None):
          nonlocal out_ptr
          # Base is a view of the output due to the batching
          assert out.base.data.ptr == out_ptr
          out[:] = x
  
      gu_func = _GUFunc(func, "(i,j)->(i,j)", supports_out=True)
      gu_func(x, out=out)
      testing.assert_allclose(x, out)
  
imports: import numpy
  import pytest
  import cupy
  from cupy import testing
  from cupy._core._gufuncs import _GUFunc
label_desc: Use image node_id 3 for calling the TestGUFuncOut obj's underlying member method code with example usage: obj.test_supports_out() without return types