Author: Armin Rigo <[email protected]>
Branch: py3.5
Changeset: r92164:f2d17e80c68d
Date: 2017-08-17 19:22 +0200
http://bitbucket.org/pypy/pypy/changeset/f2d17e80c68d/
Log: Issue #2635
{datetime,date,time).replace() returns an instance of the specific
subclass in CPython's C '_datetime' module.
diff --git a/lib-python/3/datetime.py b/lib-python/3/datetime.py
--- a/lib-python/3/datetime.py
+++ b/lib-python/3/datetime.py
@@ -810,7 +810,8 @@
month = self._month
if day is None:
day = self._day
- return date(year, month, day)
+ # PyPy fix: returns type(self)() instead of date()
+ return type(self)(year, month, day)
# Comparisons of date objects with other.
@@ -1285,7 +1286,8 @@
microsecond = self.microsecond
if tzinfo is True:
tzinfo = self.tzinfo
- return time(hour, minute, second, microsecond, tzinfo)
+ # PyPy fix: returns type(self)() instead of time()
+ return type(self)(hour, minute, second, microsecond, tzinfo)
# Pickle support.
@@ -1497,7 +1499,8 @@
microsecond = self.microsecond
if tzinfo is True:
tzinfo = self.tzinfo
- return datetime(year, month, day, hour, minute, second, microsecond,
+ # PyPy fix: returns type(self)() instead of datetime()
+ return type(self)(year, month, day, hour, minute, second, microsecond,
tzinfo)
def astimezone(self, tz=None):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit