Possible bug: classes using meta classes not being detected as issubclass(class, metaclass)

So I have the following code:

class TableMeta(type):
    def __init__(cls, name, bases, clsdict):
        :type cls: Table
        :type name: str
        :type bases: tuple(type)
        :type clsdict: dict
        super(TableMeta, cls).__init__(name, bases, clsdict)  # !!! Error here

class Table(object):
    __metaclass__ = TableMeta

As indicated by "!!! error here", the inspection code will fail to detect that Table is actually subclass of TableMeta.
Note that I'd like to refer to "Table" type because it is a superset and contains more methods than TableMeta itself.

I can fix this by specifying
        :type cls: Table, TableMeta

Is this the intended behaviour?
If so, what am I doing wrong?
If not, what is?

Please sign in to leave a comment.