internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: ivy-llc/ivy

Issue:
Too many positional arguments for function call `get_referrers_recursive()`
In the following function call, all the arguments are passed as `positional` arguments. 
https://github.com/unifyai/ivy/blob/0984dae7599deb043d491e339eb7d908cb16a774/ivy/functional/ivy/general.py#L256-L258
From the function definition few of them should be passed as `key-word only` arguments.
https://github.com/unifyai/ivy/blob/0984dae7599deb043d491e339eb7d908cb16a774/ivy/functional/ivy/general.py#L182-L189


Discussion:

Resolving patch:
diff --git a/ivy/functional/ivy/general.py b/ivy/functional/ivy/general.py
--- a/ivy/functional/ivy/general.py
+++ b/ivy/functional/ivy/general.py
@@ -254,7 +254,11 @@ def get_referrers_recursive(
 
         def get_referrers_recursive_inner():
             return get_referrers_recursive(
-                ref, depth + 1, max_depth, seen_set, local_set
+                ref,
+                depth=depth + 1,
+                max_depth=max_depth,
+                seen_set=seen_set,
+                local_set=local_set,
             )
 
         this_repr = "tracked" if seen else str(ref).replace(" ", "")


Test patch:
Repository: ivy-llc/ivy

Issue:
__long__ 



Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/paddle/tensor/tensor.py b/ivy/functional/frontends/paddle/tensor/tensor.py
--- a/ivy/functional/frontends/paddle/tensor/tensor.py
+++ b/ivy/functional/frontends/paddle/tensor/tensor.py
@@ -221,6 +221,23 @@ def __rdiv__(self, y, /, name=None):
     def __int__(self):
         return int(self._ivy_array)
 
+    @with_unsupported_dtypes(
+        {
+            "2.5.2 and below": (
+                "bool",
+                "unsigned",
+                "int8",
+                "int32",
+                "int64",
+                "float16",
+                "bfloat16",
+            )
+        },
+        "paddle",
+    )
+    def __long__(self):
+        return int(self._ivy_array)
+
     # Instance Methods #
     # ---------------- #
 


Test patch:
diff --git a/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py b/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
--- a/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
+++ b/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
@@ -831,6 +831,46 @@ def test_paddle__len__(
     )
 
 
+# long
+@handle_frontend_method(
+    class_tree=CLASS_TREE,
+    init_tree="paddle.to_tensor",
+    method_name="__long__",
+    dtype_and_x=helpers.dtype_and_values(
+        available_dtypes=helpers.get_dtypes("integer"),
+        max_num_dims=0,
+        min_value=-1e15,
+        max_value=1e15,
+    ),
+)
+def test_paddle__long__(
+    dtype_and_x,
+    frontend_method_data,
+    init_flags,
+    method_flags,
+    backend_fw,
+    frontend,
+    on_device,
+):
+    input_dtypes, xs = dtype_and_x
+    # Numpy doesn't support complex to int conversion
+    assume(not np.issubdtype(input_dtypes[0], np.complexfloating))
+    helpers.test_frontend_method(
+        init_input_dtypes=input_dtypes,
+        backend_to_test=backend_fw,
+        method_input_dtypes=input_dtypes,
+        init_all_as_kwargs_np={
+            "object": xs[0],
+        },
+        method_all_as_kwargs_np={},
+        frontend=frontend,
+        frontend_method_data=frontend_method_data,
+        init_flags=init_flags,
+        method_flags=method_flags,
+        on_device=on_device,
+    )
+
+
 # __ne__
 @handle_frontend_method(
     class_tree=CLASS_TREE,
Repository: ivy-llc/ivy

Issue:
Raising `str` while only classes or instances are allowed
In the following line, a `string` is raised but this will also result in a `TypeError: exceptions must derive from BaseException`
https://github.com/unifyai/ivy/blob/3b449c63256153a401961bd2ee0c31a897531123/ivy/functional/frontends/tensorflow/linalg.py#L509
So, I think it is better to raise like this: `ValueError("Unexpected diagonals_format")`


Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/tensorflow/linalg.py b/ivy/functional/frontends/tensorflow/linalg.py
--- a/ivy/functional/frontends/tensorflow/linalg.py
+++ b/ivy/functional/frontends/tensorflow/linalg.py
@@ -506,4 +506,4 @@ def tridiagonal_solve(
         )
         return ivy.solve(constructed_matrix, rhs_copy)
     else:
-        raise "Unexpected diagonals_format"
+        raise ValueError("Unexpected diagonals_format")


Test patch:
Repository: ivy-llc/ivy

Issue:
logical_xor



Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/torch/tensor.py b/ivy/functional/frontends/torch/tensor.py
--- a/ivy/functional/frontends/torch/tensor.py
+++ b/ivy/functional/frontends/torch/tensor.py
@@ -425,6 +425,10 @@ def logical_not_(self):
     def logical_or(self, other):
         return torch_frontend.logical_or(self, other)
 
+    @with_unsupported_dtypes({"2.1.1 and below": ("bfloat16",)}, "torch")
+    def logical_xor(self, other):
+        return torch_frontend.logical_xor(self, other)
+
     def bitwise_not(self):
         return torch_frontend.bitwise_not(self)
 


Test patch:
diff --git a/ivy_tests/test_ivy/test_frontends/test_torch/test_tensor.py b/ivy_tests/test_ivy/test_frontends/test_torch/test_tensor.py
--- a/ivy_tests/test_ivy/test_frontends/test_torch/test_tensor.py
+++ b/ivy_tests/test_ivy/test_frontends/test_torch/test_tensor.py
@@ -8832,6 +8832,44 @@ def test_torch_logical_or(
     )
 
 
+# logical_xor
+@handle_frontend_method(
+    class_tree=CLASS_TREE,
+    init_tree="torch.tensor",
+    method_name="logical_xor",
+    dtype_and_x=helpers.dtype_and_values(
+        available_dtypes=helpers.get_dtypes("valid"),
+        num_arrays=2,
+    ),
+)
+def test_torch_logical_xor(
+    dtype_and_x,
+    frontend_method_data,
+    init_flags,
+    method_flags,
+    frontend,
+    on_device,
+    backend_fw,
+):
+    input_dtype, x = dtype_and_x
+    helpers.test_frontend_method(
+        init_input_dtypes=input_dtype,
+        backend_to_test=backend_fw,
+        init_all_as_kwargs_np={
+            "data": x[0],
+        },
+        method_input_dtypes=input_dtype,
+        method_all_as_kwargs_np={
+            "other": x[1],
+        },
+        frontend_method_data=frontend_method_data,
+        init_flags=init_flags,
+        method_flags=method_flags,
+        frontend=frontend,
+        on_device=on_device,
+    )
+
+
 # logit
 @handle_frontend_method(
     class_tree=CLASS_TREE,
Repository: ivy-llc/ivy

Issue:
segment_sum



Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/tensorflow/math.py b/ivy/functional/frontends/tensorflow/math.py
--- a/ivy/functional/frontends/tensorflow/math.py
+++ b/ivy/functional/frontends/tensorflow/math.py
@@ -637,6 +637,25 @@ def scalar_mul(scalar, x, name="scalar_mul"):
     return ivy.multiply(x, scalar).astype(x.dtype)
 
 
+@with_unsupported_dtypes(
+    {"2.15.0 and below": ("float16", "bool", "int16", "int8")},
+    "tensorflow",
+)
+@to_ivy_arrays_and_back
+def segment_sum(data, segment_ids, name="segment_sum"):
+    data = ivy.array(data)
+    segment_ids = ivy.array(segment_ids)
+    ivy.utils.assertions.check_equal(
+        list(segment_ids.shape), [list(data.shape)[0]], as_array=False
+    )
+    sum_array = ivy.zeros(
+        tuple([int(segment_ids[-1] + 1)] + (list(data.shape))[1:]), dtype=data.dtype
+    )
+    for i in range((segment_ids).shape[0]):
+        sum_array[segment_ids[i]] = sum_array[segment_ids[i]] + data[i]
+    return sum_array
+
+
 @to_ivy_arrays_and_back
 def sigmoid(x, name=None):
     return ivy.sigmoid(x)


Test patch:
diff --git a/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_math.py b/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_math.py
--- a/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_math.py
+++ b/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_math.py
@@ -2650,6 +2650,39 @@ def test_tensorflow_scalar_mul(
     )
 
 
+@handle_frontend_test(
+    fn_tree="tensorflow.math.segment_sum",
+    data=helpers.array_values(dtype=helpers.get_dtypes("valid"), shape=(5, 6)),
+    segment_ids=helpers.array_values(
+        dtype=helpers.get_dtypes("signed_integer", prune_function=True),
+        shape=(5,),
+        min_value=0,
+        max_value=4,
+    ),
+    test_with_out=st.just(False),
+)
+def test_tensorflow_segment_sum(
+    *,
+    data,
+    segment_ids,
+    frontend,
+    test_flags,
+    fn_tree,
+    backend_fw,
+    on_device,
+):
+    helpers.test_frontend_function(
+        input_dtypes=[str(data.dtype), "int32", "int64"],
+        frontend=frontend,
+        backend_to_test=backend_fw,
+        test_flags=test_flags,
+        fn_tree=fn_tree,
+        on_device=on_device,
+        data=data,
+        segment_ids=np.sort(segment_ids),
+    )
+
+
 # sigmoid
 @handle_frontend_test(
     fn_tree="tensorflow.math.sigmoid",
Repository: ivy-llc/ivy

Issue:
numpy.take



Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/numpy/indexing_routines/indexing_like_operations.py b/ivy/functional/frontends/numpy/indexing_routines/indexing_like_operations.py
--- a/ivy/functional/frontends/numpy/indexing_routines/indexing_like_operations.py
+++ b/ivy/functional/frontends/numpy/indexing_routines/indexing_like_operations.py
@@ -98,3 +98,9 @@ def tril_indices(n, k=0, m=None):
 def unravel_index(indices, shape, order="C"):
     ret = [x.astype("int64") for x in ivy.unravel_index(indices, shape)]
     return tuple(ret)
+
+
+@to_ivy_arrays_and_back
+@handle_numpy_out
+def take(a, indices, /, *, axis=None, out=None, mode="raise"):
+    return ivy.take(a, indices, axis=axis, out=out, mode=mode)


Test patch:
diff --git a/ivy_tests/test_ivy/test_frontends/test_numpy/test_indexing_routines/test_indexing_like_operations.py b/ivy_tests/test_ivy/test_frontends/test_numpy/test_indexing_routines/test_indexing_like_operations.py
--- a/ivy_tests/test_ivy/test_frontends/test_numpy/test_indexing_routines/test_indexing_like_operations.py
+++ b/ivy_tests/test_ivy/test_frontends/test_numpy/test_indexing_routines/test_indexing_like_operations.py
@@ -184,3 +184,42 @@ def test_numpy_take_along_axis(
         indices=indices,
         axis=axis,
     )
+
+
+@handle_frontend_test(
+    fn_tree="numpy.take",
+    dtype_x_indices_axis=helpers.array_indices_axis(
+        array_dtypes=helpers.get_dtypes("valid"),
+        indices_dtypes=["int32", "int64"],
+        min_num_dims=1,
+        max_num_dims=3,
+        min_dim_size=1,
+        max_dim_size=5,
+        indices_same_dims=True,
+        valid_bounds=False,
+    ),
+    mode=st.sampled_from(["clip", "wrap"]),
+)
+def test_numpy_take(
+    *,
+    dtype_x_indices_axis,
+    mode,
+    test_flags,
+    frontend,
+    backend_fw,
+    fn_tree,
+    on_device,
+):
+    dtypes, x, indices, axis, _ = dtype_x_indices_axis
+    helpers.test_frontend_function(
+        input_dtypes=dtypes,
+        backend_to_test=backend_fw,
+        test_flags=test_flags,
+        frontend=frontend,
+        fn_tree=fn_tree,
+        on_device=on_device,
+        a=x,
+        indices=indices,
+        axis=axis,
+        mode=mode,
+    )
Repository: ivy-llc/ivy

Issue:
staticmethod with `self` as first argument
In the following `staticmethod` definition the first argument is used as `self`.
https://github.com/unifyai/ivy/blob/3d8175d486636c15ec0b03bf9886ea5423296593/ivy/data_classes/container/general.py#L1546-L1556
 it should be changed to `x` to follow the recommended way like in other `staticmethods`.


Discussion:

Resolving patch:
diff --git a/ivy/data_classes/container/general.py b/ivy/data_classes/container/general.py
--- a/ivy/data_classes/container/general.py
+++ b/ivy/data_classes/container/general.py
@@ -1545,7 +1545,7 @@ def gather(
 
     @staticmethod
     def _static_has_nans(
-        self: ivy.Container,
+        x: ivy.Container,
         /,
         *,
         include_infs: Union[bool, ivy.Container] = True,
@@ -1560,7 +1560,7 @@ def _static_has_nans(
 
         Parameters
         ----------
-        self
+        x
             The container to check for nans.
         include_infs
             Whether to include infs and -infs in the check. Default is True.
@@ -1593,7 +1593,7 @@ def _static_has_nans(
         """
         return ContainerBase.cont_multi_map_in_function(
             "has_nans",
-            self,
+            x,
             include_infs=include_infs,
             key_chains=key_chains,
             to_apply=to_apply,


Test patch:
Repository: ivy-llc/ivy

Issue:
__lt__



Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/paddle/tensor/tensor.py b/ivy/functional/frontends/paddle/tensor/tensor.py
--- a/ivy/functional/frontends/paddle/tensor/tensor.py
+++ b/ivy/functional/frontends/paddle/tensor/tensor.py
@@ -105,6 +105,22 @@ def __mul__(self, y, /, name=None):
     def __gt__(self, y, /, name=None):
         return paddle_frontend.logic.greater_than(self, y)
 
+    @with_unsupported_dtypes(
+        {
+            "2.5.2 and below": (
+                "bool",
+                "uint8",
+                "int8",
+                "int16",
+                "complex64",
+                "complex128",
+            )
+        },
+        "paddle",
+    )
+    def __lt__(self, y, /, name=None):
+        return paddle_frontend.logic.less_than(self, y)
+
     @with_unsupported_dtypes(
         {
             "2.5.2 and below": (


Test patch:
diff --git a/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py b/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
--- a/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
+++ b/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
@@ -462,6 +462,43 @@ def test_paddle___le__(
     )
 
 
+# __lt__
+@handle_frontend_method(
+    class_tree=CLASS_TREE,
+    init_tree="paddle.to_tensor",
+    method_name="__lt__",
+    dtype_and_x=helpers.dtype_and_values(
+        available_dtypes=helpers.get_dtypes("numeric"), num_arrays=2, shared_dtype=True
+    ),
+)
+def test_paddle___lt__(
+    dtype_and_x,
+    frontend_method_data,
+    init_flags,
+    method_flags,
+    frontend,
+    on_device,
+    backend_fw,
+):
+    input_dtype, x = dtype_and_x
+    helpers.test_frontend_method(
+        init_input_dtypes=input_dtype,
+        backend_to_test=backend_fw,
+        init_all_as_kwargs_np={
+            "data": x[0],
+        },
+        method_input_dtypes=input_dtype,
+        method_all_as_kwargs_np={
+            "y": x[1],
+        },
+        frontend_method_data=frontend_method_data,
+        init_flags=init_flags,
+        method_flags=method_flags,
+        frontend=frontend,
+        on_device=on_device,
+    )
+
+
 # __mul__
 @handle_frontend_method(
     class_tree=CLASS_TREE,
Repository: ivy-llc/ivy

Issue:
GatherNd



Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/tensorflow/raw_ops.py b/ivy/functional/frontends/tensorflow/raw_ops.py
--- a/ivy/functional/frontends/tensorflow/raw_ops.py
+++ b/ivy/functional/frontends/tensorflow/raw_ops.py
@@ -619,6 +619,11 @@ def Gather(*, params, indices, validate_indices=None, name="Gather"):
     return ivy.gather(params, indices, axis=0, batch_dims=0)
 
 
+@to_ivy_arrays_and_back
+def GatherNd(*, params, indices, validate_indices=None, name="GatherNd"):
+    return ivy.gather_nd(params, indices, batch_dims=0)
+
+
 @to_ivy_arrays_and_back
 def Greater(*, x, y, name="Greater"):
     x, y = check_tensorflow_casting(x, y)


Test patch:
diff --git a/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_raw_ops.py b/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_raw_ops.py
--- a/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_raw_ops.py
+++ b/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_raw_ops.py
@@ -2098,6 +2098,42 @@ def test_tensorflow_Gather(  # NOQA
     )
 
 
+# GatherNd
+@handle_frontend_test(
+    fn_tree="tensorflow.raw_ops.GatherNd",
+    params_indices_axis_batch_dims=helpers.array_indices_axis(
+        array_dtypes=helpers.get_dtypes("valid"),
+        indices_dtypes=["int64"],
+        min_num_dims=5,
+        max_num_dims=10,
+        min_dim_size=1,
+        max_dim_size=5,
+        indices_same_dims=False,
+    ),
+    test_with_out=st.just(False),
+)
+def test_tensorflow_GatherNd(
+    *,
+    params_indices_axis_batch_dims,
+    frontend,
+    test_flags,
+    fn_tree,
+    backend_fw,
+    on_device,
+):
+    input_dtypes, params, indices, axis, batch_dims = params_indices_axis_batch_dims
+    helpers.test_frontend_function(
+        input_dtypes=input_dtypes,
+        backend_to_test=backend_fw,
+        frontend=frontend,
+        test_flags=test_flags,
+        fn_tree=fn_tree,
+        on_device=on_device,
+        params=params,
+        indices=indices,
+    )
+
+
 # Greater
 @handle_frontend_test(
     fn_tree="tensorflow.raw_ops.Greater",
Repository: ivy-llc/ivy

Issue:
Use of requests call without `timeout` parameter
In the following places, `timeout` parameter is not used.
https://github.com/unifyai/ivy/blob/1f6264e1be8946b4b142668a0201fbaa73ee0810/docker/gpu_framework_directory.py#L18
https://github.com/unifyai/ivy/blob/1f6264e1be8946b4b142668a0201fbaa73ee0810/scripts/run_tests/helpers.py#L7
The `timeout` parameter is used to set the maximum time to wait for a response from the server. By omitting the `timeout` parameter, the program may hang indefinitely while awaiting a response.

From the [documentation](https://requests.readthedocs.io/en/latest/user/advanced/#timeouts), I see that the value of timeout can be mentioned in seconds (like 5 seconds).

I think it's good to use the `timeout` parameter with a value of 10 seconds.



Discussion:
@vedpatwardhan Please look into this issue when you are free, I would be happy to make a PR if you think this needs to be fixed.
Thank you.
Yep feel free to create a PR, certainly a useful addition. Thanks @Sai-Suraj-27 😄

Resolving patch:
diff --git a/docker/gpu_framework_directory.py b/docker/gpu_framework_directory.py
--- a/docker/gpu_framework_directory.py
+++ b/docker/gpu_framework_directory.py
@@ -15,7 +15,7 @@
 def get_latest_package_version(package_name):
     try:
         url = f"https://pypi.org/pypi/{package_name}/json"
-        response = requests.get(url)
+        response = requests.get(url, timeout=10)
         response.raise_for_status()
         package_info = response.json()
         return package_info["info"]["version"]


Test patch:
diff --git a/scripts/run_tests/helpers.py b/scripts/run_tests/helpers.py
--- a/scripts/run_tests/helpers.py
+++ b/scripts/run_tests/helpers.py
@@ -4,7 +4,7 @@
 def get_latest_package_version(package_name):
     try:
         url = f"https://pypi.org/pypi/{package_name}/json"
-        response = requests.get(url)
+        response = requests.get(url, timeout=10)
         response.raise_for_status()
         package_info = response.json()
         return package_info["info"]["version"]
Repository: ivy-llc/ivy

Issue:
Missing `staticmethod` decorator
For the following methods, the `staticmethod` decorator is missing.
https://github.com/unifyai/ivy/blob/4eda5bfb91e45d182afc75f21c3b200253ee64c0/ivy/__init__.py#L432
https://github.com/unifyai/ivy/blob/4eda5bfb91e45d182afc75f21c3b200253ee64c0/ivy/__init__.py#L460


Discussion:

Resolving patch:
diff --git a/ivy/__init__.py b/ivy/__init__.py
--- a/ivy/__init__.py
+++ b/ivy/__init__.py
@@ -429,6 +429,7 @@ def assert_has_rank(self, rank):
         if self.rank not in (None, rank):
             raise ValueError(f"Shape {self} must have rank {rank}")
 
+    @staticmethod
     def unknown_shape(rank=None, **kwargs):
         if rank is None and "ndims" in kwargs:
             rank = kwargs.pop("ndims")
@@ -457,6 +458,7 @@ def with_rank_at_most(self, rank):
         else:
             return self
 
+    @staticmethod
     def as_shape(shape):
         if isinstance(shape, Shape):
             return shape


Test patch:
Repository: ivy-llc/ivy

Issue:
The `Pydocstyle` project is officially deprecated, switch to `ruff`
The `Pydocstyle` repo is [officially depreciated](https://github.com/pycqa/pydocstyle#deprecation-notice-pydocstyle). They [advised](https://github.com/pycqa/pydocstyle#ruff-a-modern-alternative) to switch to the `ruff` linter.
So, we can configure `Ruff` in the `pyproject.toml` file to only run the `Pydocstyle` related checks (As ruff offers many other checks too).

This can be easily done following [this section](https://docs.astral.sh/ruff/linter/#rule-selection) in documentation of `ruff`.


Discussion:

Resolving patch:
diff --git a/ivy/functional/backends/paddle/experimental/elementwise.py b/ivy/functional/backends/paddle/experimental/elementwise.py
--- a/ivy/functional/backends/paddle/experimental/elementwise.py
+++ b/ivy/functional/backends/paddle/experimental/elementwise.py
@@ -751,9 +751,11 @@ def _is_scalar(x):
     """Determines if the given tensor is a scalar.
 
     Args:
+    ----
     - x (paddle.Tensor): Input tensor.
 
     Returns:
+    -------
     - bool: True if the tensor is a scalar, False otherwise.
     """
     return x.size == 1 and x.dim() == 0 and tuple(x.shape) == ()
diff --git a/ivy/functional/frontends/torch/tensor.py b/ivy/functional/frontends/torch/tensor.py
--- a/ivy/functional/frontends/torch/tensor.py
+++ b/ivy/functional/frontends/torch/tensor.py
@@ -285,6 +285,7 @@ def view(self, *args, size=None):
             - list of ints
             - torch.Size object
             - ints
+
         Parameters
         ----------
         args:int arguments
diff --git a/ivy/functional/ivy/device.py b/ivy/functional/ivy/device.py
--- a/ivy/functional/ivy/device.py
+++ b/ivy/functional/ivy/device.py
@@ -297,6 +297,7 @@ def set_soft_device_mode(mode: bool) -> None:
     ---------
     mode
         boolean whether to move input arrays
+
     Examples
     --------
     >>> ivy.set_soft_device_mode(False)


Test patch:
diff --git a/ivy_tests/test_docstrings.py b/ivy_tests/test_docstrings.py
--- a/ivy_tests/test_docstrings.py
+++ b/ivy_tests/test_docstrings.py
@@ -68,7 +68,6 @@ def check_docstring_examples_run(
     -------
     None if the test passes, else marks the test as failed.
     """
-
     """
     Functions skipped as their output dependent on outside factors:
Repository: ivy-llc/ivy

Issue:
staticmethod with `self` as first argument
In the following `staticmethod` definition the first argument is used as `self`.
https://github.com/unifyai/ivy/blob/0a7cedeb9feec0ae792589f868d8f59b696395e2/ivy/data_classes/container/experimental/linear_algebra.py#L769-L780
 it should be changed to `x` to follow the recommended way like in other `staticmethods`.


Discussion:

Resolving patch:
diff --git a/ivy/data_classes/container/experimental/linear_algebra.py b/ivy/data_classes/container/experimental/linear_algebra.py
--- a/ivy/data_classes/container/experimental/linear_algebra.py
+++ b/ivy/data_classes/container/experimental/linear_algebra.py
@@ -768,7 +768,7 @@ def multi_dot(
 
     @staticmethod
     def static_cond(
-        self: ivy.Container,
+        x: ivy.Container,
         /,
         *,
         key_chains: Optional[Union[List[str], Dict[str, str], ivy.Container]] = None,
@@ -784,7 +784,7 @@ def static_cond(
 
         Parameters
         ----------
-            self
+            x
                 container with input arrays.
             p
                 order of the norm of the matrix (see ivy.norm).
@@ -803,7 +803,7 @@ def static_cond(
         """
         return ContainerBase.cont_multi_map_in_function(
             "cond",
-            self,
+            x,
             p=p,
             out=out,
             key_chains=key_chains,


Test patch: