On 5/20/2019 10:32 AM, Batuhan Taskaya wrote:
> This strictly speaking isn't necessary. I could have added another
Constant node for "x=" and left FormattedValue alone. I didn't for three
reasons: it was expedient; it didn't require a lot of surgery to
f-string parsing, which the extra Constant node would require; and it
allowed the Python/ast_unparse.c code to produce a string that was more
consistent with input string.
Agreed.
> Does anyone care that f'{x=}' would become f'x={x!r}' if I removed
expr_text from the FormattedValue node?
Yes, when i was implementing f-string debugging support to Berker's
astor project
the roundtrip tests i wrote is failing because of it adds an extra `!r`
to end. Then
i realized you added a new field (expr_text) for that.
> I'm not sure how much we care about all of this, but let me know if you
have a strong feeling about it.
I don't think we should complicate this. The current version is very
simple and understandable.
I think the salient question is: does the lack of expr_text make
anything more difficult for anyone? As Serhiy said in the other email,
lots of things are lost while round-tripping, this would just be another
one. Anyone really interested in high-fidelity round trips already can't
use the ast module to unparse from.
Eric
_______________________________________________
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/archive%40mail-archive.com