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))