Nick Coghlan added the comment:
The "used directly as the metaclass" is a reference to
further down, and specifically the "metaclass(name, bases, namespace, **kwds)"
call. It's not saying Python has a way to bypass that instantiation process.
As a result, your code is consistently getting to that step just fine, but
*that call* is throwing an exception.
Hence my comment earlier that there's a case to be made that we should be
better indicating where we were in the type creation process when the metaclass
Python tracker <rep...@bugs.python.org>
Python-bugs-list mailing list