typing helper: double evaluation of sub properties
there is a bug in the typing helper that causes properties of properties to be evaluated two times.
here is an example:
BLISS [1]: class A:
...: def __init__(self):
...: self.count = 0
...: @property
...: def foo(self):
...: self.count += 1
...: return self.count
...: class B:
...: def __init__(self):
...: self.a=A()
...: @property
...: def bar(self):
...: return self.a
...: b=B()
BLISS [2]: b.bar.foo
Out [2]: 2
return value should be 1 not 2!
this bug was first seen by @pguillou
Edited by Linus Pithan