@@ -71,6 +71,87 @@ takes_formatter({"format": "%(message)s"})
7171takes_formatter({" factory" : object (), " facility" : " local0" })
7272```
7373
74+ Large ` dict[str, TypedDict] ` literals should still preserve inner ` TypedDict ` keys after crossing
75+ the large-collection promotion threshold:
76+
77+ ``` py
78+ from typing import TypedDict
79+
80+ class Entry (TypedDict ):
81+ a: str
82+ b: bool
83+
84+ entries: dict[str , Entry] = {
85+ " k0" : {" a" : " v" , " b" : False },
86+ " k1" : {" a" : " v" , " b" : False },
87+ " k2" : {" a" : " v" , " b" : False },
88+ " k3" : {" a" : " v" , " b" : False },
89+ " k4" : {" a" : " v" , " b" : False },
90+ " k5" : {" a" : " v" , " b" : False },
91+ " k6" : {" a" : " v" , " b" : False },
92+ " k7" : {" a" : " v" , " b" : False },
93+ " k8" : {" a" : " v" , " b" : False },
94+ " k9" : {" a" : " v" , " b" : False },
95+ " k10" : {" a" : " v" , " b" : False },
96+ " k11" : {" a" : " v" , " b" : False },
97+ " k12" : {" a" : " v" , " b" : False },
98+ " k13" : {" a" : " v" , " b" : False },
99+ " k14" : {" a" : " v" , " b" : False },
100+ " k15" : {" a" : " v" , " b" : False },
101+ " k16" : {" a" : " v" , " b" : False },
102+ " k17" : {" a" : " v" , " b" : False },
103+ " k18" : {" a" : " v" , " b" : False },
104+ " k19" : {" a" : " v" , " b" : False },
105+ " k20" : {" a" : " v" , " b" : False },
106+ " k21" : {" a" : " v" , " b" : False },
107+ " k22" : {" a" : " v" , " b" : False },
108+ " k23" : {" a" : " v" , " b" : False },
109+ " k24" : {" a" : " v" , " b" : False },
110+ " k25" : {" a" : " v" , " b" : False },
111+ " k26" : {" a" : " v" , " b" : False },
112+ " k27" : {" a" : " v" , " b" : False },
113+ " k28" : {" a" : " v" , " b" : False },
114+ " k29" : {" a" : " v" , " b" : False },
115+ " k30" : {" a" : " v" , " b" : False },
116+ " k31" : {" a" : " v" , " b" : False },
117+ " k32" : {" a" : " v" , " b" : False },
118+ " k33" : {" a" : " v" , " b" : False },
119+ " k34" : {" a" : " v" , " b" : False },
120+ " k35" : {" a" : " v" , " b" : False },
121+ " k36" : {" a" : " v" , " b" : False },
122+ " k37" : {" a" : " v" , " b" : False },
123+ " k38" : {" a" : " v" , " b" : False },
124+ " k39" : {" a" : " v" , " b" : False },
125+ " k40" : {" a" : " v" , " b" : False },
126+ " k41" : {" a" : " v" , " b" : False },
127+ " k42" : {" a" : " v" , " b" : False },
128+ " k43" : {" a" : " v" , " b" : False },
129+ " k44" : {" a" : " v" , " b" : False },
130+ " k45" : {" a" : " v" , " b" : False },
131+ " k46" : {" a" : " v" , " b" : False },
132+ " k47" : {" a" : " v" , " b" : False },
133+ " k48" : {" a" : " v" , " b" : False },
134+ " k49" : {" a" : " v" , " b" : False },
135+ " k50" : {" a" : " v" , " b" : False },
136+ " k51" : {" a" : " v" , " b" : False },
137+ " k52" : {" a" : " v" , " b" : False },
138+ " k53" : {" a" : " v" , " b" : False },
139+ " k54" : {" a" : " v" , " b" : False },
140+ " k55" : {" a" : " v" , " b" : False },
141+ " k56" : {" a" : " v" , " b" : False },
142+ " k57" : {" a" : " v" , " b" : False },
143+ " k58" : {" a" : " v" , " b" : False },
144+ " k59" : {" a" : " v" , " b" : False },
145+ " k60" : {" a" : " v" , " b" : False },
146+ " k61" : {" a" : " v" , " b" : False },
147+ " k62" : {" a" : " v" , " b" : False },
148+ " k63" : {" a" : " v" , " b" : False },
149+ " k64" : {" a" : " v" , " b" : False },
150+ }
151+
152+ reveal_type(entries[" k0" ]) # revealed: Entry
153+ ```
154+
74155Methods that are available on ` dict ` s are also available on ` TypedDict ` s:
75156
76157``` py
0 commit comments