[Python-Dev] Decorator order implemented backwards? (original) (raw)
Anthony Baxter anthony at interlink.com.au
Tue Aug 10 07:00:27 CEST 2004
- Previous message: [Python-Dev] Decorator order implemented backwards?
- Next message: [Python-Dev] Decorator order implemented backwards?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
James Y Knight wrote:
I haven't seen anyone remark upon this yet, but the order of decorator application appears to be implemented backwards.
def testorder(self): class C(object): @funcattrs(abc=1) @staticmethod def foo(): return 42 # This wouldn't work if staticmethod was called first self.assertEqual(C.foo(), 42) self.assertEqual(C().foo(), 42)
How odd. I'm positive at one point I tested this and it was the right way round.
def dec1(x): ... print "dec1" ... return x ... def dec2(x): ... print "dec2" ... return x ...
@dec1 ... @dec2 ... def foo(): pass ... dec1 dec2
This is definitely wrong. Wrong wrong wrong.
Anthony
- Previous message: [Python-Dev] Decorator order implemented backwards?
- Next message: [Python-Dev] Decorator order implemented backwards?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]