mzsk / tinypy

Automatically exported from code.google.com/p/tinypy
Other
0 stars 0 forks source link

__call__ method cannot be defined for objects #54

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

1. Create a class with a __call__(self) method
2. Instantiate it
3. Attempt to call the instance

class Test:
    def __call__(self):
        print("hello world")

instance = Test()
instance()

What is the expected output? What do you see instead?

This code is expected to print "hello world", but it produces nothing. If you 
were to add the line instance2 = instance() and then query the value of 
instance2, you would see that instance2 is another Test object. Tinypy is not 
calling the __call__ method of the instance, but actually calling the __call__ 
method of the CLASS, ( i.e. Test() )

Original issue reported on code.google.com by RCopperw...@gmail.com on 16 Dec 2012 at 10:55