Commit 8722f77
Treat method calls on builtin literals as side-effect-free
Summary:
A method call whose receiver is a freshly-constructed builtin literal, e.g.
`[].append(x)`, operates on a value with no external aliasing, so it cannot
have an import-time side effect.
Rather than try to infer the type and find the corresponding builtin method, we
just return early. (Without this fix we would get a false positive
`unknown-method`).
Reviewed By: brittanyrey
Differential Revision: D108094683
fbshipit-source-id: b7cb0f7a9123bfb8ae6f403e6a87fa3e2e6c0a5e1 parent 24abd90 commit 8722f77
2 files changed
Lines changed: 54 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
140 | 159 | | |
141 | 160 | | |
142 | 161 | | |
| |||
319 | 338 | | |
320 | 339 | | |
321 | 340 | | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
322 | 348 | | |
323 | 349 | | |
324 | 350 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
175 | 175 | | |
176 | 176 | | |
177 | 177 | | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
178 | 206 | | |
179 | 207 | | |
180 | 208 | | |
| |||
0 commit comments