Pablo Galindo Salgado <[email protected]> added the comment:
> CPython has acted the current way for about 15 years (since 2.4 was
> released), and this is the first time anyone has raised an objection.
Although I tend to agree with your words, I have to insist that correctness in
the reference implementation is very important, is not just a "pragmatic"
thing. For example, under this argument, we could say that it does not matter if
def f():
if 0:
yield
should be or not a generator. But that changes things massively. It happens
that it will always be a generator due to how we check for that property, but
under this argument is ok if it is undefined.
This also makes the thing even more confusing as there are some syntax
consequences of unreachable code, but no others. (Like the bytecode for that
yield will be gone!!. Is impossible to know if that is a generator or not from
the bytecode).
I have seen many people confused already and it makes very difficult to guess
what are the consequences of code that is unreachable at runtime. For these
reasons I think consistency is key.
I agree that the way this is done is not ideal, but we could not find a better
way to do this :(
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue37500>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com