cython

Форк
0
/
exttype_gc.pyx 
61 строка · 1.3 Кб
1
# mode: run
2
# tag: gc
3

4

5
def create_obj(cls):
6
    cls()  # create and discard
7

8

9
cdef class BaseTypeNoGC:
10
    pass
11

12

13
cdef class ExtTypeGC(BaseTypeNoGC):
14
    """
15
    >>> create_obj(ExtTypeGC)
16
    >>> create_obj(ExtTypeGC)
17
    >>> create_obj(ExtTypeGC)
18

19
    >>> class PyExtTypeGC(ExtTypeGC): pass
20
    >>> create_obj(PyExtTypeGC)
21
    >>> create_obj(PyExtTypeGC)
22
    >>> create_obj(PyExtTypeGC)
23
    """
24
    cdef object attr
25

26

27
cdef class ExtTypeNoGC(BaseTypeNoGC):
28
    """
29
    >>> create_obj(ExtTypeNoGC)
30
    >>> create_obj(ExtTypeNoGC)
31
    >>> create_obj(ExtTypeNoGC)
32

33
    >>> class PyExtTypeNoGC(ExtTypeNoGC): pass
34
    >>> create_obj(PyExtTypeNoGC)
35
    >>> create_obj(PyExtTypeNoGC)
36
    >>> create_obj(PyExtTypeNoGC)
37
    """
38
    cdef int x
39

40

41
cdef extern from "Python.h":
42
    ctypedef extern class builtins.Exception[object PyBaseExceptionObject]:
43
        pass
44

45

46
cdef class Error(Exception):
47
    pass
48

49

50
cdef class GeneratedError(Error):
51
    """
52
    >>> create_obj(GeneratedError)                
53
    >>> create_obj(GeneratedError)                
54
    >>> create_obj(GeneratedError)                
55
                                               
56
    >>> class PyGeneratedError(GeneratedError): pass 
57
    >>> create_obj(PyGeneratedError)              
58
    >>> create_obj(PyGeneratedError)              
59
    >>> create_obj(PyGeneratedError)              
60
    """
61
    cdef object attr
62

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.