Skip to content

Commit c316081

Browse files
TYP: update EA.view() type annotation to indicate it returns an EA without dtype parameter (#62285)
1 parent a58fb19 commit c316081

File tree

4 files changed

+15
-3
lines changed

4 files changed

+15
-3
lines changed

pandas/core/arrays/_mixins.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,12 @@ def _validate_scalar(self, value):
113113

114114
# ------------------------------------------------------------------------
115115

116+
@overload
117+
def view(self) -> Self: ...
118+
119+
@overload
120+
def view(self, dtype: Dtype | None = ...) -> ArrayLike: ...
121+
116122
def view(self, dtype: Dtype | None = None) -> ArrayLike:
117123
# We handle datetime64, datetime64tz, timedelta64, and period
118124
# dtypes here. Everything else we pass through to the underlying

pandas/core/arrays/base.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1804,6 +1804,12 @@ def copy(self) -> Self:
18041804
"""
18051805
raise AbstractMethodError(self)
18061806

1807+
@overload
1808+
def view(self) -> Self: ...
1809+
1810+
@overload
1811+
def view(self, dtype: Dtype | None = ...) -> ArrayLike: ...
1812+
18071813
def view(self, dtype: Dtype | None = None) -> ArrayLike:
18081814
"""
18091815
Return a view on the array.

pandas/core/arrays/datetimelike.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -508,7 +508,7 @@ def astype(self, dtype, copy: bool = True):
508508
else:
509509
return np.asarray(self, dtype=dtype)
510510

511-
@overload
511+
@overload # type: ignore[override]
512512
def view(self) -> Self: ...
513513

514514
@overload

pandas/core/arrays/string_.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -554,10 +554,10 @@ def _str_map_nan_semantics(
554554
else:
555555
return self._str_map_str_or_object(dtype, na_value, arr, f, mask)
556556

557-
def view(self, dtype: Dtype | None = None) -> ArrayLike:
557+
def view(self, dtype: Dtype | None = None) -> Self:
558558
if dtype is not None:
559559
raise TypeError("Cannot change data-type for string array.")
560-
return super().view(dtype=dtype)
560+
return super().view()
561561

562562

563563
# error: Definition of "_concat_same_type" in base class "NDArrayBacked" is

0 commit comments

Comments
 (0)