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 | } |