Skip to content

Commit bd33ada

Browse files
python-dateutil: respect inheritance on relativedelta.__rsub__ (#11462) (#11463)
1 parent a20f546 commit bd33ada

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from datetime import date, datetime
2+
from typing_extensions import assert_type
3+
4+
from dateutil.relativedelta import relativedelta
5+
6+
7+
class MyDateTime(datetime):
8+
pass
9+
10+
11+
d = MyDateTime.now()
12+
x = d - relativedelta(days=1)
13+
# https://github.com/python/typeshed/pull/11463
14+
# assert_type(x, MyDateTime)
15+
16+
d3 = datetime.today()
17+
x3 = d3 - relativedelta(days=1)
18+
assert_type(x3, datetime)
19+
20+
d2 = date.today()
21+
x2 = d2 - relativedelta(days=1)
22+
assert_type(x2, date)

stubs/python-dateutil/dateutil/relativedelta.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
from datetime import date, datetime, timedelta
1+
from datetime import date, timedelta
22
from typing import SupportsFloat, TypeVar, overload
33
from typing_extensions import Self, TypeAlias
44

55
# See #9817 for why we reexport this here
66
from ._common import weekday as weekday
77

8-
_DateT = TypeVar("_DateT", date, datetime)
8+
_DateT = TypeVar("_DateT", bound=date)
99
# Work around attribute and type having the same name.
1010
_Weekday: TypeAlias = weekday
1111

0 commit comments

Comments
 (0)