Tres Seaver wrote at 2008-5-22 10:45 -0400: >> ... >> The fact is that right now, today, we still have code that relies on Z2 >> interfaces. Not just in third party products - current Zope2 releases >> rely on Z2 interfaces in some places as well. > >Only by oversight, not by design (the only one I know of is the >IStreamIterator bit in ZPublisher / ZServer).
"Products.PlugcinIndexes.common.UnIndex.UnIndex" still uses both "__implements__" and "implements". True, the Zope2 interfaces are defined from the Zope3 ones via a magical "Interface.bridge.createZope3Bridge". >> Some of that code has no >> Z3 alternative either. I find it very hard to believe that you want to >> silently break all that code. Whatever happened to our N+2 deprecation >> policy. > >What I want is to stop the "n*m" + 2 policy, where m is the number of >layers in the stack. I would much prefer that everything using Zope2 >interfaces breaks *noisily*, which is why I ripped the Interface module >out of the Zope2 trunk, and why the "old" names are no longer present in >the CMF trunk. Formerly, both you and me, have been strong advocates for backward compatibility. What happened that you now want to break things drastically? >Zope 2.8 shipped with Five in the core *three years ago*: from that >moment, the Zope2 interfaces were complete dead ends. Precisely this Five version suggests to use "__implements__" and "implements" together... -- Dieter _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )