Lichen

tests/nested_mixed_names.py

225:dfbc750d3fce
2016-11-23 Paul Boddie Produce a proper error when too many arguments are given for an invocation.
     1 class C:     2     def c(self):     3         return 1     4      5 class D:     6     def d(self):     7         return 3     8      9 a = 4    10     11 def f(x):    12     x.c()    13     def g(y, x=x): # x must be introduced as default here    14         if y:    15             x = D()    16         return x.d(), y, a # UnboundLocalError in Python (if y is a false value)    17     return g    18     19 result = f(C())(2)    20 print result[0]    21 print result[1]    22 print result[2]    23 assert result == (3, 2, 4)