As Guido says
diff --git a/Lib/tempfile.py b/Lib/tempfile.py
index 11a4c60..df1317d 100644
--- a/Lib/tempfile.py
+++ b/Lib/tempfile.py
@@ -394,9 +394,9 @@
         self.file.__enter__()
         return self
 
-    # XXX iter() doesn't use __getattr__ to find the __iter__ method
+    # iter() doesn't use __getattr__ to find the __iter__ method
     def __iter__(self):
-        return self.__getattr__('__iter__')()
+        return iter(self.file)
 
     # NT provides delete-on-close as a primitive, so we don't need
     # the wrapper to do anything special.  We still use it so that