Fix unintended regression for Freeze + Copy types · model-checking/verify-rust-std@78eaad5 (original) (raw)
File tree
1 file changed
lines changed
- core/src/slice/sort/shared
1 file changed
lines changed
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -146,7 +146,9 @@ impl<T: FreezeMarker + CopyMarker> UnstableSmallSortFreezeTypeImpl for T { | ||
146 | 146 | if has_efficient_in_place_swap::<T>() |
147 | 147 | && (mem::size_of::<T>() * SMALL_SORT_NETWORK_SCRATCH_LEN) <= MAX_STACK_ARRAY_SIZE |
148 | 148 | { |
149 | -SMALL_SORT_NETWORK_SCRATCH_LEN | |
149 | +SMALL_SORT_NETWORK_THRESHOLD | |
150 | +} else if (mem::size_of::<T>() * SMALL_SORT_GENERAL_SCRATCH_LEN) <= MAX_STACK_ARRAY_SIZE { | |
151 | +SMALL_SORT_GENERAL_THRESHOLD | |
150 | 152 | } else { |
151 | 153 | SMALL_SORT_FALLBACK_THRESHOLD |
152 | 154 | } |
@@ -161,6 +163,8 @@ impl<T: FreezeMarker + CopyMarker> UnstableSmallSortFreezeTypeImpl for T { | ||
161 | 163 | && (mem::size_of::<T>() * SMALL_SORT_NETWORK_SCRATCH_LEN) <= MAX_STACK_ARRAY_SIZE |
162 | 164 | { |
163 | 165 | small_sort_network(v, is_less); |
166 | +} else if (mem::size_of::<T>() * SMALL_SORT_GENERAL_SCRATCH_LEN) <= MAX_STACK_ARRAY_SIZE { | |
167 | +small_sort_general(v, is_less); | |
164 | 168 | } else { |
165 | 169 | small_sort_fallback(v, is_less); |
166 | 170 | } |