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

Reply via email to