python-dateutil: respect inheritance on relativedelta.__rsub__ (#11462) (#11463)

This commit is contained in:
Maico Timmerman
2024-03-15 17:06:54 +01:00
committed by GitHub
parent a20f54663c
commit bd33ada0e3
2 changed files with 24 additions and 2 deletions

View File

@@ -0,0 +1,22 @@
from datetime import date, datetime
from typing_extensions import assert_type
from dateutil.relativedelta import relativedelta
class MyDateTime(datetime):
pass
d = MyDateTime.now()
x = d - relativedelta(days=1)
# https://github.com/python/typeshed/pull/11463
# assert_type(x, MyDateTime)
d3 = datetime.today()
x3 = d3 - relativedelta(days=1)
assert_type(x3, datetime)
d2 = date.today()
x2 = d2 - relativedelta(days=1)
assert_type(x2, date)

View File

@@ -1,11 +1,11 @@
from datetime import date, datetime, timedelta
from datetime import date, timedelta
from typing import SupportsFloat, TypeVar, overload
from typing_extensions import Self, TypeAlias
# See #9817 for why we reexport this here
from ._common import weekday as weekday
_DateT = TypeVar("_DateT", date, datetime)
_DateT = TypeVar("_DateT", bound=date)
# Work around attribute and type having the same name.
_Weekday: TypeAlias = weekday