Closed
Description
Currently it always does. There's some small bits of logic to re-order interfaces given at the same time to avoid the more egregious ways it would produce invalid resolution orders, but it doesn't pay attention to inheritance. This makes it easy to produce invalid orders if a sub-class redeclares something implemented by a superclass.
Alternately, what about a new decorator that does that?
See zopefoundation/zope.formlib#31 (comment) for more context.