On 10/21/2016 03:48 PM, Amit Green wrote:
NOTE: This is my first post to this mailing list, I'm not really sure how to post a message, so I'm attempting a reply-all.
Seems to have worked! :)
I like Nathaniel's idea for __iterclose__. I suggest the following changes to deal with a few of the complex issues he discussed.
Your examples are interesting, but they don't seem to address the issue of closing down for loops that are using generators when those loops exit early: ----------------------------- def some_work(): with some_resource(): for widget in resource: yield widget for pane in some_work(): break: # what happens here? ----------------------------- How does your solution deal with that situation? Or are you saying that this would be closed with your modifications, and if I didn't want the generator to be closed I would have to do: ----------------------------- with some_work() as temp_gen: for pane in temp_gen: break: for another_pane in temp_gen: # temp_gen is still alive here ----------------------------- In other words, instead using the preserve() function, we would use a with statement? -- ~Ethan~ _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/