Phillip J. Eby wrote: > As I said above (and in > the PEP), *all* before and after methods are always called, unless an > exception is raised somewhere along the way.
> "Before" methods are invoked most-specific method first, with > ambiguous methods being executed in the order they were added. All > "before" methods are called before any of the function's "primary" > methods (i.e. normal [EMAIL PROTECTED] methods) are executed. Well, it wasn't clear to me at all from the PEP that this is how it works. The above paragraph doesn't say anything about @around methods, for example, and it's not obvious whether they should be considered "normal" or "primary". >> For that matter, what if there is simply another >> decorator @Foo that is defined to always_override >> @Around? The precedence between that and your >> @Debug decorator then appears to be undefined. > > If so, then you'll get an AmbiguousMethods error (either when defining > the function or calling it) and thus be informed that you need another > override declaration. I can see a problem with this. If Library1 defines a method that always overrides an @around method, and Library2 does the same thing, then if I try to use both libraries at the same time, I'll get an exception that I don't know the cause of and don't have any idea how to fix. -- 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