Closed erictraut closed 3 days ago
A work around would be something like this
from typing import DefaultDict
from collections import defaultdict
class MyClass:
pass
d: DefaultDict[int, DefaultDict[int, MyClass]] = defaultdict(lambda: defaultdict(MyClass))
d[1][2] = MyClass()
Test for it could be
d: DefaultDict[int, DefaultDict[int, MyClass]] = defaultdict(lambda: defaultdict(MyClass))
def func(a: DefaultDict[int, DefaultDict[int, MyClass]]):
reveal_type(a) # pyright should now reveal Runtime type is 'defaultdict'
func(d)
This is addressed in pyright 1.1.380.
Discussed in https://github.com/microsoft/pyright/discussions/8839