Commit ef56409
[ty] support del statement and deletion of except handler names (astral-sh#18593)
## Summary
This PR closes astral-sh/ty#238.
Since `DefinitionState::Deleted` was introduced in astral-sh#18041, support for
the `del` statement (and deletion of except handler names) is
straightforward.
However, it is difficult to determine whether references to attributes
or subscripts are unresolved after they are deleted. This PR only
invalidates narrowing by assignment if the attribute or subscript is
deleted.
## Test Plan
`mdtest/del.md` is added.
---------
Co-authored-by: Alex Waygood <[email protected]>1 parent 96171f4 commit ef56409
File tree
4 files changed
+193
-7
lines changed- crates/ty_python_semantic
- resources/mdtest
- exception
- src
- semantic_index
- types
4 files changed
+193
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
Lines changed: 38 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
240 | 240 | | |
241 | 241 | | |
242 | 242 | | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
449 | 449 | | |
450 | 450 | | |
451 | 451 | | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
452 | 458 | | |
453 | 459 | | |
454 | 460 | | |
| |||
1817 | 1823 | | |
1818 | 1824 | | |
1819 | 1825 | | |
1820 | | - | |
| 1826 | + | |
1821 | 1827 | | |
1822 | 1828 | | |
1823 | 1829 | | |
| |||
1827 | 1833 | | |
1828 | 1834 | | |
1829 | 1835 | | |
1830 | | - | |
| 1836 | + | |
| 1837 | + | |
| 1838 | + | |
| 1839 | + | |
1831 | 1840 | | |
1832 | 1841 | | |
| 1842 | + | |
| 1843 | + | |
| 1844 | + | |
| 1845 | + | |
1833 | 1846 | | |
1834 | 1847 | | |
1835 | 1848 | | |
| |||
1903 | 1916 | | |
1904 | 1917 | | |
1905 | 1918 | | |
| 1919 | + | |
| 1920 | + | |
1906 | 1921 | | |
1907 | 1922 | | |
1908 | 1923 | | |
1909 | 1924 | | |
| 1925 | + | |
1910 | 1926 | | |
1911 | 1927 | | |
1912 | | - | |
1913 | 1928 | | |
1914 | 1929 | | |
1915 | 1930 | | |
| |||
1956 | 1971 | | |
1957 | 1972 | | |
1958 | 1973 | | |
1959 | | - | |
| 1974 | + | |
1960 | 1975 | | |
1961 | 1976 | | |
1962 | 1977 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6145 | 6145 | | |
6146 | 6146 | | |
6147 | 6147 | | |
6148 | | - | |
| 6148 | + | |
| 6149 | + | |
| 6150 | + | |
| 6151 | + | |
| 6152 | + | |
6149 | 6153 | | |
6150 | 6154 | | |
6151 | 6155 | | |
| |||
6254 | 6258 | | |
6255 | 6259 | | |
6256 | 6260 | | |
6257 | | - | |
| 6261 | + | |
6258 | 6262 | | |
6259 | 6263 | | |
6260 | 6264 | | |
| 6265 | + | |
| 6266 | + | |
| 6267 | + | |
| 6268 | + | |
6261 | 6269 | | |
6262 | 6270 | | |
6263 | 6271 | | |
| |||
7646 | 7654 | | |
7647 | 7655 | | |
7648 | 7656 | | |
7649 | | - | |
| 7657 | + | |
7650 | 7658 | | |
7651 | 7659 | | |
7652 | 7660 | | |
7653 | 7661 | | |
7654 | 7662 | | |
| 7663 | + | |
| 7664 | + | |
| 7665 | + | |
| 7666 | + | |
7655 | 7667 | | |
7656 | 7668 | | |
7657 | 7669 | | |
| |||
0 commit comments