On Tue, May 7, 2019 at 2:30 PM Dominik Gabi <dkgispam@gmail.com> wrote:

I would simply remove the loop example from the PEP.


OK, but words should be added that a compliant type checker need not allow Final declarations in loops (with the explanation that the Python runtime sees this as multiple assignments to a single variable).
 

I agree with the general definition that

 

> There must be exactly one assignment to a final name.

 

In Pyre this is guaranteed to hold even if you have a final in a loop. In Mypy it’s not and therefore the error from the example makes sense for your particular implementation but not for ours.


Agreed.
 
--
--Guido van Rossum (python.org/~guido)
Pronouns: he/him/his (why is my pronoun here?)