Open
Description
Hi!
I am running on PyPy 7.1.0 (same happens on PyPy 6.0.0).
now_string = pendulum.now().isoformat()
now_pendulum = pendulum.parse(now_string)
now_pendulum.in_timezone('UTC')
Causes RecursionError
(on CPython works fine).
...
...
...
File "/Users/user1/anaconda/envs/pypy/site-packages/pendulum/datetime.py", line 1442, in __add__
return self._add_timedelta(other)
File "/Users/user1/anaconda/envs/pypy/site-packages/pendulum/datetime.py", line 750, in _add_timedelta
return self.add(seconds=delta.total_seconds())
File "/Users/user1/anaconda/envs/pypy/site-packages/pendulum/datetime.py", line 660, in add
dt = self.tz.convert(dt)
File "/Users/user1/anaconda/envs/pypy/site-packages/pendulum/tz/timezone.py", line 66, in convert
return self._convert(dt)
File "/Users/user1/anaconda/envs/pypy/site-packages/pendulum/tz/timezone.py", line 334, in _convert
return dt.astimezone(self)
File "/Users/user1/anaconda/envs/pypy/site-packages/pendulum/datetime.py", line 1466, in astimezone
return pendulum.instance(super(DateTime, self).astimezone(tz))
File "/Users/user1/anaconda/envs/pypy/lib-python/3/datetime.py", line 1548, in astimezone
utc = (self - myoffset).replace(tzinfo=tz)
File "/Users/user1/anaconda/envs/pypy/site-packages/pendulum/datetime.py", line 1397, in __sub__
return self._subtract_timedelta(other)
File "/Users/user1/anaconda/envs/pypy/site-packages/pendulum/datetime.py", line 774, in _subtract_timedelta
days=delta.days, seconds=delta.seconds, microseconds=delta.microseconds
File "/Users/user1/anaconda/envs/pypy/site-packages/pendulum/datetime.py", line 722, in subtract
microseconds=-microseconds,
File "/Users/user1/anaconda/envs/pypy/site-packages/pendulum/datetime.py", line 621, in add
offset = self.utcoffset()
File "/Users/user1/anaconda/envs/pypy/lib-python/3/datetime.py", line 1625, in utcoffset
_check_utc_offset("utcoffset", offset)
File "/Users/user1/anaconda/envs/pypy/lib-python/3/datetime.py", line 236, in _check_utc_offset
assert name in ("utcoffset", "dst")
RecursionError: maximum recursion depth exceeded