<html><body>On 10:22 pm, guido@python.org wrote:<br />&gt;On 2/27/07, glyph@divmod.com &lt;glyph@divmod.com&gt; wrote:<br />&gt;&gt;2to3 should take great care _tell_ you when it fails. &#160;One concern I have <br />&gt;&gt;is that the source translation may subtly alter the *semantics* of unit <br />&gt;&gt;test code, so that the tests are no longer effective and do not provide <br />&gt;&gt;adequate coverage.<br /><br />&gt;Actually, this did happen with the iterkeys -&gt; keys translation. A few<br />&gt;unittests were reduced to pure nonsense by this. Most of those failed,<br />&gt;but it was definitely a hassle finding out what went wrong (in part<br />&gt;because I was too greedy and checked in a bunch of converted code<br />&gt;without any review at all). Lesson learned I would say. Fortunately,<br />&gt;this is a case where 2.6's Py3k warning mode should compensate.<br /><br />Was this due to a bug that can be fixed, or an inherent problem?<br /><br />I could imagine, thanks to Python's dynamism, there would be edge cases that are impossible to detect completely reliably. &#160;If that's the case it would be good to at least have pedantic warnings from 2to3 alerting the user to places where translation could possibly be doing something semantically dodgy.<br /><br />Ideally before jumping the chasm with Twisted I'd like to make sure that all of that sort of warning was gone, in _addition_ to a clean test run.<br /><br />&gt;&gt;Also, the limitations of 2to3 should be very well documented, so that when <br />&gt;&gt;it does tell you how it has failed, it's clear to the developer what <br />&gt;&gt;changes to make to the *2.6 source* to cause it to translate correctly, not <br />&gt;&gt;how to fix up the translated 3.0 code.<br />&gt;<br />&gt;I'm hoping Collin will continue his excellent work on 2to3. Hopefully<br />&gt;he'll get help from others in writing docs aimed at teaching the<br />&gt;c.l.py crowd how to use it and what to expect.<br /><br />I'm sure he'll hear from me if anything goes wrong with it :).<br /><br />&gt;&gt;Thanks *very* much to all the python core developers and community members <br />&gt;&gt;who have been working to make this happen, especially to Neal, Thomas, and <br />&gt;&gt;Guido for listening intently to all of our concerns at PyCon.<br />&gt;<br />&gt;You're welcome. I believe I even got a beer out of it. ;-)<br /><br />Well deserved!<br /></body></html>