1 2cimport cython 3 4@cython.final 5cdef class FinalClass: 6 """ 7 >>> f = FinalClass() 8 >>> test_final_class(f) 9 Type tested 10 11 >>> try: 12 ... class SubType(FinalClass): pass 13 ... except TypeError: 14 ... print('PASSED!') 15 PASSED! 16 """ 17 18cdef class NonFinalClass: 19 """ 20 >>> class SubType(NonFinalClass): pass 21 >>> s = SubType() 22 """ 23 24@cython.final 25cdef class FinalSubClass(NonFinalClass): 26 """ 27 >>> f = FinalSubClass() 28 >>> test_non_final_class(f) 29 Type tested 30 31 >>> try: 32 ... class SubType(FinalSubClass): pass 33 ... except TypeError: 34 ... print('PASSED!') 35 PASSED! 36 """ 37 38 39def test_final_class(FinalClass c): 40 print u"Type tested" 41 42def test_non_final_class(NonFinalClass c): 43 print u"Type tested" 44