Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions doc/whats-new.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ Internal Changes

.. _whats-new.2022.09.0:

v2022.09.0 (September 9, 2022)
------------------------------
v2022.09.0 (September 30, 2022)
-------------------------------

This release brings a large number of bugfixes and documentation improvements, as well as an external interface for
setting custom indexes!
Expand Down
13 changes: 7 additions & 6 deletions xarray/core/indexes.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,19 +112,20 @@ def rename(
return self

def __copy__(self) -> Index:
return self.copy(deep=False)
return self._copy(deep=False)

def __deepcopy__(self, memo=None) -> Index:
# memo does nothing but is required for compatibility with
# copy.deepcopy
return self.copy(deep=True)
def __deepcopy__(self, memo: dict[int, Any] | None = None) -> Index:
return self._copy(deep=True, memo=memo)

def copy(self, deep: bool = True) -> Index:
return self._copy(deep=deep)

def _copy(self, deep: bool = True, memo: dict[int, Any] | None = None) -> Index:
cls = self.__class__
copied = cls.__new__(cls)
if deep:
for k, v in self.__dict__.items():
setattr(copied, k, copy.deepcopy(v))
setattr(copied, k, copy.deepcopy(v, memo))
else:
copied.__dict__.update(self.__dict__)
return copied
Expand Down