On Thu, Apr 15, 2021 at 18:20 Barry Warsaw <barry@python.org> wrote:
On Apr 15, 2021, at 17:47, Oscar Benjamin <oscar.j.benjamin@gmail.com> wrote:
>
> Would it be problematic to postpone making __future__.annotations the default?

This is a good question, and I think the SC would really like to know if anybody has objections to  postponing this to 3.11.  We haven’t discussed it yet (this whole topic is on our agenda for next Monday), but it might be the best thing to do given where we are in the 3.10 release cycle.  It would give everyone a chance to breathe and come up with the right long term solution.

As long as you know that’s not zero cost either. Undoing the work will be complex (merge conflicts will abound) and and all testing and implementation people have done assuming PEP 563 semantics will still have to be redone.

And note that there are some corner cases where the “PEP 563 semantics” in 3.10 could not be made fully compatible with the behavior under `from __future__ Import annotations` in 3.9 (in truth, because not enough testing was done under those semantics in 3.7-3.9).

But it could be done, and that’s the way PEP 649 is currently written (using `from __future__ import co_annotations`).



--
--Guido (mobile)