def get_c_declare(r, name, sub):
    # The declaration will be used by the Apply node that
    # is computing it (`r.owner`), and by each of the clients.
    # If some of these have `check_input=True` in their `.op`,
    # it means they need `r`'s dtype to be declared, so
    # we have to pass `check_input=True` to `c_declare`.
    if ((any([getattr(c.op, 'check_input', config.check_input)
              for (c, _) in r.clients
              if not isinstance(c, string_types)]) or
         (r.owner and
          getattr(r.owner.op, 'check_input', config.check_input)))):
        c_declare = r.type.c_declare(name, sub, True)
    else:
        c_declare = r.type.c_declare(name, sub, False)
    pre = """
    PyObject* py_%(name)s;
    """ % locals()
    return pre + c_declare
:reference: https://dev.twitter.com/rest/reference/get/users/suggestions
dataset/ETHPy150Open rizar/attention-lvcsr/libs/Theano/theano/gof/cc.py/get_c_declare--crossover with--dataset/ETHPy150Open tweepy/tweepy/tweepy/api.py/API.suggested_categories