Open
Description
We currently create fake TypeInfo
s to store TypedDict
s. This used to cause various issues, in particular, currently the type of a TypedDict "class object" in runtime context is () -> SomeTypedDict
, where the return type is an instance of the fake TypeInfo
.
We can probably fix latter by just constructing a reasonable type, but a more global solution would be to get rid of the fake TypeInfo
entirely. It is not needed for anything and just complicates things. We will need to put some symbol node in the symbol table, so we would need a new SymbolNode
subclass (or reuse TypeAlias
, so a TypedDict definition A = TypedDict('A' {'x': int, 'y': int})
will be very similar to A = Dict[str, int]
).