@@ -1295,8 +1295,8 @@ def _add_timedeltalike_scalar(self, other):
1295
1295
return type (self )._simple_new (new_values , dtype = self .dtype )
1296
1296
1297
1297
# PeriodArray overrides, so we only get here with DTA/TDA
1298
- # error: "DatetimeLikeArrayMixin" has no attribute "_reso"
1299
- inc = delta_to_nanoseconds (other , reso = self ._reso ) # type: ignore[attr-defined]
1298
+ self = cast ( "DatetimeArray | TimedeltaArray" , self )
1299
+ inc = delta_to_nanoseconds (other , reso = self ._reso )
1300
1300
1301
1301
new_values = checked_add_with_arr (self .asi8 , inc , arr_mask = self ._isnan )
1302
1302
new_values = new_values .view (self ._ndarray .dtype )
@@ -1306,10 +1306,7 @@ def _add_timedeltalike_scalar(self, other):
1306
1306
# adding a scalar preserves freq
1307
1307
new_freq = self .freq
1308
1308
1309
- # error: Unexpected keyword argument "freq" for "_simple_new" of "NDArrayBacked"
1310
- return type (self )._simple_new ( # type: ignore[call-arg]
1311
- new_values , dtype = self .dtype , freq = new_freq
1312
- )
1309
+ return type (self )._simple_new (new_values , dtype = self .dtype , freq = new_freq )
1313
1310
1314
1311
def _add_timedelta_arraylike (
1315
1312
self , other : TimedeltaArray | npt .NDArray [np .timedelta64 ]
@@ -2264,11 +2261,11 @@ def validate_periods(periods: None) -> None:
2264
2261
2265
2262
2266
2263
@overload
2267
- def validate_periods (periods : float ) -> int :
2264
+ def validate_periods (periods : int | float ) -> int :
2268
2265
...
2269
2266
2270
2267
2271
- def validate_periods (periods : float | None ) -> int | None :
2268
+ def validate_periods (periods : int | float | None ) -> int | None :
2272
2269
"""
2273
2270
If a `periods` argument is passed to the Datetime/Timedelta Array/Index
2274
2271
constructor, cast it to an integer.
@@ -2291,9 +2288,8 @@ def validate_periods(periods: float | None) -> int | None:
2291
2288
periods = int (periods )
2292
2289
elif not lib .is_integer (periods ):
2293
2290
raise TypeError (f"periods must be a number, got { periods } " )
2294
- # error: Incompatible return value type (got "Optional[float]",
2295
- # expected "Optional[int]")
2296
- return periods # type: ignore[return-value]
2291
+ periods = cast (int , periods )
2292
+ return periods
2297
2293
2298
2294
2299
2295
def validate_inferred_freq (
0 commit comments