
Aug. 10, 2004
5 a.m.
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 test_order(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