The RC for 3.5.2 is going out coming weekend (see PEP 478 https://www.python.org/dev/peps/pep-0478/). We should get this out now, or make it the first incompatibility in 3.6 (that's also an option; 3.6 feature freeze starts September, see PEP 494 https://www.python.org/dev/peps/pep-0494/).
On Mon, Jun 6, 2016 at 1:05 PM, Yury Selivanov email@example.com wrote:
On 2016-06-06 4:02 PM, Łukasz Langa wrote:
The proposed patch fixes the __aiter__ in a backwards compatible way:
ceval/GET_AITER opcode calls the __aiter__ method.
If the returned object has an '__anext__' method, GET_AITER silently
wraps it in an awaitable, which is equivalent to the following coroutine:
async def wrapper(aiter_result): return aiter_result
- If the returned object does not have an '__anext__' method, a
DeprecationWarning is raised.
There’s a problem with this approach. It will force people to write deprecated code because you never know if your library is going to run on 3.5.0 or 3.5.1. Barry, Ubuntu wily, xenial and yakkety currently package 3.5.0 or 3.5.1. When 3.5.2 is going to get released, are they going to get it? I’m pretty sure wily *isn’t* and yakkety *is* but just wanted to confirm; especially with xenial being an LTS release.
Yes, I agree. OTOH, I don't see any other way of resolving this.
Another option would be to start raising the DeprecationWarning only in 3.6.
Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/guido%40python.org