

def test_typedef_more_complex():
    ffi = FFI(backend=FakeBackend())
    ffi.cdef('\n        typedef struct { int a, b; } foo_t, *foo_p;\n        int foo(foo_p[]);\n        ')
    C = ffi.dlopen(None)
    assert (str(ffi.typeof('foo_t')) == '<int>a, <int>b')
    assert (str(C.typeof('foo_p')) == '<pointer to <int>a, <int>b>')
    assert (C.foo.BType == '<func (<pointer to <pointer to <int>a, <int>b>>), <int>, False>')

dataset/ETHPy150Open johncsnyder/SwiftKitten/cffi/testing/cffi0/test_parsing.py test_typedef_more_complex/VarMisuse@55/121 `ffi`->`C`