Commit 73feddb
authored
Rollup merge of rust-lang#59138 - timvermeulen:simplify_select_fold1, r=sfackler
Simplify Iterator::{min, max}
This PR simplifies the `select_fold1` helper method used to implmement `Iterator::{min, min_by, min_by_key, max, max_by, max_by_key}` by removing the projection argument, which was only used by the implementations of `min_by_key` and `max_by_key`.
I also added tests to ensure that the stability as mentioned in the comments of `min` and `max` is preserved, and fixed the `iter::{bench_max, bench_max_by_key}` benchmarks which the compiler presumably was able to collapse into closed-form expressions. None of the benchmark results were impacted, I suspect their generated assembly didn't change.File tree
3 files changed
+49
-58
lines changed- src/libcore
- benches
- iter/traits
- tests
3 files changed
+49
-58
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
| 38 | + | |
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
| 59 | + | |
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2008 | 2008 | | |
2009 | 2009 | | |
2010 | 2010 | | |
2011 | | - | |
2012 | | - | |
2013 | | - | |
2014 | | - | |
2015 | | - | |
2016 | | - | |
| 2011 | + | |
2017 | 2012 | | |
2018 | 2013 | | |
2019 | 2014 | | |
| |||
2038 | 2033 | | |
2039 | 2034 | | |
2040 | 2035 | | |
2041 | | - | |
2042 | | - | |
2043 | | - | |
2044 | | - | |
2045 | | - | |
2046 | | - | |
| 2036 | + | |
2047 | 2037 | | |
2048 | 2038 | | |
2049 | 2039 | | |
| |||
2062 | 2052 | | |
2063 | 2053 | | |
2064 | 2054 | | |
2065 | | - | |
| 2055 | + | |
2066 | 2056 | | |
2067 | 2057 | | |
2068 | | - | |
2069 | | - | |
2070 | | - | |
2071 | | - | |
2072 | | - | |
2073 | | - | |
| 2058 | + | |
| 2059 | + | |
2074 | 2060 | | |
2075 | 2061 | | |
2076 | 2062 | | |
| |||
2092 | 2078 | | |
2093 | 2079 | | |
2094 | 2080 | | |
2095 | | - | |
2096 | | - | |
2097 | | - | |
2098 | | - | |
2099 | | - | |
2100 | | - | |
| 2081 | + | |
| 2082 | + | |
2101 | 2083 | | |
2102 | 2084 | | |
2103 | 2085 | | |
| |||
2115 | 2097 | | |
2116 | 2098 | | |
2117 | 2099 | | |
2118 | | - | |
| 2100 | + | |
2119 | 2101 | | |
2120 | 2102 | | |
2121 | | - | |
2122 | | - | |
2123 | | - | |
2124 | | - | |
2125 | | - | |
2126 | | - | |
| 2103 | + | |
| 2104 | + | |
2127 | 2105 | | |
2128 | 2106 | | |
2129 | 2107 | | |
| |||
2145 | 2123 | | |
2146 | 2124 | | |
2147 | 2125 | | |
2148 | | - | |
2149 | | - | |
2150 | | - | |
2151 | | - | |
2152 | | - | |
2153 | | - | |
| 2126 | + | |
| 2127 | + | |
2154 | 2128 | | |
2155 | 2129 | | |
2156 | 2130 | | |
| |||
2693 | 2667 | | |
2694 | 2668 | | |
2695 | 2669 | | |
2696 | | - | |
2697 | | - | |
| 2670 | + | |
| 2671 | + | |
2698 | 2672 | | |
2699 | 2673 | | |
2700 | 2674 | | |
2701 | 2675 | | |
2702 | 2676 | | |
2703 | | - | |
2704 | | - | |
2705 | | - | |
2706 | | - | |
2707 | | - | |
2708 | | - | |
| 2677 | + | |
| 2678 | + | |
| 2679 | + | |
| 2680 | + | |
2709 | 2681 | | |
2710 | 2682 | | |
2711 | 2683 | | |
2712 | 2684 | | |
2713 | 2685 | | |
2714 | | - | |
2715 | | - | |
2716 | | - | |
2717 | | - | |
2718 | | - | |
2719 | | - | |
2720 | | - | |
2721 | | - | |
2722 | | - | |
2723 | | - | |
| 2686 | + | |
2724 | 2687 | | |
2725 | 2688 | | |
2726 | 2689 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1082 | 1082 | | |
1083 | 1083 | | |
1084 | 1084 | | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
1085 | 1111 | | |
1086 | 1112 | | |
1087 | 1113 | | |
1088 | 1114 | | |
1089 | 1115 | | |
1090 | 1116 | | |
| 1117 | + | |
1091 | 1118 | | |
1092 | 1119 | | |
1093 | 1120 | | |
| |||
1096 | 1123 | | |
1097 | 1124 | | |
1098 | 1125 | | |
| 1126 | + | |
1099 | 1127 | | |
1100 | 1128 | | |
1101 | 1129 | | |
| |||
0 commit comments