Commit f1f5c32
committed
Split
Types that contain a reference can be confusing when lifetime elision
occurs:
```rust
// Confusing
fn foo(_: &u8) -> Bar { todo!() }
// Less confusing
fn foo(_: &u8) -> Bar<'_> { todo!() }
```
However, the previous lint did not distinguish when these types were
not "tying" lifetimes across the function inputs / outputs:
```rust
// Maybe a little confusing
fn foo(_: Bar) {}
// More explicit but noisier with less obvious value
fn foo(_: Bar<'_>) {}
```
We now report different lints for each case, hopefully paving the way
to marking the first case (when lifetimes are tied together) as
warn-by-default.elided_lifetime_in_paths into tied and untied1 parent f914d68 commit f1f5c32
File tree
11 files changed
+551
-28
lines changed- compiler
- rustc_lint_defs/src
- rustc_lint/src
- rustc_resolve/src
- src/tools/lint-docs/src
- tests/ui
- lifetimes
- lint
- force-warn
11 files changed
+551
-28
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
306 | | - | |
| 306 | + | |
| 307 | + | |
307 | 308 | | |
308 | 309 | | |
309 | 310 | | |
| |||
313 | 314 | | |
314 | 315 | | |
315 | 316 | | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
316 | 323 | | |
317 | 324 | | |
318 | 325 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
| 44 | + | |
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
| |||
1701 | 1702 | | |
1702 | 1703 | | |
1703 | 1704 | | |
1704 | | - | |
1705 | | - | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
1706 | 1708 | | |
1707 | 1709 | | |
1708 | 1710 | | |
| |||
1713 | 1715 | | |
1714 | 1716 | | |
1715 | 1717 | | |
1716 | | - | |
| 1718 | + | |
| 1719 | + | |
1717 | 1720 | | |
1718 | 1721 | | |
1719 | 1722 | | |
| |||
1730 | 1733 | | |
1731 | 1734 | | |
1732 | 1735 | | |
1733 | | - | |
| 1736 | + | |
1734 | 1737 | | |
1735 | 1738 | | |
1736 | 1739 | | |
1737 | 1740 | | |
1738 | 1741 | | |
| 1742 | + | |
| 1743 | + | |
| 1744 | + | |
| 1745 | + | |
| 1746 | + | |
| 1747 | + | |
| 1748 | + | |
| 1749 | + | |
| 1750 | + | |
| 1751 | + | |
| 1752 | + | |
| 1753 | + | |
| 1754 | + | |
| 1755 | + | |
| 1756 | + | |
| 1757 | + | |
| 1758 | + | |
| 1759 | + | |
| 1760 | + | |
| 1761 | + | |
| 1762 | + | |
| 1763 | + | |
| 1764 | + | |
| 1765 | + | |
| 1766 | + | |
| 1767 | + | |
| 1768 | + | |
| 1769 | + | |
| 1770 | + | |
| 1771 | + | |
| 1772 | + | |
| 1773 | + | |
| 1774 | + | |
| 1775 | + | |
| 1776 | + | |
| 1777 | + | |
| 1778 | + | |
| 1779 | + | |
| 1780 | + | |
1739 | 1781 | | |
1740 | 1782 | | |
1741 | 1783 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
646 | 646 | | |
647 | 647 | | |
648 | 648 | | |
649 | | - | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
650 | 665 | | |
651 | 666 | | |
652 | 667 | | |
| |||
694 | 709 | | |
695 | 710 | | |
696 | 711 | | |
697 | | - | |
| 712 | + | |
698 | 713 | | |
699 | 714 | | |
700 | 715 | | |
| |||
1745 | 1760 | | |
1746 | 1761 | | |
1747 | 1762 | | |
| 1763 | + | |
| 1764 | + | |
1748 | 1765 | | |
1749 | 1766 | | |
1750 | 1767 | | |
| |||
1957 | 1974 | | |
1958 | 1975 | | |
1959 | 1976 | | |
1960 | | - | |
1961 | | - | |
1962 | | - | |
1963 | | - | |
1964 | | - | |
1965 | | - | |
1966 | | - | |
| 1977 | + | |
| 1978 | + | |
| 1979 | + | |
1967 | 1980 | | |
1968 | | - | |
1969 | | - | |
| 1981 | + | |
| 1982 | + | |
| 1983 | + | |
| 1984 | + | |
| 1985 | + | |
| 1986 | + | |
| 1987 | + | |
| 1988 | + | |
1970 | 1989 | | |
1971 | 1990 | | |
1972 | 1991 | | |
| |||
2028 | 2047 | | |
2029 | 2048 | | |
2030 | 2049 | | |
2031 | | - | |
2032 | | - | |
2033 | | - | |
2034 | | - | |
| 2050 | + | |
| 2051 | + | |
| 2052 | + | |
| 2053 | + | |
| 2054 | + | |
| 2055 | + | |
| 2056 | + | |
| 2057 | + | |
| 2058 | + | |
| 2059 | + | |
| 2060 | + | |
| 2061 | + | |
| 2062 | + | |
| 2063 | + | |
| 2064 | + | |
| 2065 | + | |
| 2066 | + | |
| 2067 | + | |
| 2068 | + | |
| 2069 | + | |
| 2070 | + | |
| 2071 | + | |
| 2072 | + | |
2035 | 2073 | | |
2036 | 2074 | | |
2037 | 2075 | | |
2038 | 2076 | | |
2039 | | - | |
2040 | | - | |
| 2077 | + | |
| 2078 | + | |
| 2079 | + | |
| 2080 | + | |
| 2081 | + | |
| 2082 | + | |
| 2083 | + | |
| 2084 | + | |
| 2085 | + | |
| 2086 | + | |
| 2087 | + | |
| 2088 | + | |
| 2089 | + | |
| 2090 | + | |
| 2091 | + | |
| 2092 | + | |
| 2093 | + | |
| 2094 | + | |
| 2095 | + | |
| 2096 | + | |
| 2097 | + | |
| 2098 | + | |
| 2099 | + | |
| 2100 | + | |
| 2101 | + | |
| 2102 | + | |
| 2103 | + | |
| 2104 | + | |
| 2105 | + | |
| 2106 | + | |
| 2107 | + | |
| 2108 | + | |
| 2109 | + | |
| 2110 | + | |
| 2111 | + | |
| 2112 | + | |
| 2113 | + | |
| 2114 | + | |
| 2115 | + | |
| 2116 | + | |
| 2117 | + | |
| 2118 | + | |
2041 | 2119 | | |
2042 | | - | |
2043 | | - | |
| 2120 | + | |
2044 | 2121 | | |
2045 | 2122 | | |
2046 | | - | |
| 2123 | + | |
2047 | 2124 | | |
2048 | 2125 | | |
2049 | 2126 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
0 commit comments