From #5: we have the machinery in place to track subscripts and unpacking assignments by analysing type hints that are nested tuples or lists of simple types:
class A:
attr: int = 3
def foo() -> List[A]:
pass
def bar() -> Tuple[A, A]:
pass
# example code
a = lib.foo()[0]
a.attr # properly linked
b, c = lib.bar() # b and c linked to A
I'm not sure what to do with other than constant integer subscripts though.
From #5: we have the machinery in place to track subscripts and unpacking assignments by analysing type hints that are nested tuples or lists of simple types:
I'm not sure what to do with other than constant integer subscripts though.