Blame tests/run/closure_names.pyx
|
Packit |
562c7a |
# mode: run
|
|
Packit |
562c7a |
# tag: closures
|
|
Packit |
562c7a |
# ticket: gh-1797
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def func():
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
>>> funcs = func()
|
|
Packit |
562c7a |
>>> [f(1) for f in funcs] # doctest: +NORMALIZE_WHITESPACE
|
|
Packit |
562c7a |
['eq',
|
|
Packit |
562c7a |
'str',
|
|
Packit |
562c7a |
'weakref',
|
|
Packit |
562c7a |
'new',
|
|
Packit |
562c7a |
'getitem',
|
|
Packit |
562c7a |
'setitem',
|
|
Packit |
562c7a |
'delitem',
|
|
Packit |
562c7a |
'getslice',
|
|
Packit |
562c7a |
'setslice',
|
|
Packit |
562c7a |
'delslice_',
|
|
Packit |
562c7a |
'getattr',
|
|
Packit |
562c7a |
'getattribute',
|
|
Packit |
562c7a |
'setattr',
|
|
Packit |
562c7a |
'delattr',
|
|
Packit |
562c7a |
'get',
|
|
Packit |
562c7a |
'set',
|
|
Packit |
562c7a |
'delete',
|
|
Packit |
562c7a |
'dict',
|
|
Packit |
562c7a |
'dealloc',
|
|
Packit |
562c7a |
'cinit']
|
|
Packit |
562c7a |
"""
|
|
Packit |
562c7a |
def __eq__(a):
|
|
Packit |
562c7a |
return 'eq'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __str__(a):
|
|
Packit |
562c7a |
return 'str'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __weakref__(a):
|
|
Packit |
562c7a |
return 'weakref'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __new__(a):
|
|
Packit |
562c7a |
return 'new'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __getitem__(a):
|
|
Packit |
562c7a |
return 'getitem'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __setitem__(a):
|
|
Packit |
562c7a |
return 'setitem'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __delitem__(a):
|
|
Packit |
562c7a |
return 'delitem'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __getslice__(a):
|
|
Packit |
562c7a |
return 'getslice'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __setslice__(a):
|
|
Packit |
562c7a |
return 'setslice'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __delslice__(a):
|
|
Packit |
562c7a |
return 'delslice_'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __getattr__(a):
|
|
Packit |
562c7a |
return 'getattr'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __getattribute__(a):
|
|
Packit |
562c7a |
return 'getattribute'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __setattr__(a):
|
|
Packit |
562c7a |
return 'setattr'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __delattr__(a):
|
|
Packit |
562c7a |
return 'delattr'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __get__(a):
|
|
Packit |
562c7a |
return 'get'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __set__(a):
|
|
Packit |
562c7a |
return 'set'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __delete__(a):
|
|
Packit |
562c7a |
return 'delete'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __dict__(a):
|
|
Packit |
562c7a |
return 'dict'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __dealloc__(a):
|
|
Packit |
562c7a |
return 'dealloc'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def __cinit__(a):
|
|
Packit |
562c7a |
return 'cinit'
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
def list_from_gen(g):
|
|
Packit |
562c7a |
return list(g)
|
|
Packit |
562c7a |
|
|
Packit |
562c7a |
# move into closure by using inside of generator expression
|
|
Packit |
562c7a |
return list_from_gen([
|
|
Packit |
562c7a |
__eq__,
|
|
Packit |
562c7a |
__str__,
|
|
Packit |
562c7a |
__weakref__,
|
|
Packit |
562c7a |
__new__,
|
|
Packit |
562c7a |
__getitem__,
|
|
Packit |
562c7a |
__setitem__,
|
|
Packit |
562c7a |
__delitem__,
|
|
Packit |
562c7a |
__getslice__,
|
|
Packit |
562c7a |
__setslice__,
|
|
Packit |
562c7a |
__delslice__,
|
|
Packit |
562c7a |
__getattr__,
|
|
Packit |
562c7a |
__getattribute__,
|
|
Packit |
562c7a |
__setattr__,
|
|
Packit |
562c7a |
__delattr__,
|
|
Packit |
562c7a |
__get__,
|
|
Packit |
562c7a |
__set__,
|
|
Packit |
562c7a |
__delete__,
|
|
Packit |
562c7a |
__dict__,
|
|
Packit |
562c7a |
__dealloc__,
|
|
Packit |
562c7a |
__cinit__,
|
|
Packit |
562c7a |
][i] for i in range(20))
|