1cdef class Parrot:
2    cdef object name
3    cdef int alive
4
5cdef class Norwegian(Parrot):
6    cdef object plumage_colour
7
8def create():
9    cdef Parrot p
10    p = Norwegian()
11    p.alive = 1
12    return p
13
14def rest(Norwegian polly):
15    """
16    >>> p = create()
17    >>> rest(p)
18    0
19    """
20    cdef Parrot fred
21    cdef object spam
22    spam = None
23
24    fred = polly
25    polly = fred
26    polly = spam
27    assert polly is None
28    assert fred.alive
29
30    spam = polly
31    fred.alive = 0
32
33    return fred.alive
34