cython
1# mode: run
2# tag: closures
3# ticket: t658
4
5def outer(int x, *args, **kwargs):
6"""
7>>> inner = outer(1, 2, a=3)
8>>> inner()
9(1, (2,), {'a': 3})
10
11>>> inner = outer('abc', 2, a=3)
12Traceback (most recent call last):
13TypeError: an integer is required
14"""
15def inner():
16return x, args, kwargs
17return inner
18