Nick Coghlan wrote: > - is it intended to typically be a static method or a class method of > the metaclass? (as it will be called before __new__, an instance method > of the metaclass wouldn't make sense)
Looks like it will have to be either a staticmethod or classmethod, or else you'll have to give your metaclass a metametaclass and make it an instance method of that. Maybe this is another case for an implicitly-static method, a la __new__? > - is the metaclass passed in to the namespace creation function as a > normal keyword argument, or is it automatically removed by the > interpreter? I would hope it's removed. > If the > meta keyword is stripped (or only provided when passed in explicitly), > then a class method is needed in order to reliably get at the metaclass > itself. Or the keyword is stripped and the metaclass is passed as the first argument, i.e. __prepare__(metaclass, name, bases, **kwargs_without_metaclass) I don't like the idea of requiring the use of classmethod(), since as far as I can tell it's badly broken when it comes to making inherited method calls -- unless there's some technique I don't know about it? -- Greg _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com