code: def _deprecate_out_named_y(f):
      """
      Allow the out argument to be passed as the name `y` (deprecated)
  
      In future, this decorator should be removed.
      """
  
      @functools.wraps(f)
      def func(x, out=None, **kwargs):
          if "y" in kwargs:
              if "out" in kwargs:
                  raise TypeError(
                      "{} got multiple values for argument 'out'/'y'".format(
                          f.__name__
                      )
                  )
              out = kwargs.pop("y")
              # NumPy 1.13.0, 2017-04-26
              warnings.warn(
                  "The name of the out argument to {} has changed from `y` to "
                  "`out`, to match other ufuncs.".format(f.__name__),
                  DeprecationWarning,
                  stacklevel=3,
              )
          return f(x, out=out, **kwargs)
  
      return func
  
file_path: catboost/contrib/python/numpy/py2/numpy/lib/ufunclike.py
imports: from __future__ import division, absolute_import, print_function
  import numpy.core.numeric
  from numpy.core.overrides import array_function_dispatch, ENABLE_ARRAY_FUNCTION
  import warnings
  import functools
label_desc: Use image node_id 1 for calling a global function with example usage: _deprecate_out_named_y(f) and returns: func, f