changeset: 95128:64f4dbac9d07 parent: 95126:0b2993742650 parent: 95127:e9f03315d66c user: R David Murray date: Sun Mar 22 12:34:50 2015 -0400 files: Lib/tempfile.py description: Merge: #23700: fix/improve comment diff -r 0b2993742650 -r 64f4dbac9d07 Lib/tempfile.py --- a/Lib/tempfile.py Sun Mar 22 15:32:36 2015 +0000 +++ b/Lib/tempfile.py Sun Mar 22 12:34:50 2015 -0400 @@ -427,8 +427,10 @@ # iter() doesn't use __getattr__ to find the __iter__ method def __iter__(self): # Don't return iter(self.file), but yield from it to avoid closing - # file as long as it's being used as iterator, see issue #23000. - # XXX Also don't use "yield from"! + # file as long as it's being used as iterator (see issue #23700). We + # can't use 'yield from' here because iter(file) returns the file + # object itself, which has a close method, and thus the file would get + # closed when the generator is finalized, due to PEP380 semantics. for line in self.file: yield line