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/

Reply via email to